一、for循环
1、功能:
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
2、for循环语法:
for iterating_var in sequence:
statements(s)
实例:
# l=['a','b','c']
# for i in range(3):
# print(i,l[i])
3、for循环与else连用:
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print ('%d 等于 %d * %d' % (num,i,j))
break # 跳出当前循环
else: # 循环的 else 部分
print num #'是一个质数'
#结果:
#10 等于 2 * 5
#11 是一个质数
#12 等于 2 * 6
#13 是一个质数
#14 等于 2 * 7
#15 等于 3 * 5
#16 等于 2 * 8
#17 是一个质数
#18 等于 2 * 9
#19 是一个质数
4、循环控制语句:
控制语句 | 描述 |
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |
5、for循环循环嵌套:
# for i in range(3): #i=2
# for j in range(2): #j=1
# print(i,j) #2,1
6、总结while循环与for循环:
#1.
#while循环:称之为条件循环,循环的次数取决于条件何时为False;
#for循环:称之为...循环,循环的次数取决于数据的包含的元素的个数。
#2.
#for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡遇到循环取值的场景,就应该用for循环。
二、数字类型
1、整型:
# ======================================基本使用======================================
# 1、用途:记录年龄、等级、号码等
# 2、定义方式
#age=10 # age=int(10) int相当于一个制造整形的工厂
# 类型转换
# print(int(3.1)) #int对浮点型会进行取整输出
# res=int('1111111') #int加工的字符串必须满足只含有阿拉伯数字的字符,不能含有以外字符
# print(res,type(res))
# res=float('111111.1')
# print(res,type(res))
# 了解(**)
# 十进制转成。。。进制
# print(bin(13)) #十进制转换为二进制
# print(oct(13)) #十进制转换为八进制
# print(hex(13)) #十进制转换为十六进制
# 3、常用操作+内置的方法
# ======================================该类型总结====================================
# 只能存一个值
# 不可变类型(值改变,id也变)
# x=10
# print(id(x))
# x=11
# print(id(x))
2、浮点型:
# 1. 浮点型float
# ======================================基本使用======================================
# 1、用途:记录身高、体重、薪资等
# 2、定义方式
# salary=10.1 # salary=float(10.1)
# 类型转换
# print(float(10))
# print(float(1.1))
# print(float('1.1'))
# 3、常用操作+内置的方法
# ======================================该类型总结====================================
# 只能存一个值
# 不可变类型(值改变,id也变)
# x=10.3
# print(id(x))
# x=11.2
# print(id(x))
3、字符串类型:
#字符串类型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))
# ======================================该类型总结====================================
# 存一个值
# 有序 #这里的有序指的是字符串中的单个字符有序
# 不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
# x='aaa'
# print(id(x))
# x='bbb'
# print(id(x))
常用的操作加内置方法:
#优先掌握的操作:(*****)
1、按索引取值(正向取+反向取) :只能取
# msg='hello world'
# print(type(msg[0])) #取出的字符还是为str类型
# 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为起始位置 5为结束位置(顾头不顾尾)取不到索引为5的字符 2为步长
# 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:移除字符串左右两边的某些字符。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: 把有规律的字符串切成列表从而方便取值,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 #同strip 一个去除左边元素,一个去除右边元素
# 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('too 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'))
# 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,'*')) 居中
# print('egon'.ljust(50,'*'))
# print('egon'.rjust(50,'*'))
# print('egon'.zfill(50)) 用0填充
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())