每天一点python——day90

复制代码
#每天一点Python——90
#类的创建
python 复制代码
'''
创建类的语法:
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=name
        self.age=age#这是赋值操作
        #这是把self.name实例属性,在这里进行了赋值操作将局部变量name赋值给了self.name实例属性【name可以自己定义】【下面有解释】

    #实例方法
    def eat (self):
        #除了类属性,我们还可以定义实例方法,实例方法与函数定义类似,不过()里面一定要写self【必须写】你也可以换别的单词,但是我们一般用self
        print('学生在吃饭')
    #我们在类之外定义的def叫做函数,在类里面定义的叫做方法
    #静态方法[使用@staticmethod修饰的叫做静态方法]【可以不加@,就使用内置函数staticmethod() 也行,一般用@】
    @staticmethod
    def m1():
        print('我是使用了@staticmethod,所以我是静态方法')
        #在静态方法中,()里面不允许使用self
    #类方法【使用@classmethod修饰的叫做类方法】
    @classmethod
    def cm(cls):
        print('我使用了@classmethod,所以我是类方法')
        #在类方法中()里面必须有cls



#定义函数
def drink():
    print(1)
#这个缩进与class【类】不一致,在类之外,叫做函数
#以上是一个基本创建类的过程,至于怎么用,我们后面继续研究深入



'''
self是形参,必不可少

解释:把name赋值给self. name
name是输入的数据,只能在函数int使用
但self. name可以在类里面的其他函数使用
算我在定义外输入了name,但是我在类里面不能用
需要我在创建类里面需要用self.name转化一下,才可以使用
'''
相关推荐
Metaphor69217 分钟前
使用 Python 在 Excel 中查找并高亮显示
python·信息可视化·excel
旦莫42 分钟前
AI测试Agent的两种架构路径:谁做主控?
人工智能·python·架构·自动化·ai测试
搬石头的马农1 小时前
从零配置Claude自动修Bug:6步打造全自动开发流程
java·人工智能·python·bug·ai编程
暗夜猎手-大魔王1 小时前
转载--Hermes Agent 04 | Agent 主循环:一次对话背后发生了什么
人工智能·python·算法
Wonderful U1 小时前
基于Python+Django的在线题库与智能阅卷系统:从痛点分析到完整实现
开发语言·python·django
码语智行1 小时前
拦截器、接口限流、过滤器、防重发/幂等性功能说明
开发语言·网络·python
孟华苏2 小时前
怎么快速排查内存泄漏问题
java·开发语言·python
noipp2 小时前
推荐题目:洛谷 P16510 [GKS 2015 #C] gRanks
java·c语言·开发语言·c++·python·算法
郑洁文2 小时前
基于Python的HTTP服务漏洞信息收集工具设计与实现
开发语言·python·http
川石课堂软件测试2 小时前
零基础小白如何学习自动化测试
python·功能测试·学习·测试工具·jmeter·压力测试·harmonyos