python是一种面向类和对象的语言,类(class)中可以存放很多方便调用的变量和方法
下面定义一个简单的类:
class Student:
name = None
这里定义了一个Student的类,其中变量name的初值为None
方法,是类里的“函数”,可以方便的调用
定义类里的方法:
def say_hi(self):
print(f"大家好好好啊好,我是{self.name}。")
这里定义了一个类中的方法,用于打印类中name的字符串
下面使用刚刚定义的类创建两个对象,给对象赋值并调用类里的方法
stu1 = Student()
stu1.name = "学生1"
stu1.say_hi()
stu2 = Student()
stu2.name = "学生2"
stu2.say_hi()
运行上述代码即可得到:
大家好好好啊好,我是学生1。
大家好好好啊好,我是学生2。
下面重新定义Student这个类,用于练习魔术方法的使用:
class Student:
# 开始类就执行的方法
def __init__(self, name, age ,tel):
self.name = name
self.age = age
self.tel = tel
print(f"Student类创建了一个类对象{self.name}")
# 把类从内存地址变成字符串
def __str__(self):
return f"Student类对象, name:{self.name}, age:{self.age}, tel:{self.tel}"
# 2个类对象大于小于比较,返回T、F
def __lt__(self, other):
return self.age < other.age
# 2个类对象大于等于或小于等于比较,返回T、F
def __le__(self, other):
return self.age <= other.age
# 2个类对象进行相等比较,返回T、F
def __eq__(self, other):
return self.age == other.age
stu1 = Student("学生1", 22, "12356888552")
stu2 = Student("学生2", 25, "13245325382")
print(stu1.name)
print(stu1.age)
print(stu1.tel)
print(stu1)
print(stu1 < stu2)
print(stu1 <= stu2)
print(stu1 == stu2)
魔术方法使用__xx__的方式进行表示,在上述代码中:
__init__是一个调用类就会执行的魔术方法,可以用于创建对象时变量的设定
__str__用于将对象中的变量转为字符串
__lt__用于两个对象大于小于的比较,返回True或False
__le__用于两个对象大于等于小于等于的比较,返回True或False
__eq__用于两个对象等于的比较,返回True或False
执行代码,得到如下结果:
Student类创建了一个类对象学生1
Student类创建了一个类对象学生2
学生1
22
12356888552
Student类对象, name:学生1, age:22, tel:12356888552
True
False
False
以上简单记录了自己学习类的过程,如有错误大佬多多指正