面向对象-类

一、构造函数与成员初始化

#构建一个初始化参数的函数。

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)

猜你喜欢

转载自www.cnblogs.com/wangtaoc/p/10669332.html