记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化
python基础3-分支与循环语句
- python中 有哪些基本值是被当作true或者false的呢?
- if语句示例
- 被视为 False 的情况
- 被视为 True 的情况
- while语句示例
- 这个循环不会执行,因为空字符串在Python中被视为False
- range()函数
- for循环
- contiune
- break
- pass
- while循环
- continue
- break
- pass
- 实践是检验真理的唯一标准
python中 有哪些基本值是被当作true或者false的呢?
在Python中,以下值被视为 False:
False —— 布尔假值。
None —— 空值。
0, 0.0 —— 数值0和0.0。
[], (), {} —— 空的列表、元组和字典。
'' —— 空字符串。
b'' —— 空的字节字符串。
set() —— 空集合。
除了上述值以外,其他所有值都被视为 True,包括但不限于:True —— 布尔真值。
任何非空的字符串,例如 "hello"、"0"、"False"。
任何非零的数值,例如 1、3.14、-2。
任何非空的列表、元组、字典、集合、字节字符串等,例如 [1]、(1,)、{"key": "value"}、{1, 2, 3}、b'hello'。
任何自定义对象的实例,除非该类的 __bool__() 或 __len__() 方法返回了 False 或 0。
if语句示例
被视为 False 的情况
if not True:print("This won't be printed.")if []: # 空列表print("This won't be printed.")if 0: # 零值print("This won't be printed.")
被视为 True 的情况
if True:print("This will be printed.")if "hello": # 非空字符串print("This will be printed.")if [1, 2, 3]: # 非空列表print("This will be printed.")if 1: # 非零值print("This will be printed.")
while语句示例
x = 0
while x == 0:print("Looping until x is no longer 0")x = x + 1
这个循环不会执行,因为空字符串在Python中被视为False
continue_loop = ''
while continue_loop:print("This won't be printed.")break # 需要显式的break来退出循环,因为循环条件始终为False
range()函数
class range(start, stop[, step])
开始
start
start 形参的值 (如果该形参未提供则为 0)
结束
stop
stop 形参的值
步长
step
step 形参的值 (如果该形参未提供则为 1)
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i, j in zip(range(len(list1)), list2):print(f"Index {i}: {j}")
for循环
contiune
使用 continue 跳过某些迭代
for i in range(1, 10):if i % 2 == 0:continue # 跳过偶数print(i)
打印1到9之间的所有奇数,因为当i为偶数时,continue语句会跳过当前迭代。
break
使用 break 退出循环
for i in range(1, 10):if i == 5:break # 当 i 等于 5 时退出循环print(i)
在打印数字1到4后退出循环,因为当i等于5时,break语句会立即终止循环。
pass
使用 pass 作为占位符
for i in range(3):if i == 1:pass # 这里什么也不做else:print(i)
会打印0和2,因为当i等于1时,pass语句什么也不做,所以只有i不等于1时才会执行print语句。
while循环
continue
这段代码会打印1到9之间的所有奇数,因为当i为偶数时,continue语句会跳过当前迭代。
i = 1
while i < 10:if i % 2 == 0:i += 1continue # 跳过偶数print(i)i += 1
break
i = 1
while i < 10:if i == 5:break # 当 i 等于 5 时退出循环print(i)i += 1
这段代码会打印1到4的数字,然后退出循环,因为当i等于5时,break语句会终止循环。
pass
while True:
pass # 这是一个无限循环,什么也不做
实践如下:
#if选择语句
a=-11
#嵌套if
if a>100:print('yes')
#只进入一个分支,也即是相同条件不能出现,会出现问题
elif a>=100:#这里是有问题的print('no')
else:if a>10:print('yes')elif a==0:print('no')else:print('negaticve')
#while 循环语句
b=10
#不太明确次数就用whil
# 如果知道明确次数,则用for循环
while b:print(b)b-=1
#死循环
'''c=-10
while c:print(c)c-=1'''
print('-----------------')
# for循环,遍历元素
for i in [1,2,3,]:print(i)
print('-----------------')
#for特点,每次都是驱动执行一次,range(x,y),从0开始
for i in range(3):print(i)
print('-----------------')
for i in range(10,1,-1):print(i)
#计算10以内的奇数,可以取模,也可以直接移位
for i in range(10):if i%2 == 1:print('奇数:',i)else:print('偶数:',i)
print('---------------')
# 取偶数
# range(start,end,step)step步长
for i in range(0,10,2):print("取偶数:",i)
#取奇数
for i in range(1,10,2):print("取奇数:",i)
## 无实际意义,没有迭代值for i in range(-1):print(i)
#计算2^0-2^10
for i in range(11):print(pow(2,i))
print('----------------')
# 倒序打印10以内的奇数
for i in range(9,0,-2):print(i)
print('*****************')
for i in range(10):if i%2 == 1:print(i)
print('----------------')
# 倒序打印10以内的偶数
for i in range(8,-1,-2):print(i)
print('*****************')
for i in range(10):if i%2 == 0:print(i)
print('++++++++++++++++++')
#循环中contiune break pass关键词
#contiune:跳出本次循环,进行下次循环
for i in range(0,10):if i%2:continueprint(i)
else:print("不用跳出的循环")
#break:终止本次(最近的)循环,解释本次循环
for i in range(1,10):print(i)if i==5:break
print('++++++++++++++++++')
#pass 占位符,不做任何操作
#计算1000以内被7整除的前20个正整数
count=0
for i in range(7,1000,7):count +=1print(i)if(count==20):break#终止当前循环,countinue跳出本次循环,进行下次循环,pass
print('计数器:',count)
#注意点:for没有被break终止,则可以执行后续的else子句,条件是tange(0)也可以执行else子句
for i in range(0):if():print(i)#这里的else已经不是和if对应的,是单独的,看缩进
else:print("谢谢谢谢")
print('&&&&&&&&&&&&&&&&&&&&')
#字符串拼接
print(str(1)+','+'abc')
print(type("{}-{}".format(1,'a')))
wd1=100
wd2='abc'
print(f'{wd1}-{wd2}')
print(type(f'{wd1}-{wd2}'))
# 在循环中常用range()函数
print('^^^^^^^^^^^^^^^^^^^^^^^^')
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for i, j in zip(range(len(list1)), list2):print(f"Index {i}: {j}")
#顺序语句,从上至下,这个没什么好说的。
终端回显如下:
F:\anaconda\python.exe E:\py_dwtest\分支循环语句.py
negaticve
10
9
8
7
6
5
4
3
2
1
-----------------
1
2
3
-----------------
0
1
2
-----------------
10
9
8
7
6
5
4
3
2
偶数: 0
奇数: 1
偶数: 2
奇数: 3
偶数: 4
奇数: 5
偶数: 6
奇数: 7
偶数: 8
奇数: 9
---------------
取偶数: 0
取偶数: 2
取偶数: 4
取偶数: 6
取偶数: 8
取奇数: 1
取奇数: 3
取奇数: 5
取奇数: 7
取奇数: 9
1
2
4
8
16
32
64
128
256
512
1024
----------------
9
7
5
3
1
*****************
1
3
5
7
9
----------------
8
6
4
2
0
*****************
0
2
4
6
8
++++++++++++++++++
0
2
4
6
8
不用跳出的循环
1
2
3
4
5
++++++++++++++++++
7
14
21
28
35
42
49
56
63
70
77
84
91
98
105
112
119
126
133
140
计数器: 20
谢谢谢谢
&&&&&&&&&&&&&&&&&&&&
1,abc
<class 'str'>
100-abc
<class 'str'>
^^^^^^^^^^^^^^^^^^^^^^^^
Index 0: a
Index 1: b
Index 2: cProcess finished with exit code 0
目前学到都是一些基础,下次分享写学完顺序、循环、选择等后写一些小作业,该说不说