Python语句、表达式、if分支与循环语句
目录
1 语句
1.1 代码风格
PEP8规范
缩进4空格
一行不超过79个字符
空行
1.2 赋值语句
直接赋值
序列赋值
>>> [a,b,c] = (1,2,3)
>>> a
1
>>> b
2
>>> c
3
1.3 扩展序列解包赋值
获取剩余变量到list (注:一个表达式只能有一个)
>>> s = 'nihaoawojiaosailiya'
>>> a,b,*c = s #a,b接受单个,剩下的全给c
>>> a
'n'
>>> b
'i'
>>> c
['h', 'a', 'o', 'a', 'w', 'o', 'j', 'i', 'a', 'o', 's', 'a', 'i', 'l', 'i', 'y', 'a']
>>> a,*b,c = s #a,c接受单个,剩下的全给b
>>> a
'n'
>>> b
['i', 'h', 'a', 'o', 'a', 'w', 'o', 'j', 'i', 'a', 'o', 's', 'a', 'i', 'l', 'i', 'y']
>>> c
'a'
1.4 参数化赋值
>>> a,b = 1,2
>>> a+=b
>>> a
3
2 表达式
2.1 函数调用
>>> a = [1,2,3]
>>> len(a)
3
2.2 字面值
2.3 方法调用
方法与函数的区别:函数更强调全局的作用;方法隶属于类,一般被类所调用
>>> a.extend([3,4])
>>> a
[1, 2, 3, 3, 4]
2.4 打印显示
sep = '分隔符'
end = '终止符'
file = 指定文件
>>> s
'baidu'
>>> url
'www.baidu.com'
>>> print(s,url,sep = '|') #sep指定了分隔符
baidu|www.baidu.com
>>> print(s,url,end = "",file = open('hello.txt','w',encoding = 'utf8')) #结尾不换行,将结果存入一个文件中
3 流程控制
3.1 if语句
一般格式:if...else...
多重分支格式:if...elf...elf...else:
三元运算符:当只有两个可选情况,可以用一行三元运算符来代替一般格式:a = Y if X else Z 中间不加冒号
score = 99
if score >=90:
result = "good boy"
elif score >=60:
result ="ok man"
else:
result = "bad boy"
print(result)
score = 99
result = 'good boy' if score >= 90 else 'bad boy'
print(result)
3.2 while循环
一般格式
while 条件:
循环体
break:用于跳出循环
continue:停止本次循环并进行下一次循环
pass:占位符
else: 当while后接的条件不符时,则调用else中的语句
#输出1到20内的所有奇数
i = 0
while i <= 19:
i+=1
if i % 2 == 0:
continue
print(i,end = ' ')
3.3 for循环
for循环常用于遍历目标
for x in 目标:
emp = {'name':'Tom','job':'development','salary':100000}
for key in emp:
print(key,end = ' ')
for循环也可以搭配else使用,程序将在遍历结束后执行else。
emp = {'name':'Tom','job':'development','salary':100000}
for key in emp:
if key == 'wife':
print('find it!')
break
else: print("Wake up,You have no wife!")
Wake up,You have no wife!
便捷方法遍历,存储和读取数据: x for x in s
>>> s
'baidu.com'
>>> l = [x for x in s if x in s]
>>> s1
'baidu.com'
>>> l = [x for x in s if x in s1] #后面也可以用if自行设置限制条件
>>> l
['b', 'a', 'i', 'd', 'u', '.', 'c', 'o', 'm']
配合range()、enumerate():
for i in range(10): #关于range() 注意:1.取不到右边 2.可定义起始点,终止点,步长
print(i,end = ' ')
0 1 2 3 4 5 6 7 8 9
s = 'baidu.com'
for index,item in enumerate(s):
print('{}) {}'.format(index,item))
0) b
1) a
2) i
3) d
4) u
5) .
6) c
7) o
8) m