1.面向对象
from types import new_class
class Student:
student_num = 0 # 在类下面定义的变量为类变量
def __init__(self,name,sex): #构造方法,也就是构造函数,是用来初始化对象的。在构造函数中定义的变量,通常指的是在构造函数内部声明的变量
self.name = name
self.sex = sex
# self.student_num += 1
Student.student_num += 1 #通过类名来访问,每创建一个学生,学生数量+1
@classmethod #类方法使用使用装饰器classmethod
def add_student(cls,add_num): # 类方法的第一个参数需要类本身,可以访问到类方法类变量
cls.student_num += add_num
@classmethod
def from_string(cls,info): # 使用类方法代替构造方法是一种常用的方法
name,sex = info.split(' ')
return cls(name,sex)
@staticmethod # 静态方法 寄宿在类里不能访问类里的内容,但需要在类里面
def name_len(name):
return len(name)
s1 = Student('Qiqi','Female')
s2 = Student.from_string('Qiqi Female')
print(f'Student.student_num:{Student.student_num}')
print(f's1.student_num:{s1.student_num}')
print(f's2.name:{s2.name},s2.name.len:{Student.name_len(s2.name)}')
原创2025/3/8大约 7 分钟