Python基础与拾遗7:Python中的数据类型总结

Python基础与拾遗7:Python中的数据类型总结


本篇博文,主要总结Python中的数据类型与注意事项,下面开始干货。

数据类型总结

对象类型分类是否可变
数字数值
字符串序列
列表序列
字典对应
元组序列
文件扩展
set集合
frozenset集合
bytearray(Python 3.0及之后的版本中)序列
  1. 列表,字典和元组可以包含任何种类的对象。
  2. 列表,字典和元组可以任意嵌套
  3. 列表和字典可以动态地扩大和缩小
  4. 内置函数type可以用于判断类型。类型共有dict, list, str, tuple, int, float, complex, byte, type, set和file几种。
    注意,类型本身在Python中也是对象类型
type(type) <class 'type'>

对象的复制

  1. 没有限制条件的分片表达式(L[:])能够复制没有嵌套的序列
a = [1, 2, 3]
b = a[:]
b[0] = 0 # [0, 2, 3]
a # [1, 2, 3]
a = [1, 2, [3, 4, 5]]
b = a[:]
b[2][0] = 0 # [1, 2, [0, 4, 5]]
a # [1, 2, [0, 4, 5]]
  1. 字典copy方法(X.copy())可以复制字典。
a = {'a': 1, 'b': 2}
b = a.copy()
b['a'] = 0
a # {'a': 1, 'b': 2}
b # {'a': 0, 'b': 2}
  1. 有些内置函数(如list)可以生成拷贝(list(L))。
a = [1, 2, 3]
b = list(a)
b[0] = 0
a # [1, 2, 3]
b # [0, 2, 3]
  1. copy标准库模块能够生成完整拷贝。注意:无条件值的分片以及字典copy方法只能做顶层复制。也就是说,不能复制嵌套的数据结构。若需要一个深层嵌套的数据结构的完整的、完全独立的拷贝,需要import copy,并采用深复制(如果是浅复制达不到嵌套内容复制的目的)。
import copy
a = [1, 2, [3, 4, 5]]
b = copy.copy(a)
b[2][0] = 0 # [1, 2, [0, 4, 5]]
a # [1, 2, [0, 4, 5]]
a = [1, 2, [3, 4, 5]]
b = copy.deepcopy(a)
b[2][0] = 0 # [1, 2, [0, 4, 5]]
a # [1, 2, [3, 4, 5]]

比较,相等性和真值

  1. "=="操作符测试值的相等性。可以递归地比较所有内嵌对象。
  2. "is"表达式测试对象的一致性。测试二者是否为同一个对象(是否在同一个内存地址中)。在这里尤其注意长短字符串的例子。
s1 = 'hello'
s2 = 'hello'
s1 == s2, s1 is s2 # (True, True)
s1 = 'hello moto'
s2 = 'hello moto'
s1 == s2, s1 is s2 # (True, False)

Python中的真与假

  1. 数字如果非零,就为真
bool(0) # False
bool(-1) # True
bool(1) # True
  1. 其他对象如果非空,则为真
对象
“a”True
“”False
[]False
{}False
1True
0.0False
NoneFalse
  1. None一般起到一个空的占位符的作用。
l = [1, 2, None, 3]
len(l) # 4
l[2] # 无输出
  1. 内置函数bool可以测试对象的布尔值,输出True/False。
bool(“”) # False
bool([]) # False
bool(0.000000000000000000000000000000000000000001) # True
bool(bool) # True

以上,欢迎各位读者朋友提出意见或建议。

欢迎阅读笔者后续博客,各位读者朋友的支持与鼓励是我最大的动力!

written by jiong
知彼知己,
纵横天下。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值