l=['a','b','c']
print(len(l))
i=0
while i<len(l):
print(l[i])
i+=1
l=['a','b','c']
for item in l: #item='a'
print(item)
dic={'x':111,'y':222,'z':333}
for k in dic: #k='x'
print(k,dic[k])
while循环 VS for循环
1.
while循环:称之为条件循环,循环的次数取决于条件何时为False
for循环:称之为...循环,循环的次数取决于数据的包含的元素的个数
2.
for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡
遇到循环取值的场景,就应该用for循环
0 1 2
l=['a','b','c']
for i in range(3):
print(i,l[i])
for+break
names=['egon','kevin','alex','hulaoshi']
for name in names:
if name == 'alex':break
print(name)
for+continue
names=['egon','kevin','alex','hulaoshi']
for name in names:
if name == 'alex':continue
print(name)
for+else
names=['egon','kevin','alex','hulaoshi']
for name in names:
# if name == 'alex':break
print(name)
else:
print('=====>')
for循环嵌套
for i in range(3): #i=2
for j in range(2): #j=1
print(i,j) #2,1
'''
外层循环第一次:i=0
内层循环
0,0
0,1
外层循环第二次:i=1
内层循环
1,0
1,1
外层循环第三次: i=2
内层循环
2,0
2,1
'''
print(' ',end='')
print('bbbbb',end='')
1. 整型int
======================================基本使用======================================
1、用途:记录年龄、等级、号码等
2、定义方式
age=10 # age=int(10)
类型转换
print(int(3.1))
res=int('1111111')
print(res,type(res))
res=float('111111.1')
print(res,type(res))
了解(**)
十进制转成。。。进制
print(bin(13))
print(oct(13))
print(hex(13))
3、常用操作+内置的方法
======================================该类型总结====================================
存一个值
不可变
x=10
print(id(x))
x=11
print(id(x))
1. 浮点型float
======================================基本使用======================================
1、用途:记录身高、体重、薪资等
2、定义方式
salary=10.1 # salary=float(10.1)
类型转换
print(float(10))
print(float(1.1))
print(float('1.1'))
3、常用操作+内置的方法
======================================该类型总结====================================
存一个值
不可变
x=10.3
print(id(x))
x=11.2
print(id(x))
字符串类型str
======================================基本使用======================================
1、用途:记录描述性值的状态,比如名字、性别等
2、定义方式
msg='hello world' #msg=str('hello world')
类型转换: 可以把任意类型专场字符串类型
res1=str(10)
res2=str(10.3)
res3=str([1,2,3])
res4=str({'x':1}) #res4="{'x':1}"
print(type(res1))
print(type(res2))
print(type(res3))
print(type(res4))
3、常用操作+内置的方法
优先掌握的操作:(*****)
1、按索引取值(正向取+反向取) :只能取
msg='hello world'
print(type(msg[0]))
print(msg[-1])
msg[0]='H'
2、切片(顾头不顾尾,步长)
msg='hello world'
print(msg[0]+msg[1]+msg[2])
print(msg[0:5])
print(msg[0:5:2]) #0 2 4
print(msg[0:]) #
print(msg[:]) #
print(msg[-1:-5:-1]) #-1 -2 -3 -4
print(msg[::-1]) #-1 -2 -3 -4
3、长度len:统计的是字符的个数
msg='h你d'
print(len(msg))
4、成员运算in和not in:判断一个子字符串是否存在与一个大字符串中
msg='hello world'
print('ho' in msg)
print('ho' not in msg)
5、移除空白strip:移除字符串左右两边的某些字符
msg=' hello '
print(msg.strip(' '))
print(msg.strip())
print(msg)
name=input('name>>>: ').strip() #name='egon'
pwd=input('password>>>: ').strip()
if name == 'egon' and pwd == '123':
print('login successfull')
else:
print('username or password error')
msg='***h**ello**********'
print(msg.strip('*'))
msg='*-=+h/ello*(_+__'
print(msg.strip('*-=+/(_'))
6、切分split: 把有规律的字符串切成列表从而方便取值
info='egon:18:180:150'
res=info.split(':',1)
print(res)
print(res[1])
info='egon:18:180:150'
res=info.split(':')
print(res)
s1=res[0]+':'+res[1]+':'+res[2]+':'+res[3]
s1=''
for item in res:
s1+=item
print(s1)
s1=':'.join(res)
print(s1)
':'.join([1,2,3,4,5])
7、循环
for i in 'hello':
print(i)
需要掌握的操作(****)
1、strip,lstrip,rstrip
msg='*****hello****'
print(msg.strip('*')) 移除空白
print(msg.lstrip('*')) 取掉左边的空白
print(msg.rstrip('*')) 去掉右边的空白
2、lower,upper
msg='AaBbCc123123123'
print(msg.lower()) 把什么变小写
print(msg.upper()) 把什么变大写
3、startswith,endswith
msg='alex is dsb'
print(msg.startswith('alex')) 以什么开头
print(msg.endswith('sb')) 以什么结尾
4、format的三种玩法
msg='my name is %s my age is %s' %('egon',18)
print(msg)
msg='my name is {name} my age is {age}'.format(age=18,name='egon')
print(msg)
了解
msg='my name is {} my age is {}'.format(18,'egon')
msg='my name is {0}{0} my age is {1}{1}{1}'.format(18,'egon')
print(msg)
5、split,rsplit
cmd='get|a.txt|33333'
print(cmd.split('|',1)) 从左往右切分
print(cmd.rsplit('|',1)) 从右往左切分
6、replace
msg='kevin is sb kevin kevin'
print(msg.replace('kevin','sb',2)) 以什么替换
7、isdigit #当字符串内为纯数字时结果为True
res='11111'
print(res.isdigit()) 判断是否是纯数字
int(res)
age_of_bk=18
inp_age=input('your age: ').strip()
if inp_age.isdigit():
inp_age=int(inp_age) #int('asdfasdfadfasdf')
if inp_age > 18:
print('too big')
elif inp_age < 18:
print('to small')
else:
print('you got it')
else:
print('必须输入纯数字')
了解(**)
1、find,rfind,index,rindex,count
print('xxxkevin is sb kevin'.find('kevin')) 从左到右找到该值,在从起点到该值的位置距离,
print('xxxkevin is sb kevin'.index('kevin')) 从左到右找到该值,在从起点到该值的位置距离
print('xxxkevin is sb kevin'.rfind('kevin')) 从右到左找到该值,在从起点到该值的位置距离
print('xxxkevin is sb kevin'.rindex('kevin')) 从右到左找到该值,在从起点到该值的位置距离
fi
但是,find(rfind)找不到则返回-1不会报错,找到了则显示索引,而index(rindex)则会报错
res='xxxkevin is sb kevin'.find('kevasdfsadfin')
print(res)
res='xxxkevin is sb kevin'.index('kevasdfsadfin')
print('kevin is kevin is kevin is sb'.count('kevin'))
2、center,ljust,rjust,zfill
print('egon'.center(50,'*')) 让egon居中显示,不够用*填充
print('egon'.ljust(50,'*')) 让egon左对齐,不够用*填充
print('egon'.rjust(50,'*')) 让egon右对齐,不够用*填充
print('egon'.zfill(50)) 默认右对齐,不够用零填充
3、captalize,swapcase,title
print('my name is kevin'.capitalize()) 让首字母大写
print('AaBbCc'.swapcase()) 让大写变小写,小写变大写
print('my name is kevin'.title()) 让单词的首字母大写
4、is其他
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.islower()) 判断是否全是小写
print(name.isupper()) 判断是否全是大写
name=' '
print(name.isspace()) 判断是否是空格组成
msg='I Am Egon'
print(msg.istitle()) 判断单词首字母是否大写
======================================该类型总结====================================
存一个值
有序
不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
x='aaa'
print(id(x))
x='bbb'
print(id(x))