基本数据类型及内置方法

1.数字类型int与float

1.1 类型转换

int()和float()加需要转换的内容

s=123
res = float(s)
print(res,type(res))
强调:他们主要是用在整型与浮点型之间的转换

2.字符串str

2.1相互转换

str可以把任意其他类型转换成字符串

2.2内置方法

2.2.1 按索引取值

msg = 'xiaohan is good boy'
正向取值
res1 = msg[0]
res2 = msg[1]
反向取值
res3 = msg[-1]

2.2.2 切片 (左包右不包,所谓的顾头顾不尾)

msg ='xiaohan is good boy'
res = msg[:]
res1 = msg[3:6]
res2 = msg[:5]
res3 = msg[3:]
带步长
res4 = msg[1:8:2]
res5 = msg[::2]
res6 = msg[::-1]
res7 = msg[10:4:-1]

2.2.3 长度len

获取字符串的长度,即字符的个数,但凡存在于引号内的都算作字符

2.2.4 成员运算 in 和 not in

str1 = 'xiaohan'
str2 = 'han'
str2 in str1

2.2.5 strip移除字符串首尾指定的字符(默认移除空格)

str1 = '     xiao han is good   '
str1.strip() 

需要掌握 strip, lstrip,rstrip

str = '    xiao han is good boy   '
res1 = str.lstrip()    #去除字符串左侧的空格
rstrip  去除右侧的空格

2.2.6 lower 和upper

一般情况下,带()的,如lower(),upper()都是带返回值的

str= ' han ge is good boy'
str.upper()    带返回值,将英文字母全部变成大写

str1 = 'HAN IS GOOD'
str1.lower()    带返回值,将英文全部变成小写

2.2.7 startswith和endswith判断字符串是否以xxx开关或结尾

