Hello,大家好。本期来和大家一起学习一下Python数据类型和相关方法的知识。

Python基本数据类型

Python总共有六大基本数据类型。

不可变数据类型:

  • Number(数字)
  • String(字符串)
  • Tuple(元组)

可变数据类型:

  • List(列表)
  • Dictionary(字典)
  • Set(集合)

数字类型

不可变类型,值变,id也变。改变需要重新赋值

n = 2
print(id(n)) # 2055485745488
n = 3
print(id(n)) # 2055485745520

int(整数)、float(小数)、complex(复数)、bool(布尔类型)

# 可以使用 int()、float()、complex() 方法从一种类型转换为另一种类型:
x = 10 # int
y = 6.3 # float
z = 1j # complex

# 把整数转换为浮点数
a = float(x)
# 把浮点数转换为整数
b = int(y)
# 把整数转换为复数:
c = complex(x)

字符串类型

不可变类型,值变,id也变。改变需要重新赋值

msg = 'hello world'
print(id((msg)))  # 2209383614256
msg = 'wello world'
print(id(msg))  # 2209391117424

字符串格式化

a = '学校'
b = 18
# 1.format()方法
print('my name is {},my age is {}'.format(a, b))  # my name is 学校,my age is 18
# 2.f格式化
print(f'my name is {a},my age is {b}')  # my name is 学校,my age is 18
# 3.%格式化
print(f'my name is %s,my age is %d' % (a, b))  # my name is 学校,my age is 18

字符串拼接

str1 = '真正的勇士'
str2 = '敢于直面惨淡的人生'
str3 = '敢于正视淋漓的鲜血'
list1 = [str1, str2, str3]
print(''.join(list1))  # 真正的勇士敢于直面惨淡的人生敢于正视淋漓的鲜血
print(','.join(list1))  # 真正的勇士,敢于直面惨淡的人生,敢于正视淋漓的鲜血

字符串大小写

msg1 = 'abC'
print(msg1.lower())  # abc       
print(msg1.upper())  # ABC
print(msg1.capitalize())  # Abc

字符串切割

msggg = 'root:123456'
print(msggg.split(':')[0])  # root

字符串替换

msgggg = 'hello'
print(msgggg.replace('e', 'a', 1))  # hallo

元组类型

不可变类型,值变,id也变。改变需要重新赋值

t = (1, 2, '大海', (2, 3), ['红海', 2, 3])
print(id(t))  # 2899688255632
t[0] = 5  # TypeError: 'tuple' object does not support item assignment
t = (5, 2, '大海', (2, 3), ['红海', 2, 3])
print(id(t))  # 2899692729184

元组方法和列表方法类似。

列表类型

可变类型,值变,id不变。改变不需要重新赋值

L = ['666', 1, 1.2, [1.22, '小海']]
print(id(L))  # 2571026816640
L[0] = '红海'
print(id(L))  # 2571026816640

列表查找某元素个数

L = ['666', 1, 1.2, [1.22, '小海']]
print(L.count('666'))  # 1

列表排序

L = [1, 3, 2, 5]
L.sort() / L.sort(reverse=False) / sorted(L)
print(L)  # [1, 2, 3, 5]
L.sort(reverse=True)
print(L)  # [5, 3, 2, 1]

列表插入元素

L = ['666', 1, 1.2, [1.22, '小海']]
L.insert(1, '黄海')
print(L)  # ['666', '黄海', 1, 1.2, [1.22, '小海']]

列表查找某元素下标

L = ['666', 1, 1.2, [1.22, '小海']]
print(L.index('666'))  # 0

字典类型

可变类型,值变,id不变。改变不需要重新赋值

info = {'name': '666', 'age': 18}
print(id(info))  # 1859481735936
info['addr'] = 'changsha'
print(id(info))  # 1859481735936

字典添加键值对

info = {'name': '666', 'age': 18}
info.update({'weigh': '120'})
print(info)  # {'name': '666', 'age': 18, 'weigh': '120'}

字典取出所有的key或values

info = {'name':'666','age':18}
print(list(info.keys()))     # ['name', 'age']
print(list(info.values()))  # ['666', 18]
print(list(info.items()))  # [('name', '666'), ('age', 18)]

字典排序

sys = {'name': 1, 'age': 2, 'gender': 3}
# 根据字典的key排序
new_sys = sorted(sys)
print(new_sys)  # ['age', 'gender', 'name']
# 根据key的升序排列,把key value都打印出来
new_sys1 = sorted(sys.items(), key=lambda d: d[0], reverse=False)
print(new_sys1)  # [('age', 2), ('gender', 3), ('name', 1)]

集合类型

可变类型,值变,id不变。改变不需要重新赋值.元素类型必须都为不可变类型

sss = {'a', 1, ('aaa', 'ccc')}
print(id(sss))  # 3097751664896
sss.add('小海')
print(id(sss))  # 3097751664896

sss = {'a', 1, [1, 2], ('aaa', 'ccc')}
print(sss)  # TypeError: unhashable type: 'list'

集合添加元素

s = {1, 2, 3}
s.add('小海')
print(s)  # {1, 2, 3, '小海'}

集合删除某元素

s = {1, 2, 3, '小海'}
s.remove('小海')
print(s)  # {1, 2, 3}

更多数据类型的方法可以点击这里进行查询哦.(https://www.runoob.com/python3/python3-data-type.html)