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

Python面向对象2

时间:2019-01-15 14:16:26      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ssm   对象   sel   turn   类变量   %s   需要   print   run   

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

静态属性:

 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__)   #属性值在对象中保存一份

 

Python面向对象2

标签:ssm   对象   sel   turn   类变量   %s   需要   print   run   

原文地址:https://www.cnblogs.com/sun-10387834/p/10271200.html

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