类方法、静态方法、属性
来源:互联网 发布:我的世界linux启动器 编辑:程序博客网 时间:2024/06/07 00:07
类方法:
@classmethod
添加classmethod的方法,即类方法,无法访问实例中的变量。
例:
class Animal(object): def __init__(self, name): self.name = name @classmethod def talk(self): print('%s is talking...' % self.name)d = Animal('Ivien')d.talk()# Traceback (most recent call last):# File "D:/python/oldboy/DAY07/CPRAC.py", line 11, in <module># d.talk()# File "D:/python/oldboy/DAY07/CPRAC.py", line 7, in talk# print('%s is talking...' % self.name)# AttributeError: type object 'Animal' has no attribute 'name'## Process finished with exit code 1
静态方法
@staticmethod
添加了@staticmethod的方法为静态方法,既无法访问类变量也无法访问实例变量。
例:
class Animal(object): def __init__(self, name): self.name = name @staticmethod def walk(self): print('%s is walking ...' % self.name)d = Animal('Ivien')d.walk()# Traceback (most recent call last):# File "D:/python/oldboy/DAY07/CPRAC.py", line 9, in <module># d.walk()# TypeError: walk() missing 1 required positional argument: 'self'
属性
@property
将方法转换为属性
例:
class Animal(object): def __init__(self, name): self.name = name animal_number = 9 @property def count(self): print('There are %s ' % Animal.animal_number) @count.setter def count(self, ani_num): Animal.animal_number = ani_num print('ani_num :', Animal.animal_number) @count.deleter def count(self): del Animal.animal_number print('animal_number deleted')d = Animal('Ivien')d.countd.count = 3d.countdel d.count# There are 9# ani_num : 3# There are 3# animal_number deletedprint(d.count)# Traceback (most recent call last):# File "D:/python/oldboy/DAY07/CPRAC.py", line 28, in <module># print(d.count)# File "D:/python/oldboy/DAY07/CPRAC.py", line 9, in count# print('There are %s ' % Animal.animal_number)# AttributeError: type object 'Animal' has no attribute 'animal_number'
0 0
- 类方法、静态方法、属性
- python_静态属性,类方法,静态方法
- 静态属性静态方法
- 方法、静态方法、属性
- 类 静态方法,属性,类方法
- python中的静态属性,静态方法、类方法解读
- php静态属性,静态方法
- java静态方法,静态属性
- PHP 静态方法、静态属性
- 静态属性和静态方法
- python 类属性,实例属性,类方法,静态方法
- python-静态方法staticmethod、类方法classmethod、属性方法property
- 静态字段、静态属性和静态方法
- js类,静态类,方法属性继承!
- 静态导入类的属性和方法
- Delphi类的静态属性及方法。
- 静态属性和方法访问数据库类
- Java静态域(属性、方法、类)
- CodeForces #307 Div.2 B. ZgukistringZ
- Android酷炫实用的开源框架(UI框架)
- A页面跳转到B页面某一指定位置
- 射频识别技术漫谈(7)——ID卡
- 侧边栏的实现(三)
- 类方法、静态方法、属性
- node.js学习(五、基础js语法)
- sublime text 2 安装 xdebug
- 微信支付
- MFC中ScrollBar滚动条控件的使用
- iOS-金额三位一撇
- go的数组与slice
- CSS3语法总结
- B1005