Python 类属性,实例属性,类方法,实例方法,静态方法
2017-10-03 22:40
393 查看
Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
属性分为实例属性与类属性
方法分为普通方法,类方法,静态方法
一:属性:
尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。
1:实例属性:
最好在init(self,…)中初始化
内部调用时都需要加上self.
外部调用时用instancename.propertyname
2:类属性:
在init()外初始化
在内部用classname.类属性名调用
外部既可以用classname.类属性名又可以用instancename.类属性名来调用
3:私有属性:
1):单下划线_开头:只是告诉别人这是私有属性,外部依然可以访问更改
2):双下划线__开头:外部不可通过instancename.propertyname来访问或者更改
实际将其转化为了_classname__propertyname
二:方法
1:普通类方法:
def fun_name(self,…):
pass
外部用实例调用
2:静态方法:@staticmethod
不能访问实例属性!!! 参数不能传入self!!!
与类相关但是不依赖类与实例的方法!!
3:类方法:@classmethod
不能访问实例属性!!! 参数必须传入cls!!!
必须传入cls参数(即代表了此类对象—–区别——self代表实例对象),并且用此来调用类属性:cls.类属性名
*静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性
属性分为实例属性与类属性
方法分为普通方法,类方法,静态方法
一:属性:
尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。
1:实例属性:
最好在init(self,…)中初始化
内部调用时都需要加上self.
外部调用时用instancename.propertyname
2:类属性:
在init()外初始化
在内部用classname.类属性名调用
外部既可以用classname.类属性名又可以用instancename.类属性名来调用
3:私有属性:
1):单下划线_开头:只是告诉别人这是私有属性,外部依然可以访问更改
2):双下划线__开头:外部不可通过instancename.propertyname来访问或者更改
实际将其转化为了_classname__propertyname
二:方法
1:普通类方法:
def fun_name(self,…):
pass
外部用实例调用
2:静态方法:@staticmethod
不能访问实例属性!!! 参数不能传入self!!!
与类相关但是不依赖类与实例的方法!!
3:类方法:@classmethod
不能访问实例属性!!! 参数必须传入cls!!!
必须传入cls参数(即代表了此类对象—–区别——self代表实例对象),并且用此来调用类属性:cls.类属性名
*静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性
相关文章推荐
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python学习笔记-实例方法、类方法、静态方法、属性方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python面向对象编程(2)—— 实例属性,类属性,类方法,静态方法
- python面向对象编程(2)—— 实例属性,类属性,类方法,静态方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python中的实例方法、静态方法、类方法、类变量和实例变量浅析
- 【Python】实例方法、类方法、静态方法之间的区别
- python中的实例方法、静态方法、类方法、类变量和实例变量
- python中的实例方法、类方法、静态方法
- Ext学习笔记 - NameSpace,类实例属性,类实例方法,类静态方法
- python中类方法、类实例方法、静态方法的使用与区别
- 静态方法(属性)与实例方法(属性)
- Python的实例方法,类方法,静态方法之间的区别及调用关系
- python静态方法、实例方法、类方法的学习
- 关于python的类方法、实例方法和静态方法区别
- [Python进阶-3]面向对象,类,实例,属性,方法,类属性,类方法,内部属性