Python学习 :面向对象 -- 类的成员
2019-03-06 07:17:50来源:博客园 阅读 ()
类的成员
一、字段
- 字段可以分为'普通字段'和'静态字段'两种
- 普通字段(保存在对象中,执行时只能通过对象来进行访问)
- 静态字段(保存在类中,在内存中只保存一份数据(可以有效地节约内存的空间),执行时可以通过对象来访问,也可以通过类来访问)
class Province: country = '中国' # 静态字段 def __init__(self, name): self.name = name # 普通字段 def show(self): # 方法 print(self.name) Beijing = Province('北京') Shanghai= Province('上海') print(Beijing.name, Province.country) # 通过类来访问静态对象country print(Shanghai.name,Shanghai.country) # 通过对象来访问静态对象country ===>北京 中国 ===>上海 中国
二、方法
- 方法可以分为三种'普通方法'、'静态方法'以及'类方法'三种
- 普通方法,保存在类中,通过对象来调用,self参数为对象
- 静态方法,保存在类中,通过类来直接调用
静态方法的特殊之处:1、self 参数不再是必须的
2、在方法前加上装饰器 @staticmethod
3、也可以传入对应的参数
- 类方法, 保存在类中,通过类来直接调用,cls参数为类
类方法的特殊之处: 1、需要参数,一般使用为 cls
2、在方法前加上装饰器 @classmethod
应用场景:
- 当对象中需要保存值,调用方法时需要使用对象中的值,此时使用普通方法更为合适
- 当不需要任何对象中的值时,使用静态方法或类方法比较合适
class Method: # 普通方法 def nml(self): print('普通方法') # 静态方法 @staticmethod def stm(): print('静态方法') # 类方法 @classmethod def cls(cls): # 一般在类方法中的参数为cls ,cls 是类名 print('类方法') Method.stm() Method.cls() ===>静态方法 ===>类方法
三、属性(特性)
属性,保存在类中
class Info: @property def med1(self): print('med1') def med2(self): print('med2') def med3(self,v): print(v) def med4(self): print('med4') per = property(fget=med2,fset=med3,fdel=med4) obj = Info() obj.med1 ret = obj.per # fget的访问方式 obj.per = 'med3' # fset的访问方式 del obj.per # fdel的访问方式 ===>med1 ===>med2 ===>med3 ===>med4
原文链接:https://www.cnblogs.com/ArticleYeung/p/10460401.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash