前置
python2、3不兼容。脚本的区别可以看print
建议先学习py3,但是py2也得会
解释语言、脚本语言。必会语言之一
以下速记以token-表达式-语句-块-函数-单元等编译原理为逻辑。
以下速记以c/c++ java为基础记不同。(编译型、编译-解释型、解释型)
基础语法
脚本头加
第一行linux直接执行脚本时决定使用什么解释器执行用的。
第二行指定文本的编码方式,解释器按这个编码读取。注释使用中文也要加
但是字串在py解释执行处理存储时不一定与脚本中编码一致,指定utf存储要在字串前加u
py的代码块是使用缩进区别的。同一代码块每条语句缩进必须一致。
py新行作为语句结束,可以使用\将语句分为多行:
引号’、”、’’’|”””都可,三个可以可跨行,且三引号中的字串不会转义
注释用#
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
变量、数据类型
变量不用声明,赋值时创建。
可以使用del删除引用
数据类型:
数字、字串、列表、元组、字典
字串列表有俩种计数,0-n与-1-(-n-1),可以使用[ 头:尾]截取[)
可以使用字串*次数操作
列表使用:
元组-不可修改列表使用:
字典-键值使用:
数据转化:
类型当函数用即可
表达式、语句
算数+-*/%
增加:
**幂
//返回商的整数部分-突出是整数除法
比较== != > < >= <= 注意仅判断值、不判断引用
增加:
<>不等于
赋值= += -= *= /= %= **= //=
位运算符& | ^ ~ << >>
逻辑 and or not (不是|| && !)
成员运算符 in not in 可作用于字串、列表、元组
身份运算符 is is not 判断俩个标识符是否引用同一对象
条件:不用(条件) 注意加:
没有switch
循环
break、continue直接用即可。
pass可以作为一个语句占位。
函数、单元
|
|
py的传参不可变类型(字串、整数、元组)传的是值,可变类型(列表、字典)传的是引用
python模块是一个python文件
模块搜索路径:当前目录、PYTHONPATH、默认路径(一般为/usr/local/lib/python/)
目录分割使用.可以将目录作为包,但要加init
面向对象
类:
创建对象:
回收:
引用计数器和一个循环垃圾收集器
常用功能
字串格式化
字串 % (表达式)
字串中格式化符号与c一致
ljust将原字串填充至指定长度
len() + *都可以用于列表
输入输出
调试python脚本
python -m pdb xxx.py
n、s单步。