res = 'han is good'
print(res.startswith('ha')
print(res.endswith('boy')
True
True

2.2.7 join

从可迭代对象中取出多个字符串,然后按照指定的分隔符拼接,拼接的结果为字符串

'%'.join('hello')       #h%e%l%l%o
'|'.join(['han','19','read'])   

2.2.8 replace

用新的字符替换字符串中旧的字符

str= 'han is 20 ,han  good boy'
str.replace('han','hange') #替换指定的字符内容
str.replace('han','hange',2) #还可以指定替换的个数

2.2.9 isdigit

判断字符串是否由全数字组成,返回结果为True或False

str='s345343'
str.isdigit

3.列表

在[]内,用逗号分隔开多个任意数据类型的值

3.1 类型转换

list('han')    #['h','a','n']    字符串
list({'name':'han','age':20})   # ['name','age']    得到的是key的值   字典
list((1,2,3))    #[1,2,3]   元组
list({1,2,3})    #[1,2,3]   集合

3.2 使用

3.2.1 切片

顾头不顾尾(同字符串)

正向取,反向取,步长,长度(len),成员运算(in, not in )

3.2.2 重点掌握的基本方法

append()列表尾部追加元素
l=['han',23,[1,'xiao']]
l.append('hello')

extend() 一次性在列表尾部添加多个元素
l.extend(['a','b','c'])      ['han',23,[1,'xiao'],'a','b','c'] 

insert() 在指定位置插值
l.insert(1,'first')     ['han','frist',23,[1,'xiao'],'a','b','c']

del删除指定元素
del l[0]

pop()  默认删除列表最后一个元素,并将删除的值返回,括号内可以通过加索引值来指定删除元素
l.pop()
l.pop('han')

remove() 指名道姓的要删除哪个元素,没有返回值
l.remove('han')

reverse()  颠倒列表内元素顺序
l.reverse()

sort()  组列表中的所有元素排序,排序时元素之间必须是相同数据类型,不可混搭
默认是从小到大排序

4.元组

在()内用逗号分隔开多个任意类型的值

4.1 类型转换

tuple('xiaohan')  

4.2 使用

4.2.1 按索引取值(正向取,反向取):只能取,不能改,否则报错

tuple1=(1,'xiaohan',10.0)
tuple[1]
tuple[-2]

4.2.2 切片(顾头不顾尾,步长)

tuple1[0:6:2]

4.2.3 长度(len)

len(tuple1)

4.2.4 成员运算 in和not in

'haha' not in tuple1

4.2.5 循环

for line in tuple1:
	print(line)

5.字典 set

在{}内用逗号分隔开多个元素,每一个元素都是key:vaule的形式,其中value可以是任意类型,而key则必须是不可变类型,通常key应该是str类型,因为str类型会对value有描述性的功能

info={'name':'xiaohan','age':20}

5.1类型转换

info = dict([['name','han'],('age',19)]
print(info)

fromkeys会从元组中取出每个值做key,然后与None组成key:value放到字典中
{}.fromkeys(('name','age','sex'),None)

5.2 取值

dict={'name':'han','age':19,'sex':'gender','hobbies':['paly game','basketball'}
dict['name']     'han'
dict['hobbies'][1]   'basketball'

对于赋值操作,如果key原来不存在于字典中,则会新增key:vaule
如果key原先存在于字典中,则会修改对应的value值

5.3 长度len

len(dict)

5.4 成员运算 in 和 not in

'name' in dic  判断某个值是否是字典的key

5.5删除 pop

dic.pop('name')   通过指定字典中的key来删除字典中的键值对

5.6 键keys(),值values(),键值对items()

5.7 循环

默认遍历的是字典的key

for k in dic:
	print(key)

若只遍历key
for k in dic.keys():
	print(key)

只遍历value
for key i dic.values():
	print(key)

遍历key与value
for key in dic.items():
	print(key)

5.8需要掌握的操作

5.8.1 get()

dic ={'name':'han','age':20,'sex':'man'}
dic.get('name')  #取出key对应的value值  若key不存在,不会报错,而是默认返回None

可以设置默认返回值
dic.get('xxx',666) 不存在则返回666

5.8.2 pop()

删除指定的key对应的键值对,并返回值

v=dict.pop('name')

5.8.3 popitem()

随机删除一组键值对,并将删除的键值放到元组内返回

item1 = dict.popitem()

5.8.4 update()

用新的字典更新旧字典,有则修改,无则添加

dic={'name':'han','age':20,'sex':'man'}
dic.update('hobies':'play')

6. 集合 set

集合,list,tuple,dict一样都可以存多个值,但是集合主要用于:去重,关系运算

6.1 定义

三个特点:1.每个元素必须是不可变类型 2.集合内没有重复的元素 3.集合内元素无序

d={}  默认是空字典
s=set() 这才是定义空集合

6.2 类型转换

但凡能被for循环的遍历的数据类型(遍历的每一个值都必须为不可变类型)都可以传给set()转换成集合类型

set({'name':'han'})     {'name'}
set('han')      {'h','a','n'}

6.3 关系运算

6.3.1 合集/并集 (|) 两个集合中所有的元素(重复的只留一个)

6.3.2 交集(&) 两个集合的共同元素

6.3.3 差集 (-) 有顺序之分 (一个集合减掉另一个中他有的元素)

6.3.4 对称差集(^) 两个集合独有的元素(即去掉共有的元素)

6.3.5 相等(==)

6.3.6 父集,子集

6.3 去重

只能针对不可变类型;集合本身是无序的,去重之后无法保留原来的顺序

l=['a','b',1,'a','c']
s=set(l)
l_new = list(s)

7.可变类型与不可变类型

可变类型:值发生改变时,内存地址不变,即id不变 不可变类型:值发生改变时,内存地址也发生改变,即id也变。

不可变类型:数字类型,字符串,元组 可变类型:列表,字典,

原文地址:https://www.cnblogs.com/xiaoxuanworking/p/14347673.html