__init__
原创
©著作权归作者所有:来自51CTO博客作者风华浪浪的原创作品,请联系作者获取转载授权,否则将追究法律责任
__init__方法
__init__()方法,在创建一个对象时默认被调用,不需要手动调用
__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去
在类内部获取 属性 和 实例方法,通过self获取;
在类外部获取 属性 和 实例方法,通过对象名获取。
如果一个类有多个对象,每个对象的属性是各自保存的,都有各自独立的地址;
但是实例方法是所有对象共享的,只占用一份内存空间。类会通过self来判断是哪个对象调用了实例方法。
class Cat:
- 创建init方法 参数
def __init__(self, name, age):
self.name = name(增加实例)
self.age = age
def __str__(self): - 对init方法调用
return "%s的年龄%d" % (self.name, self.age)
def sing(self): - 创建方法
print("猫在唱歌")
def dance(self):
print("猫在跳舞")
tom = Cat("老王的猫", 40) - 创建对象
tom.sing() - 调用对象中的方法
tom.dance()
print(tom)
>> 输出结果
>> 猫在唱歌
>> 猫在跳舞
>> 老王的猫的年龄7
1__init__ 监听对象创建完成 增加属性
用于初始化一个实例,控制这个初始化的过程 实例级别的方法
2. str 监听打印对象 return “返回值可以返回字符串”
3.new 通常用于控制生成一个新实例的过程。 类级别的方法
###1.创建对象 2.调用__init__方法 3.返回对象的引用
class House(object):
- 初始化对象.` __init__() 方法,用来做变量初始化 或 赋值 操作`
- 创建完对象后会自动被调用
def __init__(self, new_name, new_age):
print('-------------------------------------')
self.name = new_name #实例变量
self.age = new_age
def introduce(self):
- 实例方法
print('%s的年龄:%d' % (self.name, self.age))
- 通过那个对象调用哪个方法,此事self指向哪个对象
- 对init方法调用
- 方法需要 return 一个数据,并且只有self一个参数,当在类的外部 print(对象) 则打印这个数据
def __str__(self):
return "%s的年龄%d" % (self.name, self.age)
- 创建一个对象 # 给赤兔添加两个属性
chitu = House('chitu', 30)
- 调用对象指向方法
chitu.introduce()
- 如果没有__str__ 则默认打印 对象在内存的地址。
- 当类的实例化对象 拥有 __str__ 方法后,那么打印对象则打印 __str__ 的返回值。
- print(chitu)
- 创建对象, 的卢添加两个属性
dilu = House('dilu', 88)
dilu.introduce()
#print(dilu)
输出结果
-------------------------------------
chitu的年龄:30
-------------------------------------
dilu的年龄:88
#str()方法
当使用print输出对象的时候,默认打印对象的内存地址。
如果类定义了__str__(self)方法,那么就会打印从在这个方法中 return 的数据
__str__方法通常返回一个字符串,作为这个对象的描述信息