Python面向对象2

二,面向对象静态属性,类方法,静态方法

静态属性:

 1 #Author : Kelvin
 2 #Date : 2019/1/15 11:29
 3 
 4 class Peple:
 5     government="opo"
 6     def __init__(self,name,age,gender):
 7         self.name=name
 8         self.age=age
 9         self.gender=gender
10 
11     @property
12     def eat(self):
13         return "%s 正在吃。。。"%(self.name)
14 
15 p=Peple("kelvin",20,"male")
16 print(p.eat)

静态属性在调用方法时,不需要加括号,直接使用 对象.函数名 调用

 

类方法:

 1 #Author : Kelvin
 2 #Date : 2019/1/15 11:35
 3 
 4 class Peple:
 5     government="opo"
 6     def __init__(self,name,age,gender):
 7         self.name=name
 8         self.age=age
 9         self.gender=gender
10     def eat(self,food):
11         print("%s 正在吃 %s"%(self.name,food))
12 
13     @classmethod
14     def run(cls):  #使用类方法函数参数为类本身
15         print(cls)
16         print(cls.government)
17 
18 Peple.run()  #直接使用 类名.类方法  python默认会将调用类作为参数传递到给函数 等价于 Peple.run(Peple)

 

 

静态方法:

 1 #Author : Kelvin
 2 #Date : 2019/1/15 11:35
 3 
 4 #静态方法只是名义上归属于类管理,不使用类变量和实例变量,是类的工具包
 5 class Peple:
 6     government="opo"
 7     def __init__(self,name,age,gender):
 8         self.name=name
 9         self.age=age
10         self.gender=gender
11     def eat(self,food):
12         print("%s 正在吃 %s"%(self.name,food))
13 
14     @staticmethod
15     def run(x,y):  #使用类方法函数参数为类本身
16         print("静态方法:",x,y)
17 
18 
19 Peple.run("kelvin","nice")  #直接使用 类名.静态方法
20 
21 p=Peple("kelvin",20,"male")
22 p.run("kelvin","run")       # 对象.静态方法 调用
23 
24 print(Peple.__dict__) #所有方法在类中保存,对象使用时从类中调用
25 print(p.__dict__)   #属性值在对象中保存一份

 

posted @ 2019-01-15 12:23  佛祖让我来巡山  阅读(224)  评论(0编辑  收藏  举报

佛祖让我来巡山博客站 - 创建于 2018-08-15

开发工程师个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

Bootstrap中文网