什么是表达式?
比较底层的概念,在C语言中才被提到
表达式expression是运算符operator和操作数operand所构成的序列
序列是多个元素构成的,具有顺序,如1 + 2 * 3
a = 1 + 2 * 3也是表达式,赋值符号=也是运算符,故也是表达式
函数int('1')也是表达式
表达式的优先级:
- 一般规律:从左到右(左结合),特例:= 出现,结构顺序会从右到左(右结合);
- 使用圆括号可强制优先级,括号的优先级是最高的;
- 优先级区分:不同类型运算符 和 同类型运算符之间均有优先级区分;
如:逻辑运算符 not > and > or;
a, b, c = 1, 2, 2
not a or b +2 ==c
# 优先级顺序
(not) a or ((b+2)==c)
二.流程控制语句
1.条件控制
基本用法 if ... sele ...
'''
if 表达式:
表达式为True执行
else:
表达式为False时执行
'''
if 1 > 2:
print('asdasd')
else:
print('hehe')
用户登录流程小练习:
ACCOUNT = 'xiaowang'
PASSWORD = '123456'
print('请输入用户名')
user_account = input()
if ACCOUNT == user_account:
print('请输入密码')
user_password = input()
if PASSWORD == user_password:
print('登录成功')
else:
print('密码错误')
else:
print('用户名不正确')
根据变量值来决定流程,使用elif可以使代码更简洁
python 中没有 switch 可以使用elif替代
print('请输入q,w,e')
a = input()
if a == 'q':
print('11111')
elif a == 'w':
print('22222')
elif a == 'e':
print('33333')
else:
print('非q,w,e')
编码规范小知识:
- 一个编码文件的开头,应存在模块说明,格式:'''一段代码'''
- constant 常量,命名全为大写字母
- if函数中的:前不留空格;if函数中,: 后面的值内容之前空出4格
- 程序的末尾需空出一行
- 运算符前后各空一格
- pass 空语句,什么都不执行;可用来占位,这样代码不会报错;
- 分支嵌套:在已有的分支里面嵌套一个或多个分支;
- 代码块:Python是使用缩进来区分代码块;相同级别的代码块都会执行;不建议写太多层级的代码块,阅读性会变差;
2.循环控制
1.while 常用来做递归
# while 后面的表达式为True时,会执行while下的代码块
CONDITION = True
while CONDITION:
print('我想变有钱')
while的使用方法
counter = 1
while counter <=10
counter += 1
print(counter)
else: # 当while后的表达式为False时,执行else 中的代码块
print('eee')
2.for 主要是用来遍历/循环,序列或者集合字典
# 遍历a中的所有元素
a = ['香菱','重云','行秋','奥兹']
for x in a:
print(x)
else:
print('for循环执行完之后会执行else中的代码块')
# 遍历嵌套列表a中的所有元素
a = [['香菱','重云','行秋','奥兹']['北斗','班尼特']]
for x in a:
for y in x:
print(y)
跳出循环关键字 break(强行终止循环,之后的循环不再执行)
break 只能跳出上一层循环,注意嵌套的话,外层循环会继续执行
a = ['香菱','重云','行秋','奥兹']
for x in a:
if x == '行秋':
break # 当循环到行秋时,跳出整个循环,不再执行
print(x)
跳出当前循环,继续下移次循环 continue
a = ['香菱','重云','行秋','奥兹']
for x in a:
if x == '行秋':
continue # 当循环到行秋时,跳出当前循环,执行下一次循环
print(x)
如果for循环是被中断,而不是执行完成不会执行else 中的代码块
range() 函数与for 结合使用
'''
从start开始计数
计数到stop结束,不包括stop
step,步长,默认为1
'''
range(start, stop[, step])
# 从0开始,10个元素
for x in range(0,10):
print(x)
# 递增
for x in range(0,10,2):
print(x)
# 递减
for x in range(10,0,-2):
print(x)