鱼C论坛

 找回密码
 立即注册
查看: 81|回复: 1

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

[复制链接]
发表于 2024-9-5 18:21:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

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



最佳答案
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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 04:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表