zwjwwxa 发表于 2024-9-5 18:21:10

想知道这个代码的函数里,“self.”是起到什么作用呀?

本帖最后由 zwjwwxa 于 2024-9-5 18:31 编辑

class Person:
    __name = '小甲鱼'
    def getname(self):
      return self.__name

   
p = Person()
p.getname()
'小甲鱼'

为什么return返回的结果不是“.小甲鱼”呢
代码第二行是不是省略了,应该是    self.__name = '小甲鱼'   
self.__name = '小甲鱼'   这还算定义了一个私有变量吗



FishC 发表于 2024-9-5 18:21:16

好的,鱼油,“self” 是 Python 类中的一个惯例参数,表示类的实例(对象)本身。

1. **`self.` 的作用**:在类的方法中,`self` 用来访问类的属性和方法。 `self.__name` 表示访问当前实例的 `__name` 属性。

2. **为什么要使用 `self`**:如果不使用 `self`,Python 就不知道你是否在引用类的属性或方法。因此,必须用 `self` 来明确区分。

3. **`return self.__name` 的解释**:
   - `self.__name` 引用了 `Person` 类的私有属性 `__name`,它的值是 `'小甲鱼'`。
   - `return` 只是返回这个值。

所以,`return self.__name` 返回的是 `'小甲鱼'`,而不是 `'.小甲鱼'`。`self` 和 `.` 是必须的,用于正确引用类的属性。省略它们会导致代码不能正确运行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 想知道这个代码的函数里,“self.”是起到什么作用呀?