Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 您可以从类中的其他方法访问使用init方法创建的属性吗?_Python_Python 3.x_Class_Oop_Methods - Fatal编程技术网

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@RoboMop
self
不是一个关键字“当我编写init方法并分配属性时,我可以在该类中编写的其他方法(函数)中访问这些属性吗?”当然可以,这就是属性的全部要点。“如果是这样,它是如何完成的?”与您总是访问属性的方式相同。@RoboMop
self
不是关键字。它只是方法中第一个位置参数的常规名称,当在实例上调用该方法时,它将隐式地传递给实例
'John'