请教大神,简明python,__init__,self,到底啥含义,初学者看不懂。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大神,简明python,__init__,self,到底啥含义,初学者看不懂。。相关的知识,希望对你有一定的参考价值。

#!/usr/bin/python
# Filename: class_init.py
class Person:
def __init__(self, name):
self.name = name
def sayHi(self):
print 'Hello, my name is', self.name
p = Person('Swaroop')
p.sayHi()
# This short example can also be written as
Person('Swaroop').sayHi()

__init__相当于C++中的构造函数,创建这个类的实例时自动调用这个函数
p=Person('Swaroop')
就会自动 调用 __init__函数
self是约定俗成的名字,也可以用其它名字,只有是类方法的第一个参数就成
def sayHi(self):
self就指类实例本身
p.sayHi()
这里sayHi方法中的self就是p
参考技术A __init__一般有两个用途,一个是模块初始化函数,如果在类定义代码范围内,则是类构造函数。你上面代码案例此处应该是类构造函数。
self,在类方法函数参数中代指类的实例对象。本回答被提问者采纳

Python中 __init__的通俗解释?

作者:匿名用户
链接:https://www.zhihu.com/question/46973549/answer/103805810
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

定义类的时候,若是添加__init__方法,那么在创建类的实例的时候,实例会自动调用这个方法,一般用来对实例的属性进行初使化。比如:
class testClass:
def __init__(self, name, gender): //定义 __init__方法,这里有三个参数,这个self指的是一会创建类的实例的时候这个被创建的实例本身(例中的testman),你也可以写成其他的东西,比如写成me也是可以的,这样的话下面的self.Name就要写成me.Name。
self.Name=name //通常会写成self.name=name,这里为了区分前后两个是不同的东东,把前面那个大写了,等号左边的那个Name(或name)是实例的属性,后面那个是方法__init__的参数,两个是不同的)
self.Gender=gender //通常会写成self.gender=gender
print(‘hello‘) //这个print(‘hello‘)是为了说明在创建类的实例的时候,__init__方法就立马被调用了。

testman = testClass(‘neo,‘male‘) 
 

 











以上是关于请教大神,简明python,__init__,self,到底啥含义,初学者看不懂。。的主要内容,如果未能解决你的问题,请参考以下文章

pycaffe简明文档

python 面向对象 super().__init__()

python 类实例化

Python提供了名称为____的构造方法,实现让类的对象完成初始化,求大神解答,急用!!!!!!

python3.6 子类的__init__调用父类的__init__

Python中 __init__的通俗解释?