循序渐进理解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)
相关阅读
排行榜









