for循环

 
for循环(也可以叫迭代循环):
d = {'k1': 111, 'k2': 22, 'k3': 3333}
一:遍历值
for x in d: print(x,d[x])
二:range()
for i in range(3): print('步骤1') print('步骤2') print('步骤3')
这样就可以重复输出三次上述步骤
range函数是可以重复括号里面的步骤,不过里面的数字是取不到的,会比里面的数值小一个数
range的格式应为range(起始位置,结束位置,步伐),其中起始位置不特意写出来的话,默认为0,步骤也是,不写出来默认为1,结束位置都是小一位数,比如默认起始的话,要7个数字的话,就需要在结束位置取到8
举个小栗子:
l=[111,222,333,444,555] i=len(l) - 1 while i > -1: print(l[i]) i-=1
这样是可以把所有的都倒着遍历一遍
三:for+enumerate
l=[111,222,333,444,555] for i,y in enumerate(l): print("index: %s value: %s" % (i,y))
输出
index: 0 value: 111 index: 1 value: 222 index: 2 value: 333 index: 3 value: 444 index: 4 value: 555
这个enumerate函数会将数组或列表组成一个索引序列,这样我们再获取索引和索引内容的时候会更加方便,如果不加这个enumerate,就会显示逻辑错误
四:for+break
for i in range(5): if i == 3: break print(i)
遇到i等于3时,满足条件break退出,不再继续运行
五:for+continue
for i in range(5): if i == 3: continue print(i)
遇到3时,跳过本次循环,直接进入下一次循环
六:for+else
for i in range(5): if i == 3: break print(i) else: print('++++>')
遇到3时直接退出循环,如果没有break时,将会一直循环到4为止,并且在最后输出else下面的+++>
七:嵌套多层的for循环
for i in range(3): print("-----loop1-----> %s" % i) for j in range(5): print("loop2--->%s" % j)
首先运行最上面一层的,然后就会将下面的循环当作一个整体,先将下面的先循环完毕,接着返回到上面那个循环继续完成循环。
可变与不可变类型
可变类型:值改变的情况下,内存地址/id不变,证明改变的就是原值,即可变类型=>不可hash类型
不可变类型:值改变的情况下,内存地址也变,证明产生了新值,即原值不可变=>可hash值
l=[111,222] print(id(l)) l[0]=3333 print(id(l))
这个是不会更改id的,也就是不会更改内存地址,是可变类型的
x=10 print(id(x)) x=12 print(id(x))
这个会更改id,是不可变类型
 
整型int
用途:年龄、等级、号码
定义方式:
age=18
数据类型转换:
x=int(" 103 ") #把纯数字组成的字符串转换成int类型 print(x,type(x))
常用操作+内置的方法
+ - * % > >=
类型总结:
存一个值
不可变类型
 
 
整型float
定义方式
salary=3.3
数据类型转换
x=float(" 3.3 ") print(x,type(x))
常见操作+内置的方法
+ - * % > >=
类型总结:
存一个值
不可变类型
 
复数
x=2+3j print(x,type(x)) print(x.real) print(x.imag)
实数和虚数的概念,real是实数,imag是虚数,简单了解即可
 
字符串类型
定义方式
msg="abc"
数据类型转换
res=str(1111) # 可以把所有类型转换成字符串类型 print(res,type(res))
 
常用操作+内置的方法
优先掌握的操作:
1、按索引取值(正向取+反向取) :只能取
msg="hello world" print(msg[0]) msg[0]="H" # 不能改 print(msg[-1])
2、切片(顾头不顾尾,步长)
msg="hello world" print(msg[3:5]) print(msg[3:8]) print(msg[3:8:2]) # 3 5 7
3、长度len:统计的是字符个数
msg="h e你" print(len(msg))
4、成员运算in和not in
msg="hello world" print("he" in msg) print("h" in msg)
 
print(not 'egon' in msg) print('egon' not in msg) # 推荐
5、移除空白strip
name=" egon " print(name.strip()) print(name) 可以删除空格 name="** *eg*on***" print(name.strip("*")) 可以删除星号 x="*(-)=+abc=-)*/" print(x.strip("*()-=+/")) 可以删除多余的符号
6、切分split
info="root:123:0:0" res=info.split(":",1) print(res[0]) print(res)
7、循环
msg="hello" for i in msg: print(i)
类型总结
存一个值
有序
不可变
 
 
 
 
 
 

posted @ 2020-11-20 11:42  平行的X  阅读(331)  评论(0)    收藏  举报