python学习第四天(自用)
类型注解告知此项内容该填什么类型的数据list这种可以存放多种数据类型的结构是可以选择限制多种种类的如list[str | int]这样既可以有str也可以存int但仅仅是提示没办法阻止程序运行结果类型推断函数类型注解其实就是对形参进行注解也可以对返回值进行注解Python模块导入模块,import 是直接导入整个模块因此使用里面的变量方法等则需要模块.内容而导入功能则是可以直接使用无需加模块.Python命名一般将常量名定义为全部大写虽然python未指定但是一般命名规范是这样的Python内置特殊变量__name__# python内置变量,__name__,若是在当前模块中则显示为__main__,若是在别的模块中则显示该模块名,如my_func#因此为什么写成if __name__ __main__来判断是否为本模块就是这个道理,而__name__是str类型导入自定义模块将if注释掉后输出为该模块的名字__all__就是代表import *时将*指定为all里面的内容只影响*不影响指定导入包,package__init__.py表示这个文件夹是一个包用来管理模块的如果没有这个init文件则表示它只是个普通文件夹导入包内的模块就是包.模块 import功能面向过程关注要做的步骤不关心谁来做面向对象万物皆对象对象包含功能和特征关注的是这个步骤由谁来做类与对象的关系类就是相当于一个模板所有对象都有这样的功能只不过可能细节上不同但大致上是一样的对象是类实例化出来的一个个具体的例子如月饼脱模器能造出月饼但不知道月饼的皮是什么颜色的是什么材质的可以自己定义但都是月饼的形状类的定义虽然可以动态添加属性但是不推荐因为没法显式的知晓你这个类有什么属性下面这种是我们推荐的使用方式实例方法魔法方法即python解释器自动调用的方法如__init__,__eq__等若单纯比较则无法比较要想比较则得自定义内容想让其直接输出内容而不输出地址则需要str方法下面是一些常用的魔法方法使用实例属性与类属性正常定义的属性就是实例属性针对于实例对象的属性而在__init__之外的属性成为类属性所有实例对象都可以访问类属性若属性名相同则会先访问实例属性再去访问类属性若创建相同名字的实例属性则优先输出实例属性也可通过类名访问类属性