主要课程:

class circle:

    def __init__(self,radius=1):

        self.radius=radius

    def getArea(self):
        return(3.142*self.radius*self.radius)
    def getPerimeter(self):
        return(2*3.142*self.myradius)
    def setradius(self,radius):
        if radius>0:
            self.__radius=radius
    def getRadius(self):
        return self.__radius

使用课程:

from Circle import circle

def main():


    c1=circle()
    c1.radius=-1
    c2=circle(5)
    c3=circle(3)
    print(c1.getArea())
    print(c2.getArea())
    print(c3.getArea())

main()

大家好!

我只是想学习班级基础知识,但却有些麻烦。 希望你们能帮忙。 提前致谢 :)

  1. 什么是私有变量? 我读到了它,人们说它不能在课外访问。 好! 但是这意味着什么呢?
  2. 私人数据是否与DATA HIDING相同?
  3. 究竟什么是自我? 我也读过这个,但是从以前的python答案中无法理解。 从我认为self在课堂上的每个def语句后写的。

再次感谢! 干杯!

===============>>#1 票数:2 已采纳

私人变量/数据隐藏/名称管理

Python没有只能从对象中访问的私有实例变量。 您无法在Python中强制隐藏数据。 按照惯例,Python代码使用单个下划线来表示不被视为公共的名称,但名称仍可在其对象之外访问。 但是,您正在使用名称修改(带有两个前导下划线)。 名称mangling以下列方式替换标识符:

self.__radius成为self._classname__radius如果classnameclassname的名称。

然而,即使是受损的名字也可以在课堂外进行访问。 由于类名称成为属性名称的一部分,因此损坏的名称只会降低名称冲突的可能性。

self 按惯例是我们用于实例的名称。 所以考虑这个课程:

class Circle(object):
    def get_area(self):
        pass

该类是Circle ,我们可以将Circle的实例分配给这样的变量:

c = Circle()  # an instance

现在,如果我们调用get_area方法,我们可以这样做:

c.get_area()  # note the lack of arguments

这相当于以下内容:

Circle.get_area(c)  # instance c is now passed in as the first argument of `get_area`, which our method calls self

然后, self是作为第一个参数传递给方法的实例。

  ask by Newbie translate from so

未解决问题?本站智能推荐:

1回复

Python:使用staticmethod实现嵌套类的性能问题

检查以下示例使用混合staticmethods实现nested classes工作代码。 用作: 上面的工作,但你可能会注意到A().a1() ,我们试图从容器类A访问非静态方法a1 ,计算成本太高。 我们通过在A初始化中sleep来强调这一点。 所以你明白了,例如,在我们的
1回复

为Python类实现“和”?

我有类似这样的代码: 我可以成功运行过滤测试,例如: 但是当我尝试使用它and它不能按我的意愿工作时: 我怎样才能正常工作?
2回复

Python中的类问题

好的,伙计们,我真的是python(和编程本身)的新手,为我的无知感到抱歉,但是我确实需要问这个。 因此,我正在做一个wxPython项目,在其中我为笔记本添加了几个选项卡(笔记本的每个选项卡=一个类),并且在一个选项卡中添加了复选框(在选项卡中,我们称之为Tab1),以及想要的是,当有人检查
1回复

类的Python问题

我的下等班遇到问题。 我一直得到下面的回溯,但是我不确定我做错了什么。 我希望看到带有照片标签的字典。 任何帮助都会很棒。 追溯: 我的代码: 摄影辞典的某些内容,其包含几个词典的列表。
2回复

实现类时的Python错误

我正在尝试完成本课程,并且不确定在尝试构建时为什么会不断出错。 这是错误:
1回复

关于带有类的python程序的实现

我是本网站的新手,也是一般编程人员,所以请不要对这个新颖的问题太苛刻。 就像这个问题的标题所说,我正在尝试用Python编写一个包含类的程序。 这是一个应该在给定故事中找到单词的程序。 这个故事有标题,GUID,主题,摘要和链接。 在这种情况下,我希望程序在故事标题中查找单词。 但
2回复

Python类出现问题

因此,我使用Python 27和Pygame制作了一个简单的“道奇流星游戏”。 因此一切运行顺利,直到我想创建类,这样我才可以制作多个流星而无需重新键入相同的代码。 完成此操作后,当我运行它时,它停止响应且没有错误消息。 这是我的代码: 我不知道我在做什么错,但是我知道这是与类有关
1回复

Python3:导入类问题

假设我们有一棵这样的树: 在文件夹my_apps ,在app_framework.py定义了一个通用类。 其余文件均基于该文件定义自己的子类。 这些文件如下所示: app_framework.py : app1.py : app2.py : 所以,在
3回复

类继承问题-Python

我是python的新手,在继承类方面遇到了麻烦。 这是对计算机编程课的在线介绍,我没有资源来弄清楚我的代码出了什么问题。 这是代码: 它告诉我在我拥有self.__shift_number = '1'的def get_shift()下, ProductionWorker类中存在语法错
4回复

Python 3.1.1类问题

我是一名新的Python程序员,在类中使用“自我”时遇到了一些麻烦。 例如: 在这个函数中,我想让table是存储在类数据中的变量,并使用add对其进行修改。 但是,当我运行此脚本时,它给了我错误: 我假设我在这种情况下尝试以错误的方式调用该函数,因为此语法与python文档