python是面向对象的语言
不同的数据类型属于不同类 int 8 9 10==同一类、不同对象
类型下面具体的内容-----------对象
python一切皆对象
类的创建
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
pass
#python一切皆对象(检验是否是对象只要看是否具有对象的三要素)
print('',id(Student))
print('type',type(Student))
print('value',Student)
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
place='北京' #直接写在类里面的变量---------称为类属性
def __init__(self,name,age):#初始化方法 #这里面的是局部变量
self.name=name #self.name称为实例属性,进行了一个赋值操作 将局部变量Name的值赋给实例属性
self.age=age
#实例方法 slef
def ext(self): #函数在类之外定义的称为函数、在类之内的称为方法
print('学生在吃饭.....')
#静态方法 使用 staticmethod 修饰 , 什么都不写
@staticmethod
def method():
print('使用了staticmethod进行修饰,所以是静态方法')
#类方法(类方法要求传一个cls)
@classmethod
def cm(cls):
print('使用了classmethod进行修饰,所以是类方法')
# 函数函数在类之外定义的称为函数
def drink():
print('喝水')
对象的创建(类的实例化)
实例名=类名()
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
place='北京' #直接写在类里面的变量---------称为类属性
def __init__(self,name,age):#初始化方法 #这里面的是局部变量
self.name=name #self.name称为实例属性,进行了一个赋值操作 将局部变量Name的值赋给实例属性
self.age=age
# 实例方法 self
def ext(self): #函数在类之外定义的称为函数、在类之内的称为方法
print('学生在吃饭.....')
# 静态方法 使用 staticmethod 修饰 , 什么都不写
@staticmethod
def method():
print('使用了staticmethod进行修饰,所以是静态方法')
# 类方法(类方法要求传一个cls)
@classmethod
def cm(cls):
print('使用了classmethod进行修饰,所以是类方法')
# 函数函数在类之外定义的称为函数
def drink():
print('喝水')
print('--------实例对象----------------')
#创建Student类的对象
stul=Student('张三',20) #根据init来编写的
print(id(stul)) #
print(type(stul))#Student的类型
print(stul)#值 输出的Student的地址的16进制的数
print('-----------类对象-------------')
print(id(Student))
print(type(Student))
print(Student)
实例对象如何调用方法 实例方法传的是实例的对象self
# cyy python study
# 开发时间:2022/6/3 11:44
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
place='北京' #直接写在类里面的变量---------称为类属性
def __init__(self,name,age):#初始化方法 #这里面的是局部变量
self.name=name #self.name称为实例属性,进行了一个赋值操作 将局部变量Name的值赋给实例属性
self.age=age
# 实例方法 self
def ext(self): #函数在类之外定义的称为函数、在类之内的称为方法
print('学生在吃饭.....')
# 静态方法 使用 staticmethod 修饰 , 什么都不写
@staticmethod
def method():
print('使用了staticmethod进行修饰,所以是静态方法')
# 类方法(类方法要求传一个cls)
@classmethod
def cm(cls):
print('使用了classmethod进行修饰,所以是类方法')
# 函数函数在类之外定义的称为函数
def drink():
print('喝水')
print('--------实例对象----------------')
#创建Student类的对象
stul=Student('张三',20) #根据init来编写的
print('--------对象创建完成后、可以调用类方法- 使用. ---------------')
stul.ext() #对象.方法
print(stul.age) #实例属性
print(stul.name)
print('--------对象创建完成后、可以调用类方法- 使用.---------------')
Student.ext(stul) #类名.方法名(类的对象----实际上就是定义处的self)
类属性:类方法外的变量,会被类的所有对象共享
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
place='北京' #直接写在类里面的变量---------称为类属性
def __init__(self,name,age):#初始化方法 #这里面的是局部变量
self.name=name #self.name称为实例属性,进行了一个赋值操作 将局部变量Name的值赋给实例属性
self.age=age
# 实例方法 self
def ext(self): #函数在类之外定义的称为函数、在类之内的称为方法
print('学生在吃饭.....')
# 静态方法 使用 staticmethod 修饰 , 什么都不写
@staticmethod
def method():
print('使用了staticmethod进行修饰,所以是静态方法')
# 类方法(类方法要求传一个cls)
@classmethod
def cm(cls):
print('使用了classmethod进行修饰,所以是类方法')
# 函数函数在类之外定义的称为函数
print('--------使用类属性----------------')
print(Student.place)
print('--------创建对象----------------')
stu1=Student('张三',10)
stu2=Student('李四',20)
print(stu1.place)
print(stu1.place)
print('--------修改属性----------------')
Student.place='天津'
print(stu1.place)
print(stu1.place)
类方法:使用@classmethod修饰,使用类名直接访问
静态方法:使用@staticmethod修饰,使用类名直接访问
class Student: # Student 是类名,由一个或多个单词组成、每个单词的首字母大写 其余小写
place='北京' #直接写在类里面的变量---------称为类属性
def __init__(self,name,age):#初始化方法 #这里面的是局部变量
self.name=name #self.name称为实例属性,进行了一个赋值操作 将局部变量Name的值赋给实例属性
self.age=age
# 实例方法 self
def ext(self): #函数在类之外定义的称为函数、在类之内的称为方法
print('学生在吃饭.....')
# 静态方法 使用 staticmethod 修饰 , 什么都不写
@staticmethod
def method():
print('使用了staticmethod进行修饰,所以是静态方法')
# 类方法(类方法要求传一个cls)
@classmethod
def cm(cls):
print('使用了classmethod进行修饰,所以是类方法')
# 函数函数在类之外定义的称为函数
print('--------使用类方法----------------')
Student.cm()#调用的时候cls不需要传入
print('--------使用静态方法----------------')
Student.method()