
“
每天一个测试技术
只需几分钟
川石信息 带你学点更好的


川石信息|腾讯课堂
免费试学 | 自动化测试
类方法 classmethod
类方法是属于类本身的,但也可以使用实例对象访问。只是两者调用的方式有区别(传递参数个数上面)。
• 类方法在定义中,第一个参数必须为 cls (当然参数名称也可以随意定义,但是cls 是python默认的规定最好不修改)
类方法定义的语法规范:
@classmethoddef 方法名称 (cls [, arg1[, arg2, …[, argN]]]) :
左右拉动查看完整代码
使用装饰器方式定义,告知Pyhton解析器该方法为类方法,解析器优化该方法的执行效率。
(一)类方法的定义及各种调用
第一个参数 cls 代表 当前的类,在使用类直接调用方法的时候 忽略第一个参数,只需传递满足在实例方法定义过程中的 n-1 个后续参数数量即可。
• 而类的对象实例调用时,同样需要传递与定义数量匹配的n-1个参数。
示例:
ch08-demo09-classmethod.py
左右拉动查看完整代码

(二)类变量的定义及访问操作
类变量 与 类方法 可以成对使用。通过类方法中访问操作类变量。
类变量 声明在类中,类中的各种类型方法均可以访问。
示例:
ch08-demo10-classvar.py
左右拉动查看完整代码

(三)实例方法访问类方法和变量
• 实例方法可以访问操作类方法 和 类变量。
• 可以通过类名或者self参数访问类方法和属性
示例:
ch08-demo11-classvar.py
左右拉动查看完整代码

静态方法 staticmethod

• 静态方法是属于类本身的,但也可以使用对象实例调用。但两者调用的方式有区别(传递参数个数上面)。
• 静态方法在定义中,没有参数要求
静态方法定义的语法规范:
@staticmethoddef 方法名称 ([, arg1[, arg2, …[, argN]]]) :
左右拉动查看完整代码
使用装饰器方式定义,告知Pyhton解析器该方法为类方法,解析器优化该方法的执行效率。
(一)静态方法的定义及各种调用
• 静态方法在调用的时候,需要传递与定义同等个数的参数。
• 静态方法可以被类或对象实例调用。
示例:
ch08-demo11-staticmethod.py
左右拉动查看完整代码

(二)Python3中没有实际意义的静态变量
由于Python编程语言为动态语言,因此严格意义上的静态变量是没有必要的。
但是,静态方法可以访问 实例变量 和 类变量。
示例,静态方法访问类变量:
ch08-demo11-staticmethod.py
左右拉动查看完整代码

普通方法 ordinaryMethod
• 普通方法在类中的定义与定义一个函数无任何区别。
• 普通方法 可以被 类直接调用 但 不能被 对象实例调用。
• 普通方法无法访问 实例变量 和 类变量。
类方法定义的语法规范:
def 方法名称 ([, arg1[, arg2, …[, argN]]]) :
左右拉动查看完整代码
总结:四种方法之间的区别

业务需求:
• 创建一个游戏场景,涉及3个场景和1个功能。
① 场景1:草场作战,消耗战斗力200
② 场景2:修炼,增长战斗力100
③ 场景3:多人团战,消耗战斗力500
④ 功能1:显示玩家状态
• 当玩家战斗力为0时,阵亡!

技术需求:
• 使用面向对象的封装特性实现任务的创建及场景功能的调用。

⭐川石信息 春季特惠⭐
线上提升班,火热活动中,最高优惠直降1000+!
涨薪必备:高级性能测试+自动化测试开发,一线企业offer挑到手软!
报名还送 jmeter python / redis 三门免费课程包!
名额有限,扫一扫下方图片二维码速度联系我预约报名!
😎来川石,更优质的就业机会等着你。

今天的内容就学习到这里了,每个工作日小编都会更新一个有关测试的小知识,希望大家多多关注我们,一起来学习喔!
温馨提示:添加老师微信【13691729932】可以获取全套软件测试自学资料!

往期回顾 






