Python基础中的必备语法
- 1. 循环语句
- 1.1 循环语句基本使用
- 1.2 综合小案例
- 1.3 break
- 1.4 continue
- 1.5 while else
- 2.字符串格式化
- 2.1 %
- 2.1.1 基本格式化操作
- 2.1.2 百分比
- 2.2 format(推荐)
- 2.3 f
- 3. 运算符
- 3.1 运算符优先级
- 3.2 面试题
- 面试题
各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料!
1. 循环语句
- while循环
- for循环(后期)
while 条件:.........
print("123")
while 条件:.........
print(456)
1.1 循环语句基本使用
示例1:
print("开始")
while True:print("Alex是个小都比")
print("结束")# 输出:
开始
Alex是个小都比
Alex是个小都比
Alex是个小都比
Alex是个小都比
...
示例2:
print("开始")
while 1 > 2:print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")# 输出:
开始
结束
示例3:
data = True
print("开始")
while data:print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")# 输出:
开始
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
...
示例4:
print("开始")
flag = True
while flag:print("滚滚黄河,滔滔长江。")flag = False
print("结束")# 输出:
开始
滚滚黄河,滔滔长江。
结束
示例5:
print("开始")
num = 1
while num < 3:print("滚滚黄河,滔滔长江。")num = 5
print("结束")# 输出:
开始
滚滚黄河,滔滔长江。
结束
示例6:
print("开始")
num = 1
while num < 5:print("给我生命,给我力量。")num = num + 1
print("结束")# 输出:
开始
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
结束
练习题:重复3次输出我爱我的祖国。
num = 1
while num < 4:print("我爱我的祖国")num = num + 1我爱我的祖国
我爱我的祖国
我爱我的祖国
1.2 综合小案例
请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。
# 请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。print("开始运行路飞系统")flag = True
while flag:user = input("请输入用户名:")pwd = input("请输入密码:")if user == "wupeiqi" and pwd == "luffy":print("登录成功")flag = Falseelse:print("用户名或密码错误")print("系统结束")
1.3 break
break,用于在while循环中帮你终止循环。
print("开始")
while True:print("1")breakprint("2")
print("结束")# 输出
开始
1
结束
通过示例来更深入理解break的应用。
示例1:
print("开始")
while True:print("红旗飘飘,军号响。")breakprint("剑已出鞘,雷鸣电闪。")print("从来都是狭路相逢勇者胜。")
print("结束")
示例2:
print("开始")
i = 1
while True:print(i)i = i + 1if i == 101:break
print("结束")# 输出
开始
1
2
...
100
结束
示例3:
print("开始运行系统")
while True:user = input("请输入用户名:")pwd = input("请输入密码:")if user == 'wupeiqi' and pwd = "oldboy":print("登录成功")breakelse:print("用户名或密码错误,请重新登录")
print("系统结束")# 输出
开始运行系统
>>> 用户名
>>> 密码
正确,登录成功系统结束
不正确,一直循环输出
所以,以后写代码时候,想要结束循环可以通过两种方式实现了,即:条件判断 和 break关键字,两种在使用时无好坏之分,只要能实现功能就行。
1.4 continue
continue,在循环中用于 结束本次循环,开始下一次循环。
print("开始")
while True:print(1)continueprint(2)print(3)
print("结束")
示例1:
print("开始")
while True:print("红旗飘飘,军号响。")continueprint("剑已出鞘,雷鸣电闪。")print("从来都是狭路相逢勇者胜。")
print("结束")# 输出
开始
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
...
示例2:
print("开始")
i = 1
while i < 101:if i == 7:i = i + 1continueprint(i)i = i + 1
print("结束")# 输出
开始
1
2
3
4
5
6
8
9
10
...
100
结束
示例3:
print("开始")
i = 1
while True:if i == 7:i = i + 1continueprint(i)i = i + 1if i == 101:break
print("结束")# 输出
开始
1
2
3
4
5
6
8
9
10
...
100
结束
写在最后,对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。
当然,通过如果没有了break和continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。
1.5 while else
当while后的条件不成立时,else中的代码就会执行。
while 条件:代码
else:代码
while False:pass
else:print(123)
num = 1
while num < 5:print(num)num = num + 1
else:print(666)# 输出
1
2
3
4
666
while True:print(123)break
else:print(666)# 输出
123
2.字符串格式化
字符串格式化,使用跟便捷的形式实现字符串的拼接。
2.1 %
2.1.1 基本格式化操作
name = "武沛齐"
# 占位符
# text = "我叫%s,今年18岁" %"武沛齐"
text = "我叫%s,今年18岁" %name
name = "武沛齐"
age = 18# text = "我叫%s,今年%s岁" %("武沛齐",18)
# text = "我叫%s,今年%s岁" %(name,age)
text = "我叫%s,今年%d岁" %(name,age)
https://www.cnblogs.com/wupeiqi/articles/5484747.html
message = "%(name)s你什么时候过来呀?%(user)s今天不在呀。" % {"name": "死鬼", "user": "李杰"}
print(message)
2.1.2 百分比
text = "兄弟,这个片我已经下载了90%了,居然特么的断网了"
print(text)
text = "%s,这个片我已经下载了90%%了,居然特么的断网了" %"兄弟"
print(text)
# 输出:
兄弟,这个片我已经下载了90%了,居然特么的断网了
一旦字符串格式化中存现百分比的显示,请一定要呀加 %% 以实现输出 %。
2.2 format(推荐)
text = "我叫{0},今年18岁".format("武沛齐")text = "我叫{0},今年{1}岁".format("武沛齐",18)text = "我叫{0},今年{1}岁,真是的姓名是{0}。".format("武沛齐",18)
text = "我叫{},今年18岁".format("武沛齐")text = "我叫{},今年{}岁".format("武沛齐",18)text = "我叫{},今年{}岁,真是的姓名是{}。".format("武沛齐",18,"武沛齐")
text = "我叫{n1},今年18岁".format(n1="武沛齐")text = "我叫{n1},今年{age}岁".format(n1="武沛齐",age=18)text = "我叫{n1},今年{age}岁,真是的姓名是{n1}。".format(n1="武沛齐",age=18)
text = "我叫{0},今年{1}岁"
data1 = text.format("武沛齐",666)
data2 = text.format("alex",73)
text = "我叫%s,今年%d岁"
data1 = text %("武沛齐",20)
data2 = text %("alex",84)
2.3 f
到Python3.6版本,更便捷。
text = f"嫂子喜欢{'跑步'},跑完之后满身大汗"
action = "跑步"
text = f"嫂子喜欢{action},跑完之后满身大汗"
name = "喵喵"
age = 19
text = f"嫂子的名字叫{name},今年{age}岁"
print(text)
text = f"嫂子的名字叫喵喵,今年{19 + 2}岁"
print(text)
# 在Python3.8引入
text = f"嫂子的名字叫喵喵,今年{19 + 2=}岁"
print(text)
# 进制转换
v1 = f"嫂子今年{22}岁"
print(v1)v2 = f"嫂子今年{22:#b}岁"
print(v2)v3 = f"嫂子今年{22:#o}岁"
print(v3)v4 = f"嫂子今年{22:#x}岁"
print(v4)
# 理解
text = f"我是{'alex'},我爱大铁锤"name = "alex"
text = f"我是{name},我爱大铁锤"name = "alex"
text = f"我是{ name.upper() },我爱大铁锤"# 输出:我是ALEX,我爱大铁锤
3. 运算符
提到运算符,我想大家首先想到的就是加、减、乘、除之类, 本节要系统的跟大家来聊一聊,我们写代码时常见的运算符可以分为5种:
-
算数运算符,例如:加减乘除
print( 9//2 )
-
比较运算符,例如:大于、小于
注意:python3中不支持
<>
if 1 >2:pass while 1>2:passdata = 1 == 2
-
赋值运算,例如:变量赋值
num = 1 while num < 100:print(num)# num = num + 1num += 1
-
成员运算,例如:是否包含
v1 = "le" in "alex" # True/False # 让用户输入一段文本,检测文本中是否包含敏感词。 text = input("请输入内容:") if "苍老师" in text:print("少儿不宜") else:print(text)
-
逻辑运算,例如:且或非
if username == "alex" and pwd == "123":passdata = 1 > 2 if not data:pass
3.1 运算符优先级
运算符的优先级有很多,常见的没几个,推荐你记住3个即可:
-
算数优先级优先级 大于 比较运算符
if 2 + 10 > 11:print("真") else:print("假")
-
比较运算符优先级 大于 逻辑运算符
if 1>2 and 2<10:print("成立") else:print("不成立")
-
逻辑运算符内部三个优先级 not > and > or
if not 1 and 1>2 or 3 == 8:print("真") else:print("假")
上述这3个优先级从高到低总结:加减乘除 > 比较 > not and or
。绝招:加括号。
3.2 面试题
逻辑运算中:and or
v1 = name == "alex" and pwd == "123"
# v1 = True and Falseif name == "alex" and pwd == "123":pass
v2 = "wupeiqi" and "alex"# 第一步:将and前后的只转换为布尔值 True and True
# 第二步:判断本次操作取悦于谁?由于前面的是True,所以本次逻辑判断取决于后面的值。
# 所以,后面的只等于多少最终结果就是多少。 v2 = "alex"v3 = "" and "alex"
# 第一步:将and前后的只转换为布尔值 False and True
# 第二步:判断本次操作取悦于谁?由于前面的是False,所以本次逻辑判断取决于前面的值。
# 所以,前面的只等于多少最终结果就是多少。 v2 = ""v4 = 1 or 8
# 第一步:将and前后的只转换为布尔值 True or True
# 第二步:判断本次操作取悦于谁?由于前面的是True,所以本次逻辑判断取决于前面的值。
# v4 = 1v5 = 0 or 8
# 第一步:将and前后的只转换为布尔值 False or True
# 第二步:判断本次操作取悦于谁?由于前面的是False,所以本次逻辑判断取决于后面的值。
# v5 = 8
面试题
如果多个and 和or的情况,先计算and再计算or.
v1 = 0 or 4 and 3 or 7 or 9 and 60 or 3 or 7 or 9 and 60 or 3 or 7 or 63 or 7 or 63 or 63
v2 = 8 or 3 and 4 or 2 and 0 or 9 and 78v3 = 0 or 2 and 3 and 4 or 6 and 0 or 34
先计算not,在计算and,最后计算or
v4 = not 8 or 3 and 4 or 24