流程控制补充及数据类型内置方法
流程控制的补充
while+continue的使用
countinue: 跳出本次循环,直接进入下一次循环。
eg.1.循环打印出0-10之间的数字:
1 count = 0 2 while count < 10: 3 print(count) 4 count += 1
运行结果:

eg 2. 循环打印出0-9之间的数字,但是不打印5
1 count = 0 2 while count < 9: 3 if count == 5: 4 count += 1 5 continue # 跳出本次循环 6 print(count) 7 count += 1
运行结果:

while+else的使用
while循环结构后面可以加else语句,当while循环执行完并且中间没有人为中止即break,就会执行else后面的语句。
eg:当没有break时
1 count = 0 2 while count < 10: 3 if count == 3: 4 count += 1 5 print(count) 6 count += 1 7 else: 8 print('喵喵喵')
# 当while循环内没有被人为中断(break)的时候,会执行else语句
运行结果:

eg.当有break时
1 count = 0 2 while count < 10: 3 if count == 3: 4 break # 人为中断,当count=3时程序到此结束运行 5 print(count) 6 count += 1 7 else: 8 print('喵喵喵')
运行结果:

死循环
程序不停的被执行,内存空间被大量占用。
while True: print(123) # 在程序中,死循环坚决不能出现
for循环
for循环能做的事情,while循环也可以做到。但是使用for循环,代码会更简洁一点,而且使用for循环不会出现死循环。
语法结构:
for 变量名 in 可迭代对象:#可迭代对象:可循环的对象,比如字符串、列表、字典、元组等
print() #当没有合适的名字命名时,可用i,j,k,v,item等代替
eg:
name_list = ['kevin', 'tank', 'jason', 'tony'],循环取出列表中每一个人名
1 name_list = {'username':'Jolly','age':18} 2 for i in name_list: 3 print(i,name_list[i])
运行结果:

eg2:循环打印字段的k和v
name_list = {'username':'Jolly','age':18}
for i in name_list:
print(i,name_list[i])
运行结果:

因为字典曝出来的是k,所以想要输出v的值,需要通过对k取值才能得到。
range关键字
range关键字一般有三种用法,一般搭配for循环使用
1.
1 for i in range(9): # range()如果是单个参数,是:从0到9的整数 2 print(i)
运行结果:

2.
1 for i in range(2, 9): # 如果是两个参数,意思是从2开始到9之间的参数,顾头不顾尾 2 print(i)
运行结果:

3.
for i in range(0,9,2):# 如果是三个参数,意思是从0到9之间的整数,步长为2 print(i)
运行结果:

具体案例:
base_url = 'https://movie.douban.com/top250?start=%s&filter=' for i in range(0, 250, 25): print(base_url % i)
运行结果:

# range在不同版本解释器中的区别
在python2中直接打印出结果
在python3中做了优化,把它变成了迭代器, 就是节省内存资源
for+break(用法同while)
for i in range(10): if i == 3: break # 人为中断 print(i)
运行结果:

for+continue
for i in range (10): if i == 3: continue #跳出本次循环 print(i)

for+else
for i in range(10): if i == 3: break print(i) else: print('嘿嘿')
运行结果:

打印九九乘法表
for i in range(1, 10): for j in range(1, i + 1): print('%s*%s=%s' % (j,i,j*i), end=' ')
print()
运行结果:

1.什么是内置
就是给各个数据类型内置的功能
比如:表格数据有公式计算、透视表、对边框的各种操作等功能
它表现的形式:名字() int() print()
1. 整型 int
int 的定义age=int(10)
进制转换
常见的进制数:二进制、八进制、十进制、十六进制(A B C D E F)
int还可以进行二进制转换
print(bin(10)) # 0b 1010 0b代表的就是二进制
print(oct(10)) # 0o 12 0o代表的是八进制
print(hex(10)) # 0x a 0x代表的是十六进制
把二进制转为十进制
print(int('0b1010', 2))
print(int('0o12', 8))
print(int('0xa', 16))
2.浮点型
float同样可以用来做数据类型的转换
比如:
salary = 10000.9 res = float(salary) print(res,type(res))
结果:

3.字符串
str()可以将任意数据类型转换成字符串类型,通过索引取值
res = 12.3 print(str(res), type(str(res))) print(str(1.11), type(str(1.11))) print(str('helloworld'), type(str('helloworld'))) print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4]))) print(str({'a': 1, 'b': 2}), type(str({'a': 1, 'b': 2}))) print(str((1, 2, 3)), type(str({'a': 1, 'b': 2}))) print(str(({1, 2, 3})), type(str({'a': 1, 'b': 2})))
运行结果:

字符串内置的方法
1.索引取值
res = 'helloworld' print(res[0]) print(res[-3]) # -号代表反向取值
结果:

2.切片:顾头不顾尾
res = 'helloworld' print(res[0:3]) # hel print(res[2:6]) # llow print(res[0:9:2]) # hlool 步长
运行结果:

3.反向切片:
res = 'helloworld' print(res[::-1]) print(res[0:]) #helloworld print(res[2:]) #lloworld 冒号右边不写,一直切到结束 print(res[:6]) #hellow 冒号左边不写从0开始切 print(res[::3]) #hellow 冒号左边不写从0开始切 print(res[::-1]) # dlrowolleh,翻转字符串其中一种方式
运行结果:

4.长度len:
print(len(res)) # length---->len print(len([1, 2, 3, 4])) print(len({'a':1, 'b':2}))
运行结果:

5.strip移除字符串首尾指定的字符(默认移除空格)
l = ' helloworld ' print(l) print(l.strip()) print(l.lstrip()) print(l.rstrip())
运行结果:

去除特殊符号:
l = '@@hello@world@@' print(l) print(l.strip('@')) print(l.lstrip('@')) print(l.rstrip('@')) # 只能去除两边的特殊字符,中间的不好去
结果:

6.切分split
l = 'helloworld' l = 'kevin 18 123' l = 'kevin|18|male' print(l.split()) # ['kevin', '18', '123'] 默认是空格切分,切分之后是列表的形式 print(l.split('|')) # ['kevin', '18', 'male'] 默认是空格切分,切分之后是列表的形式 print(l.rsplit('|', maxsplit=1)) # 从右边开始切分,且只切分一次
结果:

浙公网安备 33010602011771号