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="** egon***"
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)
类型总结
存一个值
有序
不可变