一、构造函数与成员初始化
#构建一个初始化参数的函数。 class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender p1 = Person('Mike', 20, 'Male') print(p1.name)
二、实例的方法
class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def say(self): print(f'{self.name} 说:hello') p1 = Person('Tom', 20, 'Male') p1.say() p2 = Person('Mike', 20, 'Male') p2.say() #改进 class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def say(self, word): print(f'{self.name} 说:{word}') p1 = Person('Tom', 20, 'Male') p1.say('天气真好') p2 = Person('Mike', 20, 'Male') p2.say('我再学习Python')
三、案例
class CellPhone: def __init__(self, brand, price=0.0): self.brand = brand self.price = price def on(self): print(f'{self.brand} 手机开机...') def send_message(self, to, message): print(f'{self.brand} 给 {to} 发送短信,内容是:{message}') c1 = CellPhone('iPhone6s', 5800.0) c2 = CellPhone('XIMI5S', 3200.0) c1.on() c2.on() c1.send_message('18611341146', '我想学习python') c2.send_message('13488833313', 'hello')
四、特殊方法--魔法函数
class CellPhone: def __init__(self, brand, price=0.0): self.brand = brand self.price = price def __repr__(self): #用于反馈当前实例的说明 return f'<CellPhone: {self.brand}>' def on(self): print(f'{self.brand} 手机开机...') def send_message(self, to, message): print(f'{self.brand} 给 {to} 发送短信,内容是:{message}') c1 = CellPhone('iPhone6s', 5800.0) print(c1)
class CellPhone: def __init__(self, brand, price=0.0): self.brand = brand self.price = price def __repr__(self): #用于反馈当前实例的说明,返回当前的表现 return f'<CellPhone: {self.brand}>' def __str__(self): #返回当前的字符串,需要使用print的函数,才能看见 return f'[CellPhone: {self.brand}]' def on(self): print(f'{self.brand} 手机开机...') def send_message(self, to, message): print(f'{self.brand} 给 {to} 发送短信,内容是:{message}') c1 = CellPhone('iPhone6s', 5800.0) print(c1)
class CellPhone: def __init__(self, brand, price=0.0): self.brand = brand self.price = price def __repr__(self): return f'<CellPhone: {self.brand}>' def __str__(self): return f'[CellPhone: {self.brand}]' def on(self): print(f'{self.brand} 手机开机...') def send_message(self, to, message): print(f'{self.brand} 给 {to} 发送短信,内容是:{message}') def __add__(self, other): #返回价格之和 return self.price + other.price c1 = CellPhone('iPhone6s', 5800.0) c2 = CellPhone('XIMI5s', 3200.0) print(c1 + c2)