Python-04-数据类型 上 | Python 主题月

171 阅读2分钟

本文正在参加「Python主题月」,详情查看 活动链接

Python的标准数据类型

number     数字(不可变)
string     字符(不可变)
tuple      元组(不可变)
list       列表
set        集合
dictionary 字典

Number

Python3 支持 int、float、bool、complex(复数)。

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数可以用来查询变量所指的对象类型。

PS D:> python Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
>>>

此外还可以用 isinstance 来判断:

>>> isinstance(a, int)
True
>>>

isinstance 和 type 的区别在于: isinstance 可以判断子类是否是父类的实例,而type只判断当前类型。

>>> class A:
...     pass
... 
>>> class B(A):
...     pass
... 
>>> isinstance(A(), A)
True
>>> type(A()) == A 
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False

String

Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

字符串切片:

<a>[起始索引:结束索引] 遵循前闭后开的原则

>>> s = 'phyger'
>>> s
'phyger'
>>> s[0:5]
'phyge'
>>> s[:2]
'ph'
>>> s[1:]
'hyger'
>>> s[:-1]
'phyge'
>>>

字符串转义:

\在python中用来转义特殊字符,比如下面的\n表示换行,如果想要表示原始字符串,则在字符串前面加上r表示忽略转义字符。

>>> print('phy\nger')
phy
ger
>>> print(r'phy\nger')
phy\nger
>>>

List

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表切片:

类似字符串(但是列表的元素是可变的)

>>> l = [1,'phyger',{'name':'xian'}]
>>> l
[1, 'phyger', {'name': 'xian'}]
>>> l[1:]
['phyger', {'name': 'xian'}]
>>> l[:-1]
[1, 'phyger']
>>> l[0]
1
>>> l[2]
{'name': 'xian'}
>>> l[2]={'city':'xian'}
>>> l
[1, 'phyger', {'city': 'xian'}]
>>>

列表内置方法:

按索引取值:list[0]
切片:list[0:2]
长度:len(list)
in/not in: a in list
遍历:for i in list
删除:del list[1]
追加:list.append('ok')
计数:list.count('ok')
扩展:list.extend([2,3])    类似相加
清除:list.clear()   清空列表
复制:list2=list.copy()
尾删:list.pop()
索引:list.index('ok')
插入:list.insert(0,'ojbk')  在列表头部插入
移除:list.remove('ok')
反转:list.reverse()
排序:list.sort()

未完待续。