20181121笔记(for,数字类型和字符串类型的内置方法)
1、for循环
for循环字典时默认取出key:
dic={'x':111,'y':222,'z:333'}
for k in dic:
print(k) #只输出k
print(k,dic[k]) # 同时输出key和value
while循环 VS for循环
①while循环:称之为条件循环,循环的次数取决于条件何时Flase
for循环:称之为迭代器循环,循环的次数取决于数据包含元素的个数
②for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡遇到循环取值的场景,就应该用for循环。
for循环的搭配:
Ⅰ for+break
names=['egon','kevin','alex','hulaoshi']
for name in names:
if name == 'alex':break
print(name)
输出结果:
egon
kevin
Ⅱ for+continue
names=['egon','kevin','alex','hulaoshi']
for name in names:
if name == 'alex':continue
print(name)
输出结果:
egon
kevin
hulaoshi
Ⅲ for+else
names=['egon','kevin','alex','hulaoshi']
for name in names:
print(name)
else:
print('=====>')
输出结果:
egon
kevin
alex
hulaoshi
=====>
Ⅳ 循环嵌套
for i in range(3):
for j in range(2):
print(i,j)
'''
外层循环第一次:i=0
内层循环
0,0
0,1
外层循环第二次:i=1
内层循环
1,0
1,1
外层循环第三次: i=2
内层循环
2,0
2,1
'''
tip: range(start,end):start可以为空,默认起始为0;end不可为空。输出结果顾头不顾尾
range(0,3) # 等于range(5)
print(range(5))
0
1
2
换行问题之print()详解:
print()语法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数含义:
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
一些例子:
print('www','z','cn')
print('www','z','cn',sep='.')
输出结果:
www z cn
www.z.cn
for i in range(0,3):
print(i) # 默认换行,即print(i, end='\n')
输出结果:
0
1
2
for i in range(0,3):
print(i,end=' ') # end处为空格
输出结果:
0 1 2
len() 方法返回对象(字符、列表、元组等)长度或项目个数。
len(‘1,2,3,4’) # 输出结果为7,如果改为len(‘1 2 3 4’)输出结果也为7,因为空格也占位;
len(‘1234’) # 输出结果为4;格式为len(str),注意空格也算长度。
2.数据类型及内置方法:
tip:进制之间的转换
十进制转成。。。进制
print(bin(13)) # 十进制转换为二进制
print(oct(13)) # 十进制转换为八进制
print(hex(13)) # 十进制转换为十六进制
输出结果:
0b1101 # 0b表示二进制
0o15 # 0o表示八进制
0xd # 0x表示十六进制
1. 整型int
======================================基本使用======================================
1、用途:记录年龄、等级、号码等
2、定义方式
age=10 # age=int(10)
类型转换
print(int(3.1))
print(int('123')) # 对于纯数字的字符串,可以使用
print(int('122.2')) # 并非纯数字构成,会报错
======================================该类型总结====================================
每个变量名只能存一个值
不可变类型
x=10
print(id(x))
x=11
print(id(x)) # 值改变,id也会变化
2. 浮点型float
======================================基本使用======================================
1、用途:记录身高、体重、薪资等
2、定义方式
salary=10.1 # salary=float(10.1)
类型转换
print(float(10))
print(float(1.1))
print(float('1.1'))
======================================该类型总结====================================
每一个变量名只能对应一个值
不可变类型
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}"
3、常用操作+内置的方法
优先掌握的操作:(*****)
Ⅰ 按索引取值(正向取+反向取) :只能取
msg='hello world'
print(type(msg[0]))
print(msg[-1])
输出结果:
<class 'str'>
d
Ⅱ 切片(顾头不顾尾,步长)
msg='hello world'
print(msg[0]+msg[1]+msg[2])
print(msg[0:5])
print(msg[0:5:2]) #"""0 2 4 步长可以为负,但不可以为0。对于正数步长,python会从序列的头部开始向右提取元素,直到最后一个元素,对于负数步长,则是从序列尾部开始向左提取元素,直到第一个元素。正数步长必须让开始点小于结束点,而负数步长必须让开始点大于结束点。"""
print(msg[0:]) #输出全部
print(msg[:]) #输出全部
print(msg[-1:-5:-1]) #-1 -2 -3 -4
print(msg[::-1]) #-1 -2 -3 -4
Ⅲ 长度len:统计的是字符的个数
msg='h你d'
print(len(msg)) #输出结果为3
Ⅳ 成员运算in和not in:判断一个子字符串是否存在与一个大字符串中
msg='hello world'
print('ho' in msg)
print('ho' not in msg)
Ⅴ 移除空白strip:移除字符串左右两边的某些字符
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
str.strip([chars]) # chars -- 移除字符串头尾指定的字符序列。
msg=' hello '
print(msg.strip(' '))
print(msg.strip())
print(msg)
msg='***h**ello**********'
print(msg.strip('*'))
msg='*-=+h/ello*(_+__'
print(msg.strip('*-=+/(_'))
Ⅵ 切分split: 把有规律的字符串切成列表从而方便取值。
split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num