iOS开发人员如何学习Python编程4-数据类型1

166 阅读3分钟

这是我参与11月更文挑战的4天,活动详情查看:2021最后一次更文挑战

python这门语言中,数据类型分为两种:

  • 内置数字字符串布尔列表元组字典Bytes集合这些常用的以及一些不太常用的数据类型。
  • 自定义:一般以的形式,根据需要组合以上内置类型成为独特的数据类型。

数字类型

数字类型不可变类型。类型的值一旦有不同,那么它就是一个全新的对象。例如:

  • 数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象。

还是要强调一下Python的变量和数据类型的关系,变量只是对某个对象的引用或者说代号、名字、调用等等,变量本身没有数据类型的概念:

  • 只有1[1,2]"hello"这一类对象才具有数据类型的概念。

Python支持三种不同的数字类型:

  • 整数
  • 浮点数
  • 复数

小整数对象池

python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成。范围是-5256

整数缓冲区

除了小整数对象池Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用:

a = 100000
print(id(a))
del a

b = 100000
print(id(b))

3028842491600
3028842491600

⚠️注意: 该效果在pycharm等当中才能显示。

进制转换

>>> hex(11)     # 10转16
'0xb'
>>> oct(11)     # 10转8
'0o13'
>>> bin(11)     # 10转2
'0b1011'

浮点数与整数之间的转换

>>> a = 1
>>> float(a)	# 整数转为浮点
1.0

>>> b = 2.2
>>> int(b)		# 浮点转为整数
2

复数(complex

复数由实数部分和虚数部分构成,可以用a + bj or complex(a,b)表示,复数的实部a和虚部b都是浮点:

>>> a = 1
>>> b = 2
>>> complex(a,b)    # a为实数部分,b为虚数部分 
(1+2j)

布尔类型

Python语言中,布尔类型只有两个值,TrueFalse(首字母大写)。

bool()函数可以用来测试一个表达式的布尔值结果:

>>> bool(1)
True
>>> bool(0)
False
>>> bool([])
False
>>> bool(())
False
>>> bool({})
False
>>> bool(-1)
True
>>> bool('')
False
>>> bool("False")
True
>>> bool("True")
True
>>> bool(0.0)
False
>>> bool(1.0)
True
>>> bool(-0.0)
False

⚠️注意:

  • not运算是非运算,它是单目运算符,把True变成FalseFalse变成True
  • and运算是与运算,只有所有都为Trueand运算的结果才是True
  • or运算是或运算,只要其中有一个为Trueor运算结果就是True空值Python里一个特殊的值,用None表示(首字母大写)。None不能理解为0,因为0是整数类型,而None是一个特殊的值。None也不是布尔类型,而是NoneType
>>> bool(None)      # None的bool值永远为False
False
    
>>> type(None)
<class 'NoneType'>