Python 您可以从类中的其他方法访问使用init方法创建的属性吗?
当我编写Python 您可以从类中的其他方法访问使用init方法创建的属性吗?,python,python-3.x,class,oop,methods,Python,Python 3.x,Class,Oop,Methods,当我编写\uuuuu init\uuuuu>方法并分配属性时,我可以在我在该类中编写的其他方法(函数)中访问这些属性吗?如果是,是如何做到的 我在谷歌上搜索了一下,但找不到答案。我还没来得及想清楚这件事。使用self: class-MyClass: 定义初始化(自): self.name='John' def其他_方法(自身): 打印(self.name) other\u方法将打印“John”。当您创建一个类并设置一个实例(如first\u class=MyClass())时,def\uu i
\uuuuu init\uuuuu>方法并分配属性时,我可以在我在该类中编写的其他方法(函数)中访问这些属性吗?如果是,是如何做到的
我在谷歌上搜索了一下,但找不到答案。我还没来得及想清楚这件事。使用self
:
class-MyClass:
定义初始化(自):
self.name='John'
def其他_方法(自身):
打印(self.name)
other\u方法
将打印“John”。当您创建一个类并设置一个实例(如first\u class=MyClass()
)时,def\uu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuo(self):
将运行或初始化。其中的任何变量,如self.name
,都可以从类及其函数中访问,也可以在其他程序中使用类时访问self
将该变量附加到该类。
基本上使用诱惑的例子:
class MyClass:
def __init__(self):
self.name = "John"
def show_name(self):
print(self.name)
然后在程序中,在类外使用MyClass的名称:
firstClass = MyClass()#Initialise MyClass and its variables
print(firstClass.name)
或:
两种输出:
'John'
(仍在为其他人提供此答案,希望您不介意:)。。。如果你发布了你一直在尝试但不起作用的代码,这会更清楚,这样我们就可以看到你哪里出了问题。请查看self
keyword@RoboMopself
不是一个关键字“当我编写init方法并分配属性时,我可以在该类中编写的其他方法(函数)中访问这些属性吗?”当然可以,这就是属性的全部要点。“如果是这样,它是如何完成的?”与您总是访问属性的方式相同。@RoboMopself
不是关键字。它只是方法中第一个位置参数的常规名称,当在实例上调用该方法时,它将隐式地传递给实例
'John'