Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而
来源:互联网 发布:21端口打开 编辑:程序博客网 时间:2024/06/03 19:42
属性分为实例属性与类属性
方法分为普通方法,类方法,静态方法
一:属性:
尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。
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.类属性名
*静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性
e.g1:
- class A:
- member = "this is a test."
- def __init__(self):
- pass
- @classmethod
- def Print1(cls):
- print "print 1: ", cls.member
- def Print2(self):
- print "print 2: ", self.member
- @classmethod
- def Print3(paraTest):
- print "print 3: ", paraTest.member
- @staticmethod
- def print4():
- print "hello"
总结:类属性与类方法是类固有的方法与属性,不会因为实例不同而改变,写他们的目的是减少多实例时所创造出来的内存空间,加快运行速度。
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法
- python 类属性,实例属性,类方法,静态方法
- js属性和方法的可见性:私有属性(方法),实例属性(方法),类属性(方法)
- 静态方法(属性)与实例方法(属性)
- Python中的类属性、实例属性与类方法、静态方法
- Python 类属性,实例属性,类方法,实例方法,静态方法
- python面向对象编程(2)—— 实例属性,类属性,类方法,静态方法
- Python中的类属性和实例属性以及静态方法和类方法
- Python中的类属性和实例属性以及静态方法和类方法
- javascript 类属性、类方法、类实例、实例属性、实例方法、prototype、__proto__ 测试与小结
- 类方法、静态方法、属性
- js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性
- Objective-C - 动态方法、静态属性实例
- javascript 原型方法,对象方法,类方法;私有属性,公有属性,公有静态属性
- java属性与方法的调用实例
- 设计模式学习笔记之工厂模式
- Pytorch学习-CIFAR10分类
- bzoj 4565: [Haoi2016]字符合并
- 【POJ】3185-The Water Bowls 模拟
- 去掉table的默认样式 reset.css
- Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而
- MFC中判断IP地址输入框是否为空
- 常用的ssh,scp命令传文件
- Hadoop环境搭建之一安装jdk,hadoop基本配置及运行MapReduce案例在本地模式下
- Corn Fields
- DOCKER windows安装
- reset.css的一般写法
- 貌似Keep登录首页 图片在背景移动
- Matlab起名小软件 再也不用担心給亲戚朋友取名字啦