测牛学堂:软件测试python之面向对象总结(类和实例对象的属性和方法)
类对象和实例对象
类对象就是我们定义的类。
在代码执行的时候,阐明器会自动创建类对象。
类对象的作用:
1 使用类对象创建实例对象
2 存储类的一些特性,就是类里面定义的属性
创建对象的过程也称为实例化的对象。所以,类创建的对象也称为实例对象,简称实例。
一般我们说的对象,默认就是实例对象。而类对象,默认说是类。
实例属性和类属性注重事项
1类属性是在类的内部直接定义的,类属性是被该类的所有实例化对象共享的。
2实例的属性是每个对象特有的,通常是在类的init方法中设置的。 类属性很少使用。
3 实例对象使用属性的时候,会先在实例属性中查找,找不到再往类属性中查找,再找不到会报错。
4 在类中访问类属性,要用类名.属性名 获取
代码示例:
class Tool:
num = 0
def __init__(self, name):
self.name = name
Tool.num += 1
tool1 = Tool('t1')
tool2 = Tool('t2')
print(tool1.name, tool1.num)
方法分类
方法分为实例方法,类方法,静态方法
1 实例方法:
假如方法中需要使用实例属性,一定要定义为实例方法。
展开全文
2 类方法
方法中不需要使用实例属性,意见定义为类方法。语法:方法上写@classmethod,方法的参数写为cls,表达类对象。不需要传递,python会自动传类作为参数。
3 静态方法:
方法中既不需要实例属性,也不需要类属性,可以定义为静态方法。
语法:@staticmethod
注重:
实例和类都可以直接调用类方法和静态方法
代码示例:
class Tool:
num = 0
def __init__(self, name):
self.name = name
# 类方法
@classmethod
def add(cls):
cls.num += 1
print(cls.num)
# 静态方法
@staticmethod
def staticFn():
print('static')
# 实例方法
def showName(self):
print(self.name)
tool1 = Tool('t1')
tool1.showName() # t1
tool1.staticFn() # static
tool1.add() # 1
Tool.add() # 2
Tool.staticFn() # static