python基本语法
数据类型
python的变量赋值不需要声明类型,由解释器自动判断,python中有五种标准数据类型
数字
数值可以是整数,浮点数,复数
1 | #变量名 = 数值 |
字符串
赋值
1
2#用引号括起来
string = "abcefg...e"取值顺序
python中字符串的取值顺序有两种:
- 从左到右,索引默认从0开始,到 $(length-1)$ 结束
- 从右到左,索引默认从-1开始,到 $(-length)$ 结束
1
2
3
4
5s = "123456"
print(s[0]) #输出1
print(s[5]) #输出6
print(s[-1]) #输出6
print(s[-6]) #输出1
子串截取
1
2
3
4
5
6#字符串[头下标:尾下标] 返回从头下标到尾下标-1的字符串,头必须在尾前面
s = "123456"
s1 = s[1:5] #s1 = "2345"
s2 = s[-5:5] #s2 = "2345"
s3 = s[1:] #s3 = "23456"
s4 = s[:-1] #s4 = "12345"运算符
字符串支持加法运算与乘法运算(重复)
1
2
3
4str1 = "hello"
str2 = "hi"
str3 = str1 + str2 #str3 = "hellohi"
str4 = str2 * 2 #str4 = "hihi"其他用法
1
2
3s1 in s2 #判断s1是否在s2内
s1.find(s2) #返回s1在s2中出现的位置
s1.split(s2) #将s1按s2分割,返回分割后的列表
列表
列表用’[ ]’标识,列表中可以存储不同类型的数据,也可以进行列表的嵌套
列表的索引顺序与字符串相同
赋值
1
list = [12,"abc",'a','b,',3.14]
截取方式
列表的截取方式与字符串相同,在此基础上可以多加一个参数设置截取的步长
1
2list2 = list[0:4:2]
#list2 = [12,'a']列表的遍历
1
2for item in list
#item依次读取列表的项列表解析
根据已有列表,高效创建新列表的方式。
列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。
语法: [expression for iter_val in iterable (if cond_expr)]1
2List1 = [0 for i in range(n)] #创建初始值为0,长度为n的列表
List2 = [[k for i in range(n)] for j in range(m)] #创建初始值为k的n*m的二维列表其他用法
1
2
3
4
5list.append(item) #将item添加到list的末尾
list.pop(cur) #返回下标为cur的元素,并将该元素从列表中移除
list.remove(item) #将item项从列表中移除
list.join(str) #将列表用字串str连接,返回连接后的字符串
item in list #若item项在list中则返回true否则返回false
元组
元组用'( )'标识,内部元素用逗号隔开,元组类似于列表,但不能够二次赋值.
字典
类似C语言里面的map,采用键值对的形式存储数据,采用’{}’标识
赋值
1
2
3
4dic = {}
dic[2] = "ho"
dic['a'] = 128
dict = {'name':'alice','age':18}其他用法
1
2
3dict.keys() #返回字典中所有键组成的列表
dict.values() #返回字典中所有值所组成的列表
dict.items() #返回字典中所有键值对组成的元组的列表
数据类型转换
1 | str(x) 将对象x转换为字符串 |
数据结构
队列
1 | import Queue |
高级语法
装饰器 decorator
本质上decorator是一个返回函数的高阶函数,可实现动态增加函数的功能的效果
1 | #利用decorator实现函数运行过程中打印信息 |