python数据类型

python

1. number

1.1 整型(int)

  • 作用:年纪,等级,身份证号,qq号等整型数字相关
  • 定义:
    age=10 #本质age=int(10)

1.2 浮点型

  • 作用:薪资,身高,体重,体质参数等浮点数相关
    salary=3000.3 #本质salary=float(3000.3)

2. 字符串 str

  • 作用:对事物的具体描述信息
  • 定义:在单/双/三引号中由一串字符组成
  • 相关操作

例:a='I love you'

(1)按索引取值(从0开始) print(a[2]) #l

(2)切片(顾头不顾尾,步长,最后一位是-1)

print(a[2:4]) # lo

print(a[0:-1]) #I love yo

print(a[0:-1:2]) #Ilv o

print(a[::-2]) # uyeo

(3)长度 print(len(a) #10

(4)成员运算in,not in 返回true或者false

(5)移除空白strip

name='****A*e*gon****'

print(stript.name('*') #A*e*gon

print(lstript.name('*') 去除左边* #A*e*gon****

print(rstrip.name('*') 去除右边* #****A*e*gon

(6)切分split(切分符号,个数)

msg='egon:18:male:180:160'

l=msg.split(':')

print(l)

#['egon', '18', 'male', '180', '160']

从右边切分

print(msg.rsplit(':',1))

#['egon:18:male:180', '160']

(7) 大小写 upper,lower

(8)startswith,endswith 以什么开头/结尾,返回true或者false

print('I love you'.startswith('I')) # true

(9)format 三种用法

print('my name is {name} my age is {age}'.format(age=18,name='egon')) # 可以打破位置的限制,但仍能指名道姓地为指定的参数传值

print('my name is {} my age is {}'.format('egon',18))

print('my name is {0}{0} my age is {1} {1} {1} {1}'.format('egon',18))

(10)join 拼接

用指定符号拼接

info='qqc:18:male'

print('-',join(info)

#q-q-c-:-1-8-:-m-a-l-e

将元素全为字符串的列表拼成一个大的字符串

info= ['ggh','jh','drt','kit']

print('|'.join(info))

#ggh|jh|drt|kit

(11) replace 替换

a='I love you I'

print(a.replace('I','gg')

#gg love you gg

可指定替换个数(默认全部替换)

print(a.replace('I','gg',1)

gg love you I

(12)isdigit 判断是否为整数

print('88'.isdigit()) #true

print('hh'.isalpha()) 是否是字符串

#true

  • 总结

只能存一个值,有序,不可变类型

name='qqc'

b=name.replace('q','w')

print(id(name)) #5145600

print(id(b)) #5145664

#id已变为不可变类型

3.列表 list

  • 定义:在[]内可以有多个任意类型的值,逗号分隔
  • 相关操作

    索引,切片,成员运算,长度与字符串用法相同

  • 追加

#末尾添加 append

names=['qqc','wx','ggx','fln']

print(names.append('gg')

#指定位置添加 insert

names=['qqc','wx','ggx','fln']

names.insert(1,'gg')

print(names)

#['qqc', 'gg', 'wx', 'ggx', 'fln']

添加多个值 extend

names.extend([7,2,3])

  • 删除

# del 指定索引删除  

names=['qqc','wx','ggx','fln']

del names[2]

print(names)

# ['qqc', 'wx', 'fln']

# remove 删除指定的元素,没有返回值

names=['qqc','wx','ggx','fln']

names.remove('wx')

print(names)

# pop() 指定索引删除,有返回值

names=['qqc','wx','ggx','fln']

res=names.pop(2)

print(res) #ggx

print(names) # ['qqc', 'wx', 'fln']

  • 通过值取索引 index

names=['qqc','wx','ggx','fln']

print(names.index('qqc')) # 0

  • 排序

    字符串比较(小写>大写,a至z变小,从第一位开始依次比较后面的值)

sort 从小到大排序

name=[1,10,-3,11]

name.sort()

print(name)

#当倒序reverse =true时,从大到小排序,

name=[1,10,-3,11]

name.sort(reverse =True)

print(name)

#[11, 10, 1, -3]

  • 类型总结

(1)可以储存多个值,值可以是任意类型

(2)有序

(3)可变类型(修改值以后ID依然相等)

l=['a','b']

print(id(l)) #4845856

l[0]='A'

print(id(l)) #4845856

4. 元组 tuple

  • 定义:在()内用逗号分割开,可以存放任意类型的值
  • 用途:元组是不可变的列表,能存多个值,但多个值只有取的需求,而没有改的需求,那么用元组合最合理;(当元组内只有有个元素时,要加逗号)
  • 相关操作

1、按索引取值(正向取+反向取):只能取   

2、切片(顾头不顾尾,步长)

3、长度

4、成员运算in和not in

5、循环

注:用法同列表

  • 内置方法

names=('lggx','effn','wx','lxx','chxx','lxx')

print(names.count('lxx')) #个数

print(names.index('wx')) #元素索引

  • 总结:

可以存多个值

有序

不可变类型

(值改变,ID变为不可变类型,ID不变为可变类型)

与列表区别:(1)元组缓存于Python运行时环境,每次使用元组时无须访问内核去分配内存;创建开销小;适用存放一个不会改变事物的多个属性

5. 字典 dic

  • 定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式

    value可以是任意数据类型,但是key必须为不可变类型,key通常应该是字符串类型

  • 用途:用来存多个值,但每一个值都有一个key与之对应,key对值有描述性的功能

    当存储多个值表示的不同的状态

  • 相关操作

1、按key存取值:增,取,改

d={'x':1,'y':2}

d['z']=3

print(d) #增

print(d['x']) #取

d['x']=100 #改

print(d)

2、长度len

print(len(d))

3、成员运算in和not in

(判断字典中的key)

4、删除

(1)指定key值删除 del

d ={'x':1,'y':2,'z':100}

del d['x']

print(d) #{'y': 2, 'z': 100}

(2)拿走一个值,有返回值 pop

d ={'x':1,'y':2,'z':100}

res=d.pop('y')

print(d)

print(res) # 2 (被删除的key,对应的value)

(3) 删除最后一个键值对 popitem

d ={'x':1,'y':2,'z':100}

res=d.popitem()

print(d) #{'x': 1, 'y': 2}

print(res) #('z', 100)

#被删除的键值对以元组的形式返回

5、键keys(),值values(),键值对items()

msg_dic={

'apple':10,

'tesla':100000,

'mac':3000,

}

print(msg_dic.key())

结果:dict_keys(['apple', 'tesla', 'mac'])

print(msg_dic.values())

结果:dict_values([10, 100000, 3000])

print(msg_dic.items())

结果:dict_items([('apple', 10), ('tesla', 100000), ('mac', 3000)])

#转成列表

print(list(msg_dic.keys()))

结果:['apple', 'tesla', 'mac']

6、循环

(1) 只取key

d={'a':1,'b':2,'c':3,'d':4}

for k in d:

print(k) #abcd

#for k in msg_dic.keys():

# print(k,msg_dic[k])

(2)只取value

d={'a':1,'b':2,'c':3,'d':4}

for v in d .values() :

print(v)

(3)取key和value

d={'a':1,'b':2,'c':3,'d':4}

for d,v in d.items():

print(k,v)

  • 内置方法

(1) get(key,默认值) 取值,如果字典没有指定的key也不会报错,返回默认值None,也可自己设置默认值

d={'x':1,'y':2,'z':3}

v=d.get('g','hello')

print(v)

结果:hello

#字典的key值中没有‘g’,返回默认值hello

(2)update 更新字典元素

d={'x':1,'y':2,'z':3}

d1={'a':1,'x':1111}

d.update(d1)

print(d)

结果:{'x': 1111, 'y': 2, 'z': 3, 'a': 1}

(3)fromkeys() 创建新字典

l=['name','age','sex']

d={}

for k in l:

d[k]=None

d=dict.fromkeys(l,None)

print(d)

结果:{'name': None, 'age': None, 'sex': None}

#key值不一样,value一样

(4)setdefault()

#键不存在于字典中,将会添加键并将值设为默认值

info={'name':'egon','age':18,'sex':'male'}

res=info.setdefault('height',1.80)

print(res) #1.80

print(info)

结果:{'name': 'egon', 'age': 18, 'sex': 'male', 'height': 1.8}

#如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值

info={'name':'egon','age':18,'sex':'male'}

res=info.setdefault('name','EGON_NB')

print(res) #egon

print(info)

结果:{'name': 'egon', 'age': 18, 'sex': 'male'}

  • 总结:

无序、可变类型

6. 集合 set

  • 定义:用{}可以包含多个元素,用逗号隔开,集合内元素是不可变类型,没有重复元素,无序的
  • 作用:将不同的值存在一起,不同的集合用来做关系运算
  • 集合去重注意事项:

(1)去重的目标所包含的值为不可变类型;

(2)去重后原有值的顺序被打乱

l=['a','b',1,'a','a']

a = set(l)

print(a)

  • 基本操作

(1)运算操作

name = {'dd','gg','dd','ggg','ffb'}

name1 = {'dd','dxd','ggg','cc'}

print(name|name1) #合集 {'cc', 'dd', 'gg', 'ffb', 'dxd', 'ggg'}

print(name&name1) #交集 {'dd', 'ggg'}

print(name-name1) #差集 {'gg', 'ffb'}

print(name^name1) #对称差集 {'cc', 'gg', 'ffb', 'dxd'}

(2)父集包含关系(>,>=),子集被包含关系(<,<=)

s1={1,2,3,4,5}

s2={1,2,3}

print(s1 > s2) # s1包含s2 True

print(s1.issuperset(s2)) #True (包含)

print(s2.issubset(s1)) #True (子集)

  • 内置方法

name = {'dd','gg','dd','gbg','ffb'}

#成员运算 in, not in

print(len(name)) #元素个数

name.add('vv') #添加新元素

print(name)

name.update([1,3,4]) #添加多个元素

print(name)

name.remove('dd') #删除指定的元素,没有指定的元素报错

print(name)

name.discard('c') #如果存在指定的元素就删除

print(name)

c=name.copy() #复制集合

print(c)

print(name.pop()) #返回集合中的一个不确定元素

name.clear() #删除集合元素

print(name) #set()

  • 总结

无序、

存多个值

值唯一

可变类型

7. 布尔类型 bool

  • 作用:

    判断一个条件成立时,用True标识,不成立则用False标识

  • 注意:

1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False

2、其余均为真


占位符:

food='chicken'

print('今天 %s' %(food))

print('今天 {}'.format(food))

print(f'今天{food}')

以上是 python数据类型 的全部内容, 来源链接: utcz.com/z/388995.html

回到顶部