Python公开课 - 基础数据类型
01. 前言
基础数据类型掌握是一门语言的基础,Python的数据类型很灵活,变量并不是通过声明来指定,而是通过赋值来指定,这个与C和JAVA有很大的不同。
02. 六大标准数据类型
- Number - 整型
- String - 字符串
- List - 列表数组
- Tuple - 元祖
- Set - 集合
- Dict - 字典
03. Number - 整型
数字包含了整数、浮点数、布尔值以及复数:
>>>a, b, c, d = 23, 6.5, False, 4+5j
>>>print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
数值运算:
>>>5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
注意:
- Python3中int类型不存在最大范围限制,也就是说你可以使用超过[-2417483648,2417483647]范围的整数
- 在一般场景下复数使用较少,这里就不过多介绍了
04. String - 字符串
字符串很常用,可以通过单引号或者双引号来赋值
>>>a, b, c, d='Hello', "World", """Test""",'''Python'''
>>>print(type(a), type(b), type(c), type(d))
<class 'str'> <class 'str'> <class 'str'> <class 'str'>
有时候,你可以把它当数组来进行切片:
>>>a="HelloWorld"
>>>print(a[3:6])
loW
也许你要需要进行拼接:
>>>a, b="Hello", "World"
>>>print(a+b)
HelloWorld
关于字符串拼接性能,有这样一个结论,参考Stackoverflow.com:
- If you using 2.6, use the + operator.
- if you're using 2.7 use the '%' operator.
- if you're using 3.x use ''.join().
当然字符串是不能改变的,也就是说
>>>a="Test"
>>>a[1]='a'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
05. List - 列表
理解为数组比较合适,可以索引和进行切片
>>>a=[1, 2, 3]
>>>a[1]='a'
>>>print(a)
[1, 'a', 3]
list内置方法:
- append: 往数组尾添加一个元素
- clear: 清空数组
- copy: 创建一个本数组的拷贝
- count: 返回值匹配值的个数
- extend: 数组拼接
- index: 返回匹配值的索引位置
- insert: 在指定索引位置插入值
- pop: 在指定索引位置删除值,并返回被删除的值
- remove: 将数组中第一个匹配的值进行删除
- reverse: 倒排数组
- sort: 可以按照自定义方法进行排序
>>> a=[1,2,3]
>>> a.append(4)
>>> print(a)
[1, 2, 3, 4]
>>> a.clear()
>>> print(a)
[]
>>> b=[4,5,6]
>>> a=b.copy()
>>> a[1]=2
>>> print(a,b)
[4, 2, 6] [4, 5, 6]
>>> a=[1,2,2,3,5,2]
>>> print(a.count(2))
3
>>>b=['a', 'b', 'c']
>>>a.extend(b)
>>>print(a,b)
[1, 2, 2, 3, 5, 2, 'a', 'b', 'c'] ['a', 'b', 'c']
>>>print(a.index('a'), a.index(2, 3,10))
6 5
>>>b.insert(4, 'd')
>>>print(b)
['a', 'b', 'c', 'd']
>>>b.pop(2)
>>>print(b)
['a', 'b', 'd']
>>>a.remove(2)
>>>print(a)
[1, 2, 3, 5, 2, 'a', 'b', 'c']
>>>a.reverse()
>>>print(a)
['c', 'b', 'a', 2, 5, 3, 2, 1]
>>>b.sort()
>>>print(b)
['a', 'b', 'd']
06. Tuple - 元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
注意:
- 与字符串一样,元组的元素不能修改
- 元组也可以被索引和切片,方法一样
- 元组也可以使用+操作符进行拼接
07. Set - 集合
集合(Set), 主要用来进行集合计算和排重
>>> s={'a', 'b', 'c', 'c'}
>>> print(s)
{'b', 'a', 'c'} #重复的元素被自动去掉
>>> b = set('cdef')
>>> print(b)
{'f', 'e', 'd', 'c'}
>>> print(s-b) #求差集
{'b', 'a'}
>>> print(s|b) #求并集
{'b', 'e', 'c', 'f', 'a', 'd'}
>>> print(s&b) #求交集
{'c'}
>>> print(s^b) #s和b中不同时存在的元素
{'e', 'a', 'b', 'f', 'd'}
08. Dict - 字典
字典是一个很常用的数据类型,类似于hashmap,性能很好,可以满足各种key, value形式的数据存取
>>> s={'name': 'Willie', 'age':18, 'female': False}
>>> s.update({'job': 'student'})
>>>print(s)
{'age': 18, 'female': False, 'job': 'student', 'name': 'Willie'}
注意:
- 字典是一种映射类型,它的元素是键值对
- 字典的关键字必须为不可变类型,且不能重复
09 更多内容
原文来自兔子先生网站:https://www.xtuz.net/detail-12.html
查看原文 >>> Python基础数据类型
如果你对Python语言感兴趣,可以关注我,或者关注我的微信公众号:xtuz666
10. 相关阅读
展开剩余53%