python的六大数据类型

本文深入解析Python的六种基本数据类型:数值、字符串、列表、元组、集合和字典,涵盖每种类型的特点、操作方法及常用函数,是Python初学者和进阶者不可多得的参考资料。

Python的六大数据类型分别是:数值、字符串、列表、元组、集合、字典。

下面就分别介绍下。

其实我主要是想记录下 一些方法。

python3 内建序列:
  str, list, tuple, bytes, bytearray
python3 中可变的数据类型 
   list, dict, set, bytearray


整数 int    浮点数 float    复数 complex 布尔 bool

这个感觉没啥说的 先过,一会补充


String 字符串 str
字符串用来记录文本信息.在非注释中,凡是以引号括起来的部分都是字符串。

  '    单引号  "    双引号  '''  三单引号  """  三双引号

字符串转义字符表:
   转义格式  含义
     \'    代表单个单引号
     \"    代表单个双引号
     \n    代表换行符
     \\    一个反斜杠
     \t    水平制表符(tab)
     \v    垂直制表符
     \r    返回光标至行首
     \a    响铃
     \f    换页
     \b    倒退(backspace)
     \0    空字符,字符值为零
     \xXX  XX为两位十六进制表示的字符
     \uXXXX  Unicode 16的十六进制表示的字符
     \UXXXXXXXX Unicode32 的十六进制表示的字符

raw 字符串(原始字符串)让转义符号 \ 无效

字符串的构造(创建)函数  str(x)  返回一个对象的字符串表求方法

索引 index  字符串[整数表达式]

切片 slice    从字符串序列中取出相应的元素,重新组成一个字符串序列

python3 中常用的序列函数
  len(s)   返回序列的长度
  max(x)   返回序列的最大值的元素
  min(x)   返回序列的最小值的元素

字符串编码转换函数:
  ord(char)  返回一个字符的 UNICODE值
  chr(i)     返回i这个值所对应的字符

整数转换为字符串的函数:
  bin(i)  将整数转换为二进制字符串
  oct(i)  将整数转换为八进制字符串
  hex(i)  将整数转换为十六进制字符串


S.isdigit() 判断字符串是否全为数字
S.isalpha() 判断字符串是否全为英文字符
S.islower() 判断字符串是否全为小写字符
S.isupper() 判断字符串是否全为大写字符
S.isspace() 判断字符串是否全为空白字符
S.center(width[, fill])  将原字符串居中,左右默认填充空格
S.count(sub[, start[, end]]) 获取一个字符串中子串的个数
S.find(sub[, start[, end]]) 获取一个字符串中子串sub的索引,失败返回-1
S.strip()   返回去掉左右空白字符的字符串
S.lstrip()  返回去掉左侧空白字符的字符串
S.rstrip()  返回去掉右侧空白字符的字符串
S.title()  生成每个英文单词首字母大写的字符串
S.upper()  生成全大写字符串
S.lower()  生成全小写字符串
S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串

 

字符串格式化  % 生成一定格式的字符串
语法:
  格式字符串 % 参数值
  或
  格式字符串 % (参数值1, 参数值2, ...)
说明:格式字符串中以% 开头的为占位符,占位符的位置将用参数值替换

  fmt = "name: %s, age: %d, lalalala..."
  n = "dingzi"
  a = 23
  print(fmt % (n, a))

格式化字符串中的占位符的类型码
  %s   字符串
  %r   字符串(使用repr函数转码,而不是str函数)
  %c   整数转为单个字符
  %d   十进制整数
  %o   八进制整数
  %x   十六进制整数(字符a-f小写)
  %X   十六进制整数(字符A-F大写)
  %e    指数型浮点数(e小写), 如2.9e+10
  %E    指数型浮点数(E大写), 如2.9E+10
  %f,%F 小数型浮点数
  %g,%G 小数型浮点和指数浮点自动转换
  %%    等同于一个%字符

占位符 % 和类型码之间的格式语法:
 - 号左对齐
 + 显示正号
 0 补零
 宽度
 宽度.精度

 

  "%d" % 123    # '123'
  "%10d" % 123  # '       123'
  "%-10d" % 123 # '123       '
  "%010d" % 123 # '0000000123'
  "%f"  % 3.1415926535
  "%7.3f"  % 3.1415926535

List 列表

 列表是由一系列特定元素组成的,元素与元素之间可能没有任何关联关系,但他们一定有先后顺序关系,列表是序列的一种,

列表可变。 L=[]

列表的 in / not in运算符 (成员身份验证运算符)。判断一个值是否存在于列表中,存在返回True,不存在返回 False

列表的索引:列表[整数表达式] 可以索引赋值

列表的切片:列表[开始索引:终止索引: 步长] 可以切片赋值

del :可以用del语句删除变量,也可以用它来删除列中的元素
  del 列表[整数表达式]   # 索引
  del 列表[::]         # 切片


常用的列表 方法 method:
  对象.方法名(传参)
  假设列表名为L

L.index(v[, begin[, end]])  返回对应元素的索引下标,begin为开始索引,end为结束索引
L.insert(index, obj) 将某个元素插入到列表中的指定位置
L.count(x) 返回列表中的元素个数
L.remove(x) 从列表中删除第一次出现在列表中的值
L.copy() 复制此列表(只复制一层,不会复制深层对象)
L.append(x)  向列表中追加单个元素
L.extend(lst) 向列表追加另一个列表
L.clear()  清空列表,等同于 L[:] = []
L.sort(reverse=False)  将列表中的元素进行排序,默认顺序按值的小到大顺序排列
L.reverse()  列表的反转,用来改变原列表的先后顺序
L.pop([index])  删除索引用对应的元素,如果不加索引,默认删除最后元素,同时返回删除的元素

列表推导式 具体咋说呢  [x for x in range(4)] 随便写个例子


Tuple(元组)

元组是不可以改变的序列。同list一样,元组可以存放任意类型的值.用小括号() 括起来,单个元素括起来后加逗号(,)

t = ()   t = (1,)

in / not in 运算符 用来判断一个值是否存在于元组中
元组不能索引赋值 元组不能切片赋值 元组的切片返回一个新的元组

元组的方法:
  T.index()  返回对应元素的下标,当value不存在时,触发ValueError的错误
  T.count(x)  返回列表中元素的个数

 

 


字典 dict

  1. 字典是一种可变的容器,可以存储任意类型的数据。
  2. 字典中的数据是以键-值(key-value)对 的形式进行存储的。
  3. 字典中的每个数据都是用"键"(key) 进行索引的
  4. 字典的数据没有先后关系,字典的存储是无序的,字典的键不能重复,且只能用不可变类型作为字典的键。

字典以大括号,花括号{} 括起来, 以冒号(:) 分隔键-值对, 各键值对之间用逗号分隔开  d = {}

cd = {'name':chending,'age':23}

cd['name']   #chending

字典的索引赋值,若键存在,修改。cd['age']=18   不存在,则添加。cd['sex'] = 'man'

可以用in运算符来判断一个键是否存在于字典中,如果存在则返回True, 否则返回False

字典是可迭代对象, 字典只能对键进行迭代

字典的方法(method)
D代表字典对象
D.clear()   清空字典
D.pop(key)  移除键,同时返回此键所对应的值的引用关系
D.copy()    返回字典D的副本,只复制一层(浅拷贝)
D.update(D2)将字典D2合并在D中,如果键相同,则此键的值取D2的值作为新值
D.get(key, default)  返回键key所对应的值,如果没有此键,则返回default
D.keys()   返回可迭代的dict_keys集合对象
D.values() 返回可迭代对dict_values值对象
D.items()  返回可迭代的dict_items对象

字典推导式  tai ma fan le


集合 set

  1.   集合是可变的容器
  2.   集合内的数据对象都是唯一的(不能重复多次的)
  3.   集合是无序的存储结构,集合中的数据没有先后关系
  4.   集合内的元素必须是不可变对象
  5.   集合是可迭代的
  6.   集合是相当于只有键没有值的字典(键则是集合的数据)

创建空集合: s = set() (不能用{}来创建空集合)

>>> s= set(range(1, 6))
>>> s
{1, 2, 3, 4, 5}

集合的运算:交集  并集,补集, 子集,超集

& 生成两个集合的交集
  s1 = {1,2,3}
  s2 = {2,3,4}
  s3 = s1 & s2  # s3 = {2, 3}

| 生成两个集合的并集
  s1 = {1,2,3}
  s2 = {2,3,4}
  s3 = s1 | s2  # s3 = {1,2,3,4}

- 生成两个集合的补集
s1 = {1,2,3}
s2 = {2,3,4}
# 属于 s1,但不属于 s2的所有元素的集合
s3 = s1 - s2  # s3 = {1}  

^ 生成两个集合的对称补集
s1 = {1,2,3}
s2 = {2,3,4}
# 属于 s1,但不属于 s2的集合 并上 属于s2 但不属于s2的集合
s3 = s1 ^ s2  # s3 = {1, 4}  
# 相当于  s3 = (s1 - s2) | (s2 - s1)

in 运算符用于判断一个对象是否存在于集合中

集合是可迭代对象,集合的迭代不保证先后顺序

python3 集合中常用的方法:
S 代表集合
S.add(e)  在集合中添加一个新的元素e,如果元素存在,则不添加
S.remove(e)  从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误
S.discard(e)  从集合S中移除一个元素e(不会出错)
S.clear()  清空集合
S.copy()  将集合进行一次浅拷贝
S.pop()  从集合S中删除一个随机元素;如果此集合为空,则引发KeyError异常
S.update(S2) 用S与S2得到并集来更新S

 

集合推导式 跟列表推导式也是类似的。 唯一的区别在于它使用大括号{}

!!!差点我准备用()写了

{x for x in range(4)}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值