Excel不相邻列如何打印在一起-英雄云拓展知识分享
134
2023-11-07
【摘要】 本书摘自《Python学习笔记 从入门到实战》一书中第7章,第4节,由张学建编著。
7.4.7 静态方法和类方法
在 Python 程序中,类中的方法可以分为多种,其中最为常用的有实例方法、类方法和 静态方法。具体说明如下所示。
(1)实例方法:在本书前面用到的所有类中的方法都是实例方法,其隐含调用参数是 类的实例。
(2)类方法:隐含调用的参数是类。在定义类方法时,应使用装饰器@classmethod 进 行修饰,并且必须有默认参数 “cls”。
(3)静态方法:没有隐含调用参数。类方法和静态方法的定义方式都与实例方法不同, 它们的调用方式也不同。在定义静态方法时,应该使用修饰符@staticmethod 进行修饰,并 且没有默认参数。
注意:在调用类方法和静态方法时,可以直接由类名进行调用,在调用前无须实例化类。
另外,也可以使用该类的任意一个实例进行调用。
例如在下面的实例代码中,演示了使用类方法和静态方法的过程。
实例7-10:同时使用类方法和静态方法
源码路径:下载包\daima\7\7-1 0
实例文件jing.py 的具体实现代码如下所示。
class Jnegf:_init__(self,x=0):
@staticmse =x
在上述实例代码中,在类Jing 中同时定义静态方法和类方法,然后在未实例化时使用类
名进行调用,最后在实例化后用类实例再次进行调用。执行后会输出:
7.4.8 类的专有方法
在Python 程序中,类可以定义专用方法,也被称为专有方法。专用方法是指在特殊情 况下或当使用特别语法时由Python 替你调用的,而不是在代码中直接调用(像普通的方法 那样)。例如本章前面讲解的构造方法 init )和析构方法 del 就是常见的专有方法。
在Python语言中,类中常用的专有方法如下表7-1 所示。
7.5 属性
注意:属性反映了面向对象的编程思想,即不能直接操作类的字段。属性隔离了字段, 而且能对要赋值的字段进行监测,合乎要求的才会被允许。属性是这样的成员:它提供了灵 活的机制来读取、编写或计算某个私有字段的值。可以像使用公共数据成员一样使用属性,
但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高 方法的安全性和灵活性。
7.5.1 认识属性
在 Python 程序中,属性是对类进行建模必不可少的内容,7.3节介绍的方法是用来操作数 据的,而和操作相关的大部分内容都和下面将要讲解的属性有关。我们既可以在构造方法中定 义属性,也可以在类中的其他方法中使用定义的属性。在本章前面的内容中,已经多次用到了 属性,例如在本章前面的实例7-5和实例7-7中, “name” 和 “age” 都是属性。实例7-7的 实现代码如下所示:
在实例7-7的代码中,在构造方法 init )中创建一个表示特定小狗的实例,并使用 我们提供的值来设置属性name 和age。在 my_dog.name.title() 和 str(my_dog.age) 中点运算符“. ” 访问了实例属性,运算符表示法在Python 中很常用,这种语法演示了Python 如何获取属性 的值。在上述代码中, Python 先找到实例my_dog, 再查找与这个实例相关联的属性name。
在类Dog 中引用这个属性时,使用的是 selfname。 同样道理,可以使用同样的方法来获取 属性age 的值。在代码 “my_dogname.title()” 中,将my_dog的属性 name 的值改为首字母 是大写的,当然我们代码中用的是汉字,读者可以将其设置为字母试一试。在代码行“str(my_ dogage)” 中,将my_dog的属性age 的值“6”转换为字符串。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~