Python 内置类型简述
2017-04-26 10:31
148 查看
Python 内置类型简述
这里学习内容来自于 《Python学习手册》 和https://learnpythonthehardway.org/book/目前只更新到 字典 ,会不断补充后续内容。
for lelp
之所以把这一项放在开头,是提醒自己多查看python手册,或是”help(struc.method)”
核心数据类型
内置对象类型:数字:
1234, 3.1415, 3+4j, Decimal, Fraction
字符串:
'spam', "guido's", b'a\xolc'
列表:
[1,[2,'three'],4]
字典:
{'food':'spam','taste':'yum'}
元组:
(1,'spam',4,'U')
文件:
myfile=open('eggs','r')
集合:
set('abc'),{'a','b','c'}
其它类型:
None, bool
编程单元类型:
函数、模块、类
数字
类似于其他编程语言,Python也包括常见的:整数 、浮点数、其它(有虚部的复数、固定精度的十进制数、有分子和分母的有理分数)、集合。除了表达式,还有一些常用的 数学模块,里面包括高级的数学工具、如函数。random 可生成随机数也可作随机选择器
>>>import math >>>math.pi >>>nath.sqrt(9) >>>import random >>>random.random() >>>random.choice([1,2,3,4])
序列
含义
一个“序列”是一个对位置进行排序的对象的集合。包括 字符串、列表、元组。操作
它们共同拥有一般的序列操作,包括 索引、分片、合并,但是也有其各自特定的操作方法。索引
以”China”为例:s = "China" len(s)
索引是按照 偏移量 进行的,自然是从0开始的,比如:
s[0] 'C'
分片
s[1:4] 'hin' >>> s[:] 'China'
也可以通过 负偏移量 进行索引,例如-1则是指最后一项,比如:
>>> s[-1] 'a' >>> s[:-1] 'Chin'
合并
“+” 用以合并>>> s + ", I love you!" 'China, I love you!'
不可变性
表示一旦创建后,不能随意更改。比如,不能通过对其某一位置赋值而改变该字符串,但是可以以原来的变量名创建一个新的字符串,因为会覆盖掉原来的对象。不可变:数字、字符串、元组
可变: 列表、字典
列表
特定的操作,方法
边界检查
若是给超出列表边界外的元素赋值,会出错。嵌套
列表可支持 任意嵌套。一个直接应用就是实现 矩阵,或是 多维数组。列表解析
列表解析源自集合的概念。列表解析是写在 方括号 中的,且由使用了同一个变量名的表达式和 循环结构 组成。它是一种通过 对序列中的每一项运行一个表达式来创建一个新列表的方法,每次一个,从左至右。解析可以用来创建 列表、集合和字典
字典
不是序列,而是一种 映射(Mapping),映射,是通过 键 而不是相对位置来存储的。没有从左至右的顺序,只是将 键 映射到值。具有 可变性创建方法
写在 大括号{ } 内,包含一系列的 “键:值” 对。常量
>>> d = {'food':'pizza', 'quantity':'2', 'flavor':'bacon'}
创建空字典,然后再逐个填充
>>> d = {} >>> d['food'] = 'pizza' >>> d['quantity'] = '2' >>> d['flavor'] = 'bacon'
索引
索引 操作,与序列的索引语法相同,只是语句中方括号内是“键”,而不再是相对位置。字典,侧重的是内容上的 关联性。字典也可以用来进行搜索,通过键索引一个字典是python中编写搜索的最快方法。
嵌套
例如:>>> info = {'name':{'first': 'Lin', 'last': 'Liu'}, 'age': 23, 'interests':['photography', 'reading']} >>> info['name']['first'] 'Liu' >>> info['interests'][-1] 'reading' >>> info['interests'].append('travel') > 4000 >> info {'name':{'first': 'Lin', 'last': 'Liu'}, 'age': 23, 'interests':['photography', 'reading', 'travel']}
可以看出python数据类型的灵活性。
for循环,键排序
前面提到,字典不像序列一样,它并没有从左到右的顺序。但是有时又需要强调某种顺序,该怎么办?在较新版本的Python中,可以直接使用sorted()函数完成:
元组
元组是序列,但是类似字符串 具有 不可变性,不可以更改,不可以增长或缩短。写在 圆括号() 内,支持任意类型、任意嵌套以及常见的序列操作:
>>> num = (1, 2, 3, 4) >>> len(num) # length 4 >>> num + (5, 6) # 合并 (1, 2, 3, 4, 5, 6) >>> num[0] 1
元组还有 专用的调用方法 :
>>> num.index(4) # 返回4所在位置 3 >>> num.count(4) # 返回4出现的次数 1
那么问题来了:
既然它不能随意改变,都不灵活,我们为什么要用元组呢?
正是因为它的不可变性,合适的情况下,劣势便是优势,所以说要辩证地看待问题
相关文章推荐
- python 内置数据类型
- Python 研究(Dive Into Python)笔记2--第3章 内置数据类型
- 今天开始学python(内置数据类型)
- Python内置数据类型之Dictionary篇
- python学习笔记之内置数据类型
- Python 入门 - Python 的内置数值类型
- python基础教程之基本内置数据类型介绍
- python内置数据类型
- 【Python 3这件小事】2.内置数据类型(二)——列表和元组
- Python内置数据类型之Tuple篇
- 深入Python3 (Dive Into Python3)笔记2--内置数据类型
- 探索 Python,第 1 部分: Python 的内置数值类型
- python内置数据类型:列表和元组
- 探索 Python,第 1 部分: Python 的内置数值类型
- 探索 Python,第 1 部分: Python 的内置数值类型
- python内置数据类型
- python内置数据类型:列表和元组
- [Python学习第一天]内置数据类型介绍,万物皆对象!
- Python内置数据类型
- python基础教程之基本内置数据类型介绍