1、查询python版本:在win7下的运行中输入“cmd”,打开终端输入“python”,即可显示当前设备的安装python版本信息。
2、对于变量的使用,不能优先于赋值过程。
3、对于通过点击执行py文件时,“一闪而过”的解决办法:在最后添加一个input(),对于检测到输入结束的回车才会结束控制台的显示。
这里说明下:在python2中有input()和raw_input();input()用于读取基于python合法的输出内容;raw_input()则是读取控制台的所有输入(包括基于python合法的输出内容,范围比input大)。不过在python3中合并了两个功能,删除了raw_input()
4、导入文件(模块)操作 :import bs4 # 将文件‘bs4’导入到当前的文件
这个操作开销很大,文件与程序运行只有一次。再次运行需要reload(文件名.方法名)
form是将文件中的函数方法复制到当前的文件。
5、对于模块的理解:可以认为是一类方法写在一个程序中的文件
6、序列:字符串,列表,元组,其中的字符串和元组具有不可变性
2018-11-7 00:39:55
7、默认值参数需要放在位置参数的后面,不然,在参数传递的时候,默认参数被赋值了,需要的位置参数没有赋值。
8、对于可变参数指的是“可变数量的参数”。分为两种情况:
1.*param:将多个参数手机到一个 元组 对象中
2.**param:将多个参数手机到一个 字典 对象中
9、在可变参数后面,如果还有新的参数,必须要强制命名参数:对函数调用的时候,实参需要强制赋值。
10、lambda:匿名函数,简单函数:格式为:lambda 变量,变量,变量,…:表达式
变量,变量,变量,…(函数形参):表达式(函数功能表达)
11、eval():
12、nonlocal、global:
nonlocal修改外层函数变量
global修改全局变量
13、LEGB:local-》enclosed -》 global -》builtin(局部、闭包(嵌套函数)、全局、内置(函数))
面向对象与类
14、面向过程与面向对象(并非简单的独立,反而需要相互嵌套,一般面向对象就处于顶层)
面向过程:执行流程操作,有前后逻辑关系的行为过程
面向对象:分析对象结构操作,从认识事物对象的角度去设计创造对象
15、对象:数据(被执行对象)、函数(执行方法)
对象的作用:依据执行方法将被执行的事物就行加工成需要的形式。
16、类:首字母大写,驼峰
17、init():初始化【构造器,必有self(这个名字不固定,但必须作为对象的本身),无返回形式,实质是将实参创建的对象返回】
new():创建
18、定义函数的时候没有self。在定义类属性方法中有self。
19、函数与方法的区别:
a、功能:都是一个功能模块,实现特定功能;
b、方法有self,函数没有;
c、方法在类里面,函数与类无关,调用方法是要类对象的,调用函数是不需要对象的;
d、类的方法可以一样,不过一般数据属性不样
20、ininstance:判断类 布尔返回
21、实例属性与类属性的区别:
实例属性在类的初始化中,是对象需要引入的变量,属于实例对象,调用:self.xxx
类属性,在类中,所有类中的实例对象共用的属性,属于类:.xxx
22、类方法:使用装饰器@classmethod 开头;def 类方法名(cls,形参):后面是函数语句。操作类属性。对象就是class本身,不是实例类。
23、静态方法:@staticmathod 与类对象无关;可以拿出来作为一个独立的函数(为啥不是方法,因为没有self,没有对象关系。)
24、del 析构:销毁,释放资源。垃圾回收时监测被引用计数来判断是否为0,没有调用就会被销毁。
25、__call__可调:类似函数
26、方法是对象,函数也是对象,python就是对象的编程语言
27、私有方法,私有属性:
”__“开头的方法与属性就是私有属性;类的内部可以访问私有属性(方法);""
类的外部也可以访问,但是不能直接访问;外部访问需要通过 ”._类名__私有属性名“
这是python老版本的使用
当前使用的是python3.7。对于私有属性的调用,不需要加前面的:_类名;这里可以理解为:私有属性在属性初始化中用有下划线开头作为一个标志,在访问的使用也需要加上这个下划线。
28、@property装饰器是将方法调用变为属性调用。
29、对象属性查询:print(dir(类名称))
30、继承:子类可以继承父类除了构造方法以外的所有成员
继承层次结构:classname.mro()
对于多重继承的继承顺序与父类顺序引用一致。
31、super():获取父类的定义,super后面跟父类中的定义对象
32、多态:不同对象调用同一个方法有不同行为。方法多态,属性没有多态。多态的要求:继承与重写
33、特殊属性:dir dict base subclasses
34、浅拷贝与深拷贝:copy浅拷贝:对象包含的子对象不拷贝,源对象与拷贝对象会引用到同一个子对象;deepcopy深拷贝:递归拷贝对象中的包含的子对象。源对象与拷贝对象的子对象是不同的。
35、工厂模式与单例模式
工厂模式:
单例模式:一个实例