类属性:类中方法外的变量称为属性,被该类的所有对象所共享
#类中方法外的变量称为属性,被该类的所有对象所共享
class Student: #student称为类名,第一个字母大写
native_place='成都' #直接写在类里的变量,称为类属性
def __init__(self,name,age): #初始化方法,括号里面可以再写其他的
self.name=name #self.name 称为实例属性,进行了一个赋值的操作,将局部变量的name赋值给实例属性
self.age=age
#实例方法
def eat(self): #此为规范
print('学生在吃冰淇淋...')
#静态方法
@staticmethod
def method():
print('我使用了staticmethod进行修饰,所以我是静态方法')
#类方法
@classmethod
def cm(cls):
print('我使用了classmethod进行修饰,所以我是类方法')
#类属性的使用方法
print(Student.native_place) #成都
#两个学生对象
stu1=Student('小李',30)
stu2=Student('小仙女',18)
print(stu1.native_place) #成都
print(stu2.native_place) #成都
#修改类的值
Student.native_place='南京'
print(stu1.native_place) #南京
print(stu2.native_place) #南京
#student类对象-->native_place类属性...等
#stu1 stu2 类的对象,分别都有类指针指向student类对象
#类属性被该类的所有对象所共享
类方法:使用@classmethod修饰的方法 ,使用类名直接访问的方法
静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
#类中方法外的变量称为属性,被该类的所有对象所共享
class Student: #student称为类名,第一个字母大写
native_place='成都' #直接写在类里的变量,称为类属性
def __init__(self,name,age): #初始化方法,括号里面可以再写其他的
self.name=name #self.name 称为实例属性,进行了一个赋值的操作,将局部变量的name赋值给实例属性
self.age=age
#实例方法
def eat(self): #此为规范
print('学生在吃冰淇淋...')
#静态方法
@staticmethod
def method():
print('我使用了staticmethod进行修饰,所以我是静态方法')
#类方法
@classmethod
def cm(cls):
print('我使用了classmethod进行修饰,所以我是类方法')
#类属性的使用方法
print(Student.native_place) #成都
#两个学生对象
stu1=Student('小李',30)
stu2=Student('小仙女',18)
print(stu1.native_place) #成都
print(stu2.native_place) #成都
#修改类的值
Student.native_place='南京'
print(stu1.native_place) #南京
print(stu2.native_place) #南京
#student类对象-->native_place类属性...等
#stu1 stu2 类的对象,分别都有类指针指向student类对象
#类属性被该类的所有对象所共享
#类方法 传的是class 用类名去调用
Student.cm() #类名.cm() 我使用了classmethod进行修饰,所以我是类方法
#静态方法 使用类名去调用
Student.method() #我使用了staticmethod进行修饰,所以我是静态方法
#实例方法默认参数是self(#实例方法传的是实例的对象self)
#类方法默认参数是clas
#静态方法没有参数