getattr:获取属性(动态获取某个属性的函数)
getattr(对象或者类名,属性名称(字符串形式),当没有此属性的时候需要提供的默认值)
class Phone:
recharge=True
def __init__(self,brand):
self.brand=brand
def call(self):
print("正在打电话")
def send_mag(self):
print("正在发短信")
mobile=Phone('苹果')
# print(mobile.brand)
print(mobile.color) #如果获取不存在的属性会报错
print(getattr(mobile,'brand','华为'))
print(getattr(mobile,'music','放音乐')) #使用getattr获取属性
print(getattr(mobile,'recharge','充电很强'))
setattr:设置属性(动态获取某个属性的函数)
setattr(对象或者类名,属性名称(字符串形式),赋值的新值)
不管属性存不存在都会赋值给新的值
(和字典类似)有时候我们提前不知道属性名称是什么,是从别的地方拿过来的,例如测试用例:Excel,method:get,url: ‘http://’
class Phone:
recharge=True
def __init__(self,brand):
self.brand=brand
def call(self):
print("正在打电话")
def send_mag(self):
print("正在发短信")
mobile=Phone('苹果')
mobile.brand='华为'
# print(mobile.brand)
setattr(mobile,'color','red') #设置新属性
print(mobile.color)
setattr(mobile,'brand','oppo') #不管属性存不存在都会赋值给新的值
print(mobile.brand)