_ _init_ _()方法
在上面的演示中,我们为 BMW 对象添加了一个属性名称。想象一下,如果我们再次创建一个对象,我们还必须添加属性。显然,这很麻烦,那么有没有办法创建一个对象呢?顺便说一句,什么时候设置汽车对象的属性?
答案就是:_ _init_ _()方法
1、使用方法
class 类名:
#初始化方法,用来完成一些默认的设定
def __init__():
pass
2、_ _init_ _()方法的调用
class Car:
def __init__(self):
self.name = "宝马"
def move():
print("车在跑")
#创建对象
bmw = Car()
print("这是一辆%s牌汽车"%bmw.name)
运行结果为:这是一辆宝马牌汽车
说明:创建Car对象时,不调用__init__()方法,bmw默认有name属性BMW。
3、自定义_ _init_ _()方法
class Car:
def __init__(self,newName,newColor):
self.name = newName
self.color = newColor
def move():
print("车在跑")
#创建对象
bmw = Car("宝马","黑色")
print("这是一辆%s牌汽车"%bmw.name)
print("这辆汽车的颜色是%s"%bmw.color)
运行结果为:
这是一辆宝马牌汽车
这辆汽车的颜色是黑色
说明:
__init__() 方法,在创建对象时默认调用,不需要手动调用。
__init__() 方法默认有一个参数名 self。如果创建对象时需要传递2个参数,那么__init__()除了第一个参数self之外还需要2个参数,例如__init__(self, x, y)。
__init__()方法中的self参数不需要开发者传入,python解释器会自动传入当前对象的引用。
_ _str_ _()方法
class Car:
def __init__(self,newName,newColor):
self.name = newName
self.color = newColor
def move():
print("车在跑")
def __str__(self):
msg = "你好,我是一辆%s的%s牌汽车"%(self.color,self.name)
return msg
#创建对象
bmw = Car("宝马","黑色")
print(bmw)
运行结果为:你好,我是一辆黑色的宝马牌汽车
说明:
在python中,如果方法名是__XXX__(),它有一个特殊的功能,所以被称为“魔法”方法。
使用 print 输出对象时,只要定义了 __str__() 方法,该方法中的返回数据就会被打印出来。
self
所谓self,可以理解为自己。
self可以理解为C++或Java中的this指针,也就是对象本身的意思。
当一个对象调用__init__()方法时,python解释器会将该对象作为第一个参数传递给self,因此开发者只需要传递以下参数即可。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 这四个python函数你知道吗?01/03
- ♥ 如何在python中终止程序08/18
- ♥ 我可以先学习 django 再学习 python 吗?11/19
- ♥ 如何在python中获取验证码图像09/27
- ♥ python3.4清屏方法12/11
- ♥ python顺序搜索的两种形式12/11
内容反馈