# 创建类的语法
class Student: # Student为类的名称(类名)有一个或多个单词组成,每个单词的首字母大写,其余小写
pass
# 类的组成
class Student:
native_place = '甘肃' # 直接写在类里的变量称为类属性
def __init__(self, name, age):
self.name = name # self.name称为实例属性,将局部变量name的值赋给了实例属性
self.age = age
def eat(self): # 实例方法 # 在类之外定义的称为函数,在类之内定义的称为方法
print('学生在吃饭...')
@staticmethod # 静态方法
def method(): # 不能存在self
print('使用了@staticmethod进行修饰,所以是静态方法')
@classmethod # 类方法
def cm(cls):
print('使用了@classmethod进行修饰,因此是类方法')
类属性
-
类中方法外的变量称为类属性,被该类的所有对象所共享
-
类属性的使用方式
print(Student.native_place)
stu1 = Student('张三', 20)
stu2 = Student('李四', 30)
print(stu1.native_place, stu2.native_place) # 表明类属性被该类所有对象所共享
Student.native_place = '北京'
print(stu1.native_place, stu2.native_place)
--------------------------------------------------
甘肃
甘肃 甘肃
北京 北京
类方法
-
使用@classmethod修饰的方法,使用类名直接访问的方法
-
类方法的使用方式
Student.cm() # 调用的时候不需要print函数 -------------------------------------------------- 使用了@classmethod进行修饰,因此是类方法
静态方法
-
使用@staticmethod修饰的方法,使用类名直接访问的方法
-
静态方法的使用方式
Student.method() -------------------------------------------------- 使用了@staticmethod进行修饰,所以是静态方法

被折叠的 条评论
为什么被折叠?



