- 一、指导方针
- 二、语法与常用库
- (1)基础语法
- a、数据类型、函数、面向对象、模块
- b、语句
- (2)常用库
- 三、修复bug
- 四、插件拓展
- 五、记忆卡片
指导方针:IDE提示,哪里找,常用模块及命令
- Python标准库: 如builtins、math、datetime
- 菜鸟教程查用法
- IDE:自动补全tab、函数用法
- 命令行dir(builtins):查看库/类下所有的类、函数/方法和属性
- 命令行help(abs):查看库的说明、函数的使用、变量的操作
关于dir和help的作用:分析 ('list' and 'len') in dir(builtins)和help(builtins.list)和help(builtins.len)
- 数字:3e-2,1+2j,常量pi,e
- 字符串、列表、元组:变量[头下标:尾下标:步长](ps:左闭右开)
- a=[]/{}/()/set();type(a):list/dir/tuple/set
- tuple的元素不能修改,但也可以*+
- list/dir/tuple/set推导式: []/{}/tuple()/{}
- isinstance()会认为子类是一种父类类型;type()不会认为子类是一种父类类型;
isinstance(True, int)为True;
type(True)==int为False - 运算符:/,%,//;&,^,<<(位运算符把数字看作二进制来进行计算,集合运算);and,or,not逻辑运算符;in,not in成员运算符返回bool值;is,not is身份运算符
- is: 判断两个变量内存地址id是否一样。只有数值型和字符串型,并且在通用对象池中的情况下,a is b才为True;否则当a和b是int、str、tuple、list、dict或set型时,a is b均为False1
- ==: 判断两个变量的值是否相等。其中True为1,False为0.
- 函数的参数:必选参数,默认参数,*args可变参数tuple(调用时,在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去),**kw关键字参数,*,name1,name2命名关键字参数。
- 类:属性(类变量、实例变量:__init__里的self.变量名) 类变量定义在“类里方法外”的变量,是该类所有实例共享的变量,但是实例对象只能访问、不可修改类变量,类变量只能通过[类名.类变量名]进行修改,每个实例对象去访问同一个类变量[实例名.类变量名]都将得到相同结果。通过对象名引用变量,会先找有没有这个同名的实例变量,如果没有,引用到的才是类变量)和方法(类的方法第一个参数必须self‘或任意名字’,代表类的实例,而非类)、继承(多个基类、方法重写),私有属性和方法(双下划线开头,只能在类的内部使用),专有方法(双下划线开头结尾,魔术方法)
- if __name__ == '__main__':使该模块被另一个程序第一次引入时,其主程序不运行
- assert语句2:assert expression,不满足条件则直接触发异常,不必执行接下来的代码
- print语句:print(“%.2f”%(3.333))和print(“{:<8d.2f}”.format())
- break 语句: 可以跳出for和while的循环体且循环语句的else子句也不执行。
- del:删除
- lambda语句(匿名函数):lambda: [arg1[,argn]]:expression
- try:执行代码 except:发生任何异常时执行的代码 else:没有发生任何异常时执行的代码 finally:无论是否发生异常都将执行的代码
- with关键字系统会自动调用f.close()方法, with的作用等效于文件处理中的try/finally语句with open('./test_runoob.txt') as f: read_data = f.read()
- os模块:chdir,getcwd,listdir,os.path模块(主要用于获取文件的属性:abspath,basename,dirname,join,split)
function usage os.getcwd() 获取当前工作目录,也就是在哪个目录下运行这个程序 os.path.abspath("train.py“) 获取train.py这个文件的绝对路径 os.path.abspath(__file__) 只有当脚本执行时,获取当前脚本的完整路径 - builtins模块:里面有内置函数3,不需要写成builtins.function(),可直接使用。如len()help()dir()listdictsettuple
- keyword模块:包含对python关键字(如assert、break、global、nonlocal)进行操作的函数
- 内置模块的str类: capitalize,count,find,is系列如islower,join,len,lower,max,replace,split,swapcase,title,upper
- 内置模块的list类: list,append,count,index,remove,sort
- 内置模块的dict类:item,keys,values
- 内置模块的set类: add,update,remove
- keyword模块:包含对python关键字(如assert、end)进行操作的函数
- math模块:ceil,fabs,modf,round,acos,degrees
- random模块: random,seed,shuffle,uniform
- copy模块:copy
- 内置io模块:open函数(r,w,a)返回TextIOWrapper修饰器,里面包含read,readline,write,close
- datetime模块:date.today
- typing模块:自带弱类型注解(type hints),如long,int,float,bool,str,list,tuple等:s: str = ‘abc’; def add(a: int=0) -> int。引入typing模块进行强类型注解,如List,Set,Iterator,Any,NoReturn,Sequence,Union等:def func(a: int, string: str) -> Union[int, str, [int, float]]
- vscode中.py文件运行时os.getcwd()获取当前工作目录,而调试时获取当前工程目录。所以调试时加一行: os.chdir('./工程下的工作目录')
- 语法错误(SyntaxError)和异常(运行期检测到的错误,以不同的类型出现)
- ctrl+shift+p:调出命令板(vscode自带命令和插件扩展命令,也可以修改命令快捷键)
- vscode用markdown编辑时,插入粘贴板的图片:ctrl+alt+v或先ctrl+shift+p再paste image(利用了paste image插件)
1.数字和常数
2.切片
3.空列表、集合、元组、字典
4.哪个元素不可修改
5.推导式
6.判断类型
7.运算符:算术、位、集合、逻辑
8.in, is, ==
9.ctrl+shift+p, ctrl+alt+v
1、函数的参数
2、类的属性/方法,继承; 魔术方法
3、只在当前模块运行: name
4、assert, print, break,else, del,raise
5、lambda, try, except, else, finally,with
6、global,nonlocal,end
7、SyntaxError和异常
1、builtins:len,help,dir,open(r,w,a),class list/tuple/str
TextIOWrapper: read,readline,write,close
str: capitalize,count,find,islower,join,max,
replace,split,title,upper,lower
list: append,count,index,remove,sort
dict: keys,values,item
set: add,update,remove
2、os: chdir,getcwd,listdir;
path.abspath,basename,dirname,join,split
3、math: ceil,modf,fabs,round,acos,degree
4、random: random,seed,shuffle,uniform
5、copy: copy,deepcopy
6、datetime: date.today
7、typing:long,int,float,bool,str,list,tuple;List,Set,Iterator,Any,NoReturn,Sequence,Union
https://www.cnblogs.com/CheeseZH/p/5260560.html ↩︎
https://blog.csdn.net/qq_38973721/article/details/105813603 ↩︎
https://docs.python.org/zh-cn/3.7/library/functions.html ↩︎



