Python为解释性语言。Python的缩进格式是严格的
代码注释:
- 单行注释,#开头
- 多行注释,用三个单引号’’’ ‘’'或者三个双引号""" “”"开头
断行
Python中默认一句一行,不需要分号;分隔。但一行有多个语句是可以用分号;分隔。但是当一行太长时,可以用 \ 分隔开。
输入与输出
输入用input() 函数,输出用print() 函数
数据类型
名称 | 类型 | 字节数 | 位数 |
---|---|---|---|
布尔型 | boolean | 1 | 8 |
整型 | int | 4 | 32 |
单精度浮点型 | float | 4 | 32 |
双精度浮点型 | double | 8 | 64 |
字符串类型 | str |
转义字符:换行 ‘\n’, 制表 ‘\t’, 回车 ‘\r’, 退格 ‘\b’, 换页 ‘\f’, 单引号 ‘’’, 双引号’"’ 和 反斜杠 ‘\’
整数:
几进制 | 写法 |
---|---|
二进制 | 0b101 |
八进制 | 0o24 |
十六进制 | 0x3d |
类型转换
强制类型转换:int a =11; float b = float(a);
字符串处理函数
字符串操作 | 描述 |
---|---|
string.capitalize() | 将字符串的第一个字符大写 |
string.count() | 获得字符串中某一子字符串的数目 |
string.find() | 获得某一子字符串的起始位置,无则返回-1 |
string.isdigit() | 检测字符串是仅包含数字 |
string.islower() | 检测字符串是否都为小写字母 |
string.isspace() | 检测字符串中都是空白字符 |
string.istitle() | 检测字符串中首字母为大写 |
string.isupper() | 检测字符串是否都是大写字母 |
string.join() | 连接字符串 |
string.lower() | 将字符串全部转换为小写 |
string.split() | 分割字符串 |
string.swapcase() | 将字符串中的大写字母转换为小写,将小写字母转换为大写字母 |
string.title() | 将字符串重点首字母大写 |
steing.upper() | 将字符串中的全部字母转换为大写 |
len(string) | 获取字符串长度 |
字符串进阶
原始字符串:
当字符串中需要一个"",则用\;当需要两个"\",则用 \.。
当需要两个或两个以上"\",Python可以用原始字符串,即在字符串前面用r 或R作为标志。如 r ‘abc\abc’ ,结果就是’abc\abc’
注意:字符串不能以\结尾
格式化字符串
格式化串 | 意义 |
---|---|
%c | 单个字符 |
%d | 十进制整数 |
%o | 八进制整数 |
%s | 字符串 |
%x | 十六进制整数,其中的字母小写 |
%X | 十六进制整数,其中的字母大写 |
注意:输出bool类型可以用%d.
中文字符串处理
Python 3.x版本已经全面支持中文。
低于该版本,对中文字符串的处理先encode() ,在decode() 。
wd = "我爱Python!"
wd_utf8_bts = wd.encode()
wd_utf8_bts.decode()
结构数据类型
- 列表[ ]
- 元组( )
- 字典{ }
列表操作
列表操作 | 描 述 |
---|---|
list.append(x) | 列表尾部追加成员x |
list.count(x) | 返回列表中的参数x 出现的次数 |
list.extend(L) | 向列表中追加另一个列表L |
list.index(x) | 返回参数x 在列表中的序号,若不存在则报错 |
list.insert(index,object) | 向列表中指定的位置index插入数据object |
list.pop() | 删除列表中尾部的成员并返回删除的成员 |
list.remove(x) | 删除列表中的指定成员(有多个则只删除第一个) |
list.reverse() | 将列表中成员的顺序颠倒 |
list.sort() | 将列表中成员排序 |
元组
元组是一种特殊的列表,一旦建立就不能更改。
元组没有操作
字典
字典操作 | 描 述 |
---|---|
dic.clear() | 清空字典 |
dic.copy() | 复制字典 |
dic.get(k,[default]) | 获得键k 对应的值,不存在则返回default |
dic.items() | 获得由键和值组成的迭代器 |
dic.keys() | 获得键的迭代器 |
dic.pop(k) | 删除k:v的迭代器 |
dic.update(adict) | 从另一个字典更新成员(不存在就创建,存在则覆盖) |
dic.values() | 获得值的迭代器 |
dic.fromkeys(iter,value) | 以列表或元组中给定的键建立字典,默认值为value |
dic.popitem() | 从字典中删除任一k:v项并返回它 |
dic.setdefault(k,default) | 若字典中存在key值为k,则返回其对应的值;否则,在字典中建立一个k:default字典成员 |
运算符与优先级
- 算式运算符: ()、 * 、 /、 %、 +、 - 、++、- -、*=、/=
- 关系运算符:< 、 <= 、 > 、 >=、==、!= 、
- 布尔逻辑运算符:&&、||、!
- 位运算符:&、|、~、^、>>、>>>、<<
- 条件运算符: ?:
其他逻辑操作符: is 和 not is,in 和 not in
is 和 not is 用于判断左端和右端对象引用是否指向同一对象。
x = 3.14
y = x;
x is y #x与y引用同一对象,结果为true
in 和 not in 用于检查某某个数据是否存在于某包含多个成员的数据类型
alst =[1,2,3]
1 in alst #结果为true
序列切片
list[start : end:step],从start开始包含start,到end结束不包含end,每次加步长step
alst = [0,1,2,3,4,5,6,7]
alst[0:5:2] #结果为[0,2,4]
alst[::-1] #[7,6,5,4,3,2,1,0]
alst[2:5] #[2,3,4]
序列内置操作
方法 | 操作方法 |
---|---|
len(s) | 返回s的长度 |
min(s) | 返回s中的最小值 |
max(s) | 返回s 中的最大值 |
sum(s) | 返回s中的各项的和 |
all(s) | s中所有项为真,则返回真,否则为假 |
any(s) | s 中有一项为真,则返回真,否则为假 |
三种控制结构
- 顺序结构
- 选择结构:if……elif……else,
- 循环结构:for、while
x = input('请输入你的总分::')
x = float(x)
if x >= 90:
print('你的成绩为:优。')
elif x >= 80:
print('你的成绩为:良。')
elif x >= 70:
print('你的成绩为:中。')
elif x >= 60:
print('你的成绩为:合格。')
else:
print('你的成绩为:不合格。')
for i in [1,2,3,4,5]:
print(i)
if i == 2:
continue
print(i,'的平方是: ‘,i*i)
if i == 4:
break;
else:
print('循环体结束!');
print(' 第一次循环输出:')
for i in range(4):
print(i) #输出为0,1,2,3
for i in range(0,7,2):
print (i) #结果为0,2,4,6
for语句与内置迭代函数
enumerate(seq ) #编号迭代
sorted(seq ) #排序迭代
reversed(seq) #翻转迭代
zip(seq1,seq2,…) #并行迭代
for i,item in enumerate('abcd'):
print ('第%d个字符是:%s' % (i,item))
#结果为第0个字符是:a
#结果为第1个字符是:b
#结果为第2个字符是:c
#结果为第3个字符是:d
for i in sorted([3,1,6,0]):
print(i) #结果为0,1,3,6
lsta = [1,2]
lstb = [3,4]
lstc = [5,6,7]
for i,j,k in zip(lsta,lstb,lstc):
print('%d:%d:%d' % (i,j,k))
#结果为1:3:5 和 2:4:6
alst = [1,2,3,4,5]
total = len(alst)
i =0
whiel i <total:
print(i,"平方是:",alst[i]*alst[i])
i = i +1
else:
print('循环体结束')