带有默认值的属性

 1 #coding=utf-8
 2 
 3 '''
 4 类——设置属性默认值
 5 '''
 6 
 7 class Person():
 8     '''模拟人类'''
 9     def __init__(self,name,age,address):
10         self.name=name
11         self.age=age
12         self.address=address
13         self.happy='happy'  #设置了默认值的属性,则无限提供形参书写
14     
15     def ku(self):
16         '''人类的共有方法:哭'''
17         print ('婴儿出生的时候都会哇哇哭一阵')
18     
19     def zhuangtai(self):
20         '''输出人的幸福状态'''
21         print('请问你幸福不? '+self.happy+' !')
22     
23     def updata_happy(self,happy):
24         self.happy=happy  #修改类的设置了默认值的属性默认值,方法二
25     
26     def sum_happy(self,happy):
27         self.happy+=happy  #修改类的设置了默认值的属性默认值,方法三
28     
29     def get_information(self):
30         '''打印完整的个人信息'''
31         print ('Name is '+self.name+', age is '+str(self.age)+' ,address is '+self.address+' .'+'请问你幸福不? '+self.happy+' !')
32 
33 person1=Person('张三',0.1,'北京市中山大道999号')  #类的实例,无需为默认属性赋值实参
34 person1.ku()  #调用类的方法
35 person1.get_information()
36 
37 #修改类的设置了默认值的属性默认值
38 #方法一:实例调用该属性,并修改默认值,仅仅修改了该实例的对应属性默认值
39 person1.happy=' Very happy!'
40 person1.zhuangtai()
41 
42 #方法二:通过方法修改属性的默认值
43 '''
44 在上面的类中新增以下代码
45 def updata_happy(self,xin):
46     self.happy=xin
47 '''
48 person2=Person('李四',0.2,'深圳市深南大道')
49 person2.updata_happy('Very very very happy!')
50 person2.zhuangtai()
51 
52 #方法三:通过方法累加相关数据
53 person3=Person('王五',0.3,'深圳市深南大道')
54 person3.updata_happy('Very very very happy!')
55 person3.zhuangtai()
56 person3.sum_happy('oh yes!!!')
57 person3.zhuangtai()

猜你喜欢

转载自www.cnblogs.com/zc13/p/9506567.html