循序渐进理解python的__init__()方法
小编:动力软件园 时间:2018-07-02 13:35:13
__init__()方法也叫实例初始化方法,在初始化对象的时候,其实就是执行的是__init__()方法。以下从三个代码的优化来理解__init__()方法的使用。小白自我学习,大神飘过。
重点:__init__()方法为什么又叫实例初始化方法。因为实例化对象的时候就是执行的__init__()
.=
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'www.pw88.com' #代码一 class Animal(object): def eat(self): print("吃饭") dog = Animal() #创建对象又叫实例化对象 dog.colour = 'red' # 添加属性 dog.name = '旺财' print(dog.name) cat =Animal() cat.name = '小花花' cat.colour ='我是白猫' print(cat.name)
#每次实例化一个对象都需要手工指定属性。
#代码二:使用__init__()方法 class Animal(object): def __init__(self): self.name = '小花' self.colour = '黑色' def eat(self): print("吃饭") dog = Animal() #创建对象又叫实例化对象 print(dog.name) print(dog.colour) print('--'*20) #打印20个* #再实例化一个对象 cat = Animal() print(cat.name)
执行代码结果,猫和狗都是叫小花了。肯定不正确了。有没有办法在初始化__init__(self)的时候就赋值呢?
小花 黑色 ---------------------------------------- 小花
#代码三:初始化__init__()的时候赋值,像不像函数指定参数 形参,实例化的时候是实参。
class Animal(object): def __init__(self,name,colour): self.name = name self.colour = colour print('__init_ 执行了') def eat(self): print("吃饭") def __str__(self): #只能return返回一个字符串对象。 return ('动物类') dog = Animal('旺财','黄色') #创建对象又叫实例化对象 print(dog.name) print(dog) cat =Animal('小花','花色') print(cat.name) print(cat)
相关阅读
排行榜