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