语句和表达式
代码风格
符合PEP8规范,冒号换行缩进四空格,一行不超过79字节,不同逻辑体之间留空行,一般不超过两行。
赋值语句
1、基本赋值
x=10
y=20
2、序列赋值
x,y=10,20
>>> x,y,z='hao'
>>> x
'h'
>>> y
'a'
>>> z
'o'
3、 扩展序列解包赋值,*c变量,获取剩余元素到一个列表中
>>> x,y,*z='woshishei'
>>> x
'w'
>>> y
'o'
>>> z
['s', 'h', 'i', 's', 'h', 'e', 'i']
4、多目标赋值
>>> a=b=0
>>> a
0
>>> b
0
5、参数化赋值a+=b
>>> a,b = 1,2
>>> a+=b
>>> a
3
表达式
1、函数调用与方法调用
“方法”是程序设计中一个专有名词,属于面向对象程序设计领域。在python解释器内部,所有数据类型都采用面向对象方式实现,大部分数据类型都有一些处理方法。函数采用func(x)方式调用,而方法采用’<a> .func(x)形式调用,方法以前导对象<a>为输入。如对于列表lt有函数len(lt)和方法lt.append(x)。
2、 打印操作
print()函数参数
sep=‘分隔符’, end=‘终止符’,file=‘指定文件’
>>> print(x,y,z,end='*',sep='/')
10/20/25*
给出指定文件后会直接将打印结果保存到文件中
>>>print(x,y,z,end='*',sep='/',file=open(r'C:\Users\Administrator\Desktop\mv.txt','wt',encoding='utf-8'))
流程控制
if语句
- 单分支if,if里面的条件为True的时候就执行if下面语句块
a=10
if a>0:
print('a为正数')
- 二分支if-else,二分支根据条件的True或False结果产生两条路径。
a=10
if a>0:
print('a为正数')
else:
print('a为负数')
- 多重分支if-elif-else
score=85
if score>=80:
print('成绩优秀')
elif score>=70:
print('成绩良好')
elif score>=60:
print('成绩及格')
else:
print('成绩不及格')
打印结果为:
成绩优秀
多个if和elif的区别:elif满足一个条件执行后续代码将不会继续执行,而if会每个条件都进行判断。
如将上述elif改为全部if
score=85
if score>=80:
print('成绩优秀')
if score>=70:
print('成绩良好')
if score>=60:
print('成绩及格')
else:
print('成绩不及格')
打印结果为:
成绩优秀
成绩良好
成绩及格
- 三元表达式 a=x if y else z
score=85
print('成绩优秀') if score>=80 else print('成绩不优秀')
while循环
- 一般格式,条件为True时执行后续语句块。
while True:
print('hello world')
- break跳出整个当前循环
while True:
s = input("请输入一个名字(按Q退出):")
if s == 'Q':
break
print('输入的名字是:',s)
print("程序退出")
执行结果为:
>>>
请输入一个名字(按Q退出):joe
输入的名字是: joe
请输入一个名字(按Q退出):Q
程序退出
continue结束本次循环
s=10
while s>0:
s-=1
if s%2 == 0:
continue
print('{}为正奇数'.format(s))
输出结果为:
>>>
9为正奇数
7为正奇数
5为正奇数
3为正奇数
1为正奇数
break和continue作为循环控制同样适用于for循环。
-
pass占位符
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。 -
else在循环正常执行之后(无break跳出)会执行
s,idx = 'py',0
while idx < len(s):
print("循环执行中:"+s[idx])
idx +=1
else:
s='循环正常结束'
print(s)
执行结果:
>>>
循环执行中:p
循环执行中:y
循环正常结束
对于for循环也是如此,遍历循环没有break终止时else语句将会执行。
for循环
-
range()函数
-
range()函数生成一个可迭代的对象,其运行性能优于生成一个完整数据列表,每次取出迭代值。
>>> [i for i in range(5)]
[0, 1, 2, 3, 4]
-
enumerate()函数
enumerate() 函数用于将一个可迭代的数据对象(如列表、元组或字符串),将该对象的元素与下标组合为一个的元组,元组集合为一个可迭代的enumerate对象,一般用在 for 循环当中。
ls=['小明','小红','小黄']
for idx,name in enumerate(ls):
print(idx,name)
输出结果
0 小明
1 小红
2 小黄