数据类型是用来记录事物的状态,而事物的状态又是随时变化的(),这意味着程序员在开发的过程中需要对数据进行着一系列复杂而频繁的操作,为了提高效率问题,python内部针对这一系列的操作,为每一种数据类型都内置了一系列方法
一 数字类型int,float
1.1.定义:
整型(int):a = 10 >> a = int(10)
浮点型(float):a = 10.2 >> a = float(10.2)
注:名字+()相当于调用某个功能
print()#调用打印功能
int()#调用创建整型数据的功能
float()#调用创建浮点型数据的功能
1.2.类型转换:
1.2.1int可以将含有纯整数的字符串转化成整形,含有非整型的数字不能转化成整型
正确演示
>>s='10'
>>a=int(s)
错误演示
>>s='10.2'
>>a=int(s)#运行时会报错
1.2.2进制转换
十进制转换成其他进制
>>a=11
>>bin(a)#转二进制
>>oct(a)#转八进制
>>hex(a)#转十六进制
其他进制转十进制
>>int('0b11',2)#二进制转
>>3
>>int('0o11',8)#八进制转
>>9
>>int('0x11',16)#十六进制转
>>17
1.2.3float类型也可用于数据类型的转换
>>a='12.3'
>>b=float(a)
>>print(b,type(b))
>>b=12.3 float
1.3.使用:
数字类型一般用来进行数学运算和比较运算,数字类型要掌握与运算符的结合使用,并不需要掌握其他的内置方法
二 字符串
2.1定义:
在单引号/双引号/多引号包含一串字符
name1='asdf'
name2="asdf"
name3="'asdf'"
2.2转换方法
数字类型的转换中,可以将任意的数据类型转换成字符串类型
>>str([1,2,3,4.])#list>str
>>str({'name':'xuqi','age':18})#dic>str
>>str({1,2,3,4})#set>str
>>str((1,2,3,4))#tuple>str
2.3使用
2.3.1优先掌握的操作
对于str类型来说只能用来取,不能能用来改,改的话会报错
1.按索引取值
>>str1='hello world'
正向取:
>>str1[3]
反向取:
>>str1[-4]
2.切片(顾头不顾尾):
>>str1='hello world'
正向取:
>>str1[0:9]#取出缩影0到8索引所对应的值
步长:
>>str1[0:9:2]#打三个参数代表步长,每次会累加2,分别取出0,2,4,6,8索引对应的值
反向切片:
>.str1[::-1] #-1表示从右往左开始依次取
3.长度
>>str1='hello world'
>> len(str1)#获取字符串的长度
4.成员运算
>>str1='hello world'
4.1 in:#判断某个字符串是否在一个大字符串中
>>'hello' in str1
4.2not :in#判断某个字符串是否在另外一个大字符串中
>>'hello' not in str1
5.strip移除字符串左右两边的指定字符(默认移除的时空格)
5.1当strip()括号中不指定所去除的字符时,默认移除的是空格
>.str1=' hello world '
>>str1.strip()#>>hello world
5.2当strip()括号中指定了去除的字符时,去除的就是指定的字符
>>str1='**hello world**'
>>str1.strip('*')#hello world
6.切分(split)
5.1当split()括号中不指定指定的分隔符时,默认以空格作为切分符号
>>str1='hello world'
>>str1.split()#[hello,world]
5.2当split()括号中指定指定的分隔符时,以指定的分隔符作为切分符号
>>str1='1*2*3*4*5*6'
>>str1.split('*')#[1,2,3,4,5,6]
7.循环
>>str1='今天的你还好吗'
>>for line in str1
>>print(line)#依次取出字符串中的内容,并打印
2.3.2需要掌握的操作
1. strip,lstrip,rstrip
>>a='***asdfg***'
>>a.strip('*')#移除字符串左右两边的“*”字符
>>a.lstrip('*')#移除字符串左边的“*”字符
>>a.rstrip('*')#移除字符串右边的“*”字符
2. lower,upper
>>a='My Name Is Xuqi'
>>a.lower()#将字符串全部变为小写
>>#my name is xuqi
>>a.upper()#将字符串群工部变为大写
>>#MY NAME IS XUQI
3. startswith,endswith
>>a='My Name Is Xuqi'
startswith()判断是否以括号内指定字符开头,返回结果为bool值(True,False)
>>a.startswith('M') >>endswith()判断是否以括号内指定字符开头,返回结果为bool值(True,False)>>a.endswith('i')
4. 格式化输出之format
之前使用的%s是针对一些固定的格式的,在传入值的时候必须严格按照%s位置一 一对应,而字符串的内置方法format提供了一种不依赖于位置传值的方法
>>my name is {name},my age is {age}.format(age=18,name='xuqi')
>>my name is xuqi,my age is 18
把format传入的多个值当成一个列表,按照索引取值
>>my name is {0},my age is {1}.format('tony',18)
>>my name is tony,my age is 18
5. split,rsplit
>>a='a:/a/s/d/f/f/g'
split按照从左往右的顺序对字符串切分,可以指定切割次数
>>a.split('/',2)
>>['a:','a','s/d/f/f/g']
rsplit按照从右往左的顺序对字符串切分,也可以指定切割次数
>>a.rsplit('/',1)
>>['a:/a/s/d/f/f','g']
6. join
从可迭代对象中取出多个字符串,按照指定字符进行分隔,并将其拼接成一个新的字符串
>>'*'.join(hello)
>>'h*e*l*l*o'
>>'|'.join('xuqi',18,'23k')
>>xuqi|18|23k
7. replace :用新的字符替换旧的字符
>>a='my name is xuqi my age is 18'
>>b=a.replace('my','MY',1)
>>print(b)#MY name is xuqi my age is 18
8. isdigit:判断字符串是由纯数字组成,返回值为bool
>>str1='123456'
>>str2='123a456'
>>print(str1)#True
>>print(str2)#False
2.3.3了解的操作
1. find,rfind;index,rindex;count
2. center;ljust,rjust;zfill
3. expandtabs
4. capitalize,swaplcase;title
5. is数字系列
6. 其他
三 列表
3.1定义:
在[]内用逗号分隔开的任意数据类型的值
3.2类型转换
但凡能被for循环遍历的数据类型,都能被list()转换成列表类型,list()也会像for循环一样遍历出数据类型中所包含的每一个元素放到列表中
元组,字符串,字典,集合,列表都可被list转换成列表,但是字典同其他类型不太一样,字典转换的是'key'值
3.3使用
3.3.1优先掌握的操作
# 1.按索引存取值(正向存取+反向存取):即可存也可以取
# 1.1 正向取(从左往右)
>>> my_friends=['tony','jason','tom',4,5]
>>> my_friends[0]
tony
# 1.2 反向取(负号表示从右往左)
>>> my_friends[-1]
5
# 1.3 对于list来说,既可以按照索引取值,又可以按照索引修改指定位置的值,但如果索引不存在则报错
>>> my_friends = ['tony','jack','jason',4,5]
>>> my_friends[1] = 'martthow'
>>> my_friends
['tony', 'martthow', 'jason', 4, 5]
# 2.切片(顾头不顾尾,步长)
# 2.1 顾头不顾尾:取出索引为0到3的元素
>>> my_friends[0:4]
['tony', 'jason', 'tom', 4]
# 2.2 步长:0:4:2,第三个参数2代表步长,会从0开始,每次累加一个2即可,所以会取出索引0、2的元素
>>> my_friends[0:4:2]
['tony', 'tom']
# 3.长度
>>> len(my_friends)
5
# 4.成员运算in和not in
>>> 'tony' in my_friends
True
>>> 'xxx' not in my_friends
True
# 5.添加
# 5.1 append()列表尾部追加元素
>>> l1 = ['a','b','c']
>>> l1.append('d')
>>> l1
['a', 'b', 'c', 'd']
# 5.2 extend()一次性在列表尾部添加多个元素
>>> l1.extend(['a','b','c'])
>>> l1
['a', 'b', 'c', 'd', 'a', 'b', 'c']
# 5.3 insert()在指定位置插入元素
>>> l1.insert(0,"first") # 0表示按索引位置插值
>>> l1
['first', 'a', 'b', 'c', 'alisa', 'a', 'b', 'c']
# 6.删除
# 6.1 del
>>> l = [11,22,33,44]
>>> del l[2] # 删除索引为2的元素
>>> l
[11,22,44]
# 6.2 pop()默认删除列表最后一个元素,并将删除的值返回,括号内可以通过加索引值来指定删除元素
>>> l = [11,22