基础语法
格式
注释:#
缩进:同一代码块缩进相同,作用等同于{}
代码组:缩进相同的一组语句构成一个代码块
首行 关键字(if、while、def和class)开始,冒号:结束
if expression :
suite
elif expression :
suite
else :
suite
多行代码:/ 反斜杠换行;{},[], ()直接换行
一行多条语句:;分隔
输出
print(x):换行
print( x, end=" " ):不换行
导入
import:导入模块
将整个模块(somemodule)导入: import somemodule
form...import...:导入模块中的函数
从某个模块中导入某个函数: from somemodule import somefunction
从某个模块中导入多个函数: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入: from somemodule import *
变量
- 没有类型,不用声明,直接使用
- 使用前必须赋值(=),变量赋值才会被创建:var = 0
- type() ,isinstance()查询变量类型:type(var)== int;isinstance(var,int)
- del 删除变量:del var
数据类型
不可变
number
- int, float
- bool: True ==1, False ==0
- complex(复数:实数部分和虚数部分构成):complex(1.1,2.2)= 1.1+2.2j
- 运算:+,-,*,/(除,返回float),//(除,返回int),%(取余),**(乘方:2**5=32)
- 混合计算时 int 》 float
string
- "", '' 相同,没有char类型
- """,'''指定多行
- \ 转义字符,添加 r 不转义:r"this is a line \n" 显示"this is a line \n" (r 即 raw string)
- 运算符:+ 连接字符,* 重复字符
- 截取:变量名[头下标 : 尾下标 :步长]
- index从左往右:0...n-1,从右往左:-1....-n
Tuple
- (var1,var2,.....varn),var类型可以不同
- index,截取规则同string
- + 连接字符
- (var1,var2,.....varn)不可变,var可为可变类型(e.g. list)
可变
List
- [var1,var2,.....varn]
- index,截取规则,运算符 同string
Set
- {},set()
- 自动去重
- 成员测试:if value in dataset
- 集合运算:a-b(差集),a|b(并集),a&b(交集), a^b (不同时存在的元素)
Dictionary
- {},dict():
dict={}; dict[k1] = v1; dict[k2] = v2
dict([(k1,v1),(k2,v2).......(kn,vn)])
- 无序的 键(key) : 值(value) 的集合,key 必须是不可变类型 且 唯一