Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 发表于 2019-04-14 | 分类于 Python | | 本文总阅读数 次 字数统计: 436 字 | 阅读时长 ≈ 1 分钟 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法 属性分为实例属性与类属性方法分为普通方法,类方法,静态方法一:属性: 尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。 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.类属性名 *静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性 扫一扫上面的二维码可以关注我哦 坚持技术分享,您的支持将鼓励我继续创作! 打赏 微信支付 支付宝