目录
self
1>事例
#定义一个类
class a:
#方法
def __init__(self,name):
self.name=name
def printname(self):
print("名字为:%s"%self.name)
#定义一个函数
def myprint(a):
a.printname()
one=a('迪迦')
myprint(one)
two=a('赛文')
myprint(two)
###运行
名字为:迪迦
名字为:赛文
2>小结
- 所谓的self,可以理解为自己
- 可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
- 某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
_init_方法
1>使用方式
def 类名:
#初始化函数,用来完成一些默认的设定
def __init__():
pass
2>_init_的调用方法
#定义一个汽车类
class car:
def __init__(self):
self.wheelnum=4
self.color='黑色'
def move(self):
print('迪迦开着车,准备和丽娜去往夏威夷')
#创建对象
who=car()
print('车的颜色为:%s'%who.color)
print('车的轮胎为:%d'%who.wheelnum)
##运行
车的颜色为:黑色
车的轮胎为:4
3>小结one
当创建Car对象后,在没有调用
__init__()
方法的前提下,who就默认拥有了2个属性wheelNum和color,原因是__init__()
方法是在创建对象后,就立刻被默认调用了。
4> 调用_init_方法时传递参数
#定义汽车类
class car:
def __init__(self,newwheelnum,newcolor):
self.wheelnum=newwheelnum
self.color=newcolor
def move(self):
print('丽娜开着车,带着大古去夏威夷')
#创建对象
who=car(4,'red')
print('车的颜色为:%s'%who.color)
print('车轮子数量为:%d'%who.wheelnum)
##运行
车的颜色为:red
车轮子数量为:4
5>小结two
__init__()
方法,在创建一个对象时默认被调用,不需要手动调用__init__(self)
中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)
中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
__init__(self)
中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去