#每天一点Python——90 #类的创建
'''
创建类的语法:
class 类名:pass【缩进之后写类里面的内容】
[类里面写什么没有想好之前,可以用pass进行占位.可以不报错]
'''
#演示:
class Lei:pass
#以上就上一个类被创建的样例
'''
注意事项:
类名:是由一个或者多个单词,而且要求每个单词的首字母大写,其余小写【这是规范,不遵循也没事,规范不会造成误解】
对象:由三部分组成id{内存空间} 类型 值
python一切皆对象
那么我们创建的这个类Lei是对象吗?
我们验证一下
'''
print(id(Lei))#查看内存空间
print(type(Lei))#查看类型
print(Lei)#查看值
'''
我的输出结果如下
1831088599744
<class 'type'>
<class '__main__.Lei'>
都有
这就是一个类对象
'''
#类的组成部分
'''
类属性
实例方法
静态方法
类方法
'''
#解释:
class Leione:native_place='北京'#【native_place籍贯,直接写在类里面的变量,我们称为类属性,这里是我们定义一个变量native_place='北京'】def __init__(self,name,age):#初始化【一般只有self,后面的name age可以自己添加,我写的是name,age】[还需要注意def __init__(self,name,age):这个里面是def空格+双下划线]self.name=nameself.age=age#这是赋值操作#这是把self.name实例属性,在这里进行了赋值操作将局部变量name赋值给了self.name实例属性【name可以自己定义】【下面有解释】#实例方法def eat (self):#除了类属性,我们还可以定义实例方法,实例方法与函数定义类似,不过()里面一定要写self【必须写】你也可以换别的单词,但是我们一般用selfprint('学生在吃饭')#我们在类之外定义的def叫做函数,在类里面定义的叫做方法#静态方法[使用@staticmethod修饰的叫做静态方法]【可以不加@,就使用内置函数staticmethod() 也行,一般用@】@staticmethoddef m1():print('我是使用了@staticmethod,所以我是静态方法')#在静态方法中,()里面不允许使用self#类方法【使用@classmethod修饰的叫做类方法】@classmethoddef cm(cls):print('我使用了@classmethod,所以我是类方法')#在类方法中()里面必须有cls#定义函数
def drink():print(1)
#这个缩进与class【类】不一致,在类之外,叫做函数
#以上是一个基本创建类的过程,至于怎么用,我们后面继续研究深入'''
self是形参,必不可少解释:把name赋值给self. name
name是输入的数据,只能在函数int使用
但self. name可以在类里面的其他函数使用
算我在定义外输入了name,但是我在类里面不能用
需要我在创建类里面需要用self.name转化一下,才可以使用
'''