码迷,mamicode.com
首页 > 编程语言 > 详细

python面向对象

时间:2018-02-03 20:49:39      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:对象   参数   nbsp   span   报错   数据   python   关闭   size   

 1 class Dog(object):
 2     n=123              
 3     name=类变量name
 4     n_list=[]
 5     
 6     def __init__(self,name,life_value=100):  #传参数
 7         self.name=name      
 8         self.__life_value=life_value   
 9     
10     def __del__(self):
11         print("%s dead"% self.name)
12 
13     def show_status(self):
14         print("test 私有变量调用 name:%s,life_value:%s" %(self.name,self.__life_value))
15 
16     def bulk(self):
17         print("%s is wang wang wang" % self.name)
18 
19 d1=Dog("huanhuan")    
20 d1.bulk()
21 print("d1:",d1.name,d1.n)
22 d1.n_list.append(d1,) 
23 d1.wierd=True            #
24 print("d1:",d1.name,d1.n,d1.n_list,d1.wierd)
25 d1.show_status()
26 del d1.n                 #
27 
28 del d1            
29 
30 d2=Dog(lele)
31 d2.n_list.append(d2,)
32 print("d2:",d2.name,d2.n,d2.n_list)
33 
34 print("Dog:",Dog.name,Dog.n,Dog.n_list)

构造函数:实例化过程中做一些初始化的工作,传参。

def __init__(self,name,life_value=100):  #传参数
 7         self.name=name      
 8         self.__life_value=life_value   

 调用:d1=Dog(‘huanhuan‘)   

展开来看:

d1.name=‘huanhuan‘

d1.__life_value=100

 

析构函数:在实例释放、撤销时,做收尾工作,如断开数据库连接,关闭已打开的临时文件

def __del__(self):
11         print("%s dead"% self.name)

28 del d1  #删除d1实例,(门派号没了,房子可以拆了),销毁对象,执行析构函数
而程序中没有写del d2,所以d2对象析构函数的调用是在整个程序结束时。

私有属性、私有方法:外部不能直接调用,必须通过类的其他方法才能调用。
8         self.__life_value=life_value  (前面有__)
调用:
13     def show_status(self):
14         print("test 私有变量调用 name:%s,life_value:%s" %(self.name,)
不能直接在外部print(self.__life_value)会报错
#私有方法   
def __sleep(self): print(私有方法:%s is sleeping %self.name) #调用私有方法 def show_status(self): self.__sleep()

 

 


python面向对象

标签:对象   参数   nbsp   span   报错   数据   python   关闭   size   

原文地址:https://www.cnblogs.com/ceceliahappycoding/p/8410531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!