- python对象:python像其他面向对象语言一样同样是面向对象开发支持类的概念。即:
-
python在尽可能不添加新的语法的情况下添加了对对象和类的支持,并且尽可能的对类做了最大的支持,如下:
python对象
备注:python类支持继承且支持多继承,子类可以调用父类方法且可以重写父类方法且支持方法重载。
-
python类的声明也是借助于关键字class声明,即:
python类的声明
备注:python属性和其他变量一致,方法和函数大致相同,唯一不同的是类中的所有方法的第一个参数都是指向实例对象的固定参数,默认或者约定的参数名是self,改参数指向当前类的一个实例对象,使用其可以访问类的属性,吐槽一下添加这个大概率是处理python的作用域问题,可以类比java中的类的this对象。
- python类同样存在继承且支持多继承,针对多继承,调用方法会优先在子类中寻找,子类中找不到会从左到右的到父类中去寻找对应的方法。还有就是python的继承语法和java不同没有对应的关键字,声明类的时候使用()在()中写明父类即可。
- python子类可以覆写父类的方法,且没有关键字直接覆写即可。
- python类的属性和方法的作用域可以私有,若私有在声明的时候前面加上两个下划线即:__,私有属性和方法仅能在当前类中调用。
-
python类同样存在构造方法,且默认仅有self一个参数,可以重载添加其他的构造参数,且在构造方法的同时还提供了其他的一系列方法,即:
python类的其他专有方法
-
- python的模块及其作用域(命名空间)
- python的模块:为了方便使用和复用,特别是后续的多次复用,可以将自定义属性和函数写到文件中(扩展名是以.py),在后续的使用中直接引入即可。
- 和其他语言一样,同一个包中不可出现相同的模块,不同的包中可以出现相同的模块。
-
模块的引入有三种引入方式:全量引入/局部引入/全量*引入,即:
全量引入
局部引入
*全量引入
- python的模块:为了方便使用和复用,特别是后续的多次复用,可以将自定义属性和函数写到文件中(扩展名是以.py),在后续的使用中直接引入即可。
- python3的作用域:局部变量/嵌套局部变量/全局变量
- python的属性和变量存在上面三种,作用域:嵌套局部变量<局部变量<全局变量,局部变量和全局变量和java一致,嵌套局部变量是在函数嵌套的过程中声明的变量,python中嵌套局部变量不能访问外面的变量。
-
python提供了global 和 nonlocal关键字用来跨域访问变量,若局部变量想访问全局变量则在函数中使用global声明一下变量即可,嵌套局部变量若想访问局部变量在嵌套函数中使用关键字nonlocal声明局部变量即可。
global关键字
nonlocal关键字
-
和其他语言一致,python也提供了一系列的系统标准库用于项目的简化开发包括当前也有很多开源模块用于简化项目的开发。系统标准库如下:
系统标准库
备注:涉及面太广,此处不再一一展开,后续的学习过程中再扩展即可。针对os和file的方法列表如参考文章:
网友评论