gpt4 book ai didi

python - 括号对方法和 'Self' 变量的影响

转载 作者:太空宇宙 更新时间:2023-11-03 20:26:28 25 4
gpt4 key购买 nike

我一直在学习 Python 中 OOP 实现的一些基础知识。我正在试验,发现当我在定义对象时没有添加括号时,类中的方法要求我定义 self。

因为我是 OOP 新手,所以除了在 stackoverflow 上发布问题之外,我真的不知道从哪里可以获得此类小众问题的答案。

为了使这一点更加具体,这是我正在运行的代码:

class Person():
def introduction(self):
print(f"Hi, my name's {self.name}. What's yours?")

Aaron = Person
Aaron.name = "Aaron"
Aaron.introduction()

Betty = Person()
Betty.name = "Betty"
Betty.introduction()

在前一种情况下,方法介绍要求我再次输入 Aaron 才能正常工作,否则它会告诉我缺少变量“self”的参数。但是,在后一种情况下,我不需要重新定义“self”变量。这是为什么?

最佳答案

在第一种情况下,您只需将 Person 类别名为名为 Aaron 的变量。完成此操作后,如果您调用 Aaron(),您将获得 Person 对象的新实例。

这与定义一个函数,然后将变量分配给该函数(不带括号)非常相似。

def hello():
print('hello')

world = hello

world()
# prints:
hello

关于python - 括号对方法和 'Self' 变量的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57778003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com