类和对象 构造方法 魔术方法

class Student:
    def __init__(self,name,age,tel):
        #声明变量
        self.name=name
        self.age=age
        self.tel=tel
        print("创建好了")
        print({name,age,tel})
        print(name,"已经",age,"岁了")
stu=Student("蒋丞","19","15435678904")

%

class Student:
    name=None
    def say_goodbye(self):
        print(f"学生{self.name}说拜拜")
stu=Student()
stu.name="蒋丞"
stu.say_goodbye()





class Student:
    name=None
    # def say_goodbye(self):
    #     print(f"学生{self.name}说拜拜")
    def say(self,msg):
        print(f"{self.name}说{msg}")
stu=Student()
stu.name="蒋丞"
stu.say("哎呦不错")
#stu.say_goodbye()

 面向对象编程套路核心:

设计类基于类创建对象,有对象做具体工作

闹钟小例子:

#闹钟真的会响-
class Clock:
    id=None
    price=None
    def ring(self):
        import winsound#导入铃声
        winsound.Beep(2000,3000)#
clock1=Clock()
clock1.id="闹钟一"
clock1.price=30
print(f"{clock1.id}价格是{clock1.price}")
clock1.ring()
clock2=Clock()
clock2.id="闹钟二"
clock2.price=40
print(f"{clock2.id}价格是{clock2.price}")
clock2.ring()

构造方法:

—init—()构造方法,在创建对象(构造类)的时候,会自动执行,并将参数传递方法中使用

class Student:
    def __init__(self,name,age,tel):
        #声明变量
        self.name=name
        self.age=age
        self.tel=tel
        print("创建好了")
        print({name,age,tel})
        print(name,"已经",age,"岁了")
stu=Student("蒋丞","19","15435678904")

_str_方法,转换为字符串:

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def __str__(self):
        return f"self.name,{self.age}"#注意一下
stu=Student("蒋丞","21")
print(stu)
print(str(stu))



self.name,21
self.name,21

_lt_方法,比较两个对象大小:

class Student:
    def __init__(self,age):
        self.age=age
    def __lt__(self, other):
        return self.age<other.age
stu1=Student(21)
stu2=Student(23)
print(stu1<stu2)



true

_le_方法可用于<=,>=:

 

class Student:
    def __init__(self,age):
        self.age=age
    def __le__(self, other):
        return self.age<=other.age
stu1=Student(21)
stu2=Student(23)
print(stu1<stu2)

True

_eg_方法:

class Student:
    def __init__(self,age):
        self.age=age
    def __eg__(self, other):
        return self.age==other.age
stu1=Student(21)
stu2=Student(21)
print(stu1==stu2)

True

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值