Python 类型
数字(Number)
- 有符号整型
- 长整型
- 布尔值
- 浮点数
- 负数
- decimal(2.4版新增)用于十进制浮点型,但需要引入包decimal
>>> import decimal
>>> print decimal.Decimal(1.1)
1.100000000000000088817841970012523233890533447265625python 2.3开始,超出整型范围的会自动转换为长整型。
>>> pystr = "python"
>>> pystr[0]
'p'
>>> pystr[2:4]
'th'
>>> pystr + ' cool'
'python cool'
>>> pystr * 2
'pythonpython'
列表(list)
- 列表用[ ]标识。是python最通用的复合数据类型
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
- 列表解析:在一行中使用for循环,将所有值放到一个列表中
>>> pylist = [x ** 2 for x in range(4)]
>>> type(pylist)
<type 'list'>
>>> print pylist
[0, 1, 4, 9]
- 对于上述的列表解析形式,有一种很类似的形式使用的操作时(),但返回的是迭代器(generator)类型,在此列出加以区分(注意不要与元组混淆)
>>> pya = (x ** 2 for x in range(4))
>>> type(pya)
<type 'generator'>
>>> for i in pya:
print i
列表同样满足索引操作([]),切片操作([:])
元组(Tuple)
- 元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
元组同样满足索引操作([]),切片操作([:])
字典(dictionary)
- 字典是python中的映射数据类型,类似于perl中的关联数组或哈希表,由键-值(key-value)对构成,一般用不可变对象(immutable)作为键值
- 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
- 字典(dictionary)是除列表外python之中最灵活的内置数据结构类型。两者之间的区别在于(当然不止以下区别):
- 列表是有序的对象结合,字典是无序的对象集合。
- 字典当中的元素是通过键来存取的,而列表通过偏移存取。
集合(set)
- 集合对象是一组无序排列的可哈希值,因此集合成员可以作为字典的键。
- 因集合是无序的,故无法对集合执行索引和切片操作。
- 集合分为可变集合(set)和不可变集合(frozenset);对可变集合可以执行简单的添加和删除等操作。
>>> # 集合set的简单操作
>>> s = set('python') # 利用工厂函数set()创建集合
>>> s
set(['h', 'o', 'n', 'p', 't', 'y'])
>>> 'p' in s # 判断元素是否在集合中
True
>>> set('py') < s # 子集
True可以看到上面,集合的打印结果是无序的,而且以上只是简单举例集合操作,想要了解更多关于集合的操作可以使用函数dir() 和help()查看。
可变对象(mutable)和不可变对象(immutable)的区别
首先再次声明,在python中所有的类型操作都作为对象处理,而且对变量的使用不需要预先声明类型(其实这里不该使用“变量”描述,姑且用“变量”代替吧),python会根据变量的值动态确定变量类型并存储在内存中(这是python的一大特点),对于immutable类型,若要改变它的值,采取的机制是分配一个新的对象(这里不必担心内存浪费的情况,python有自己的一套内存回收机制);而对于mutable 类型还是在原来的内存地址上进行操作,~~类似于在C++ 中的引用。
下面给以上类型分分类:
不可变对象(mutable):Number , String , tuple , frozenset
可变对象(immutable):list , dictionary , set
Python 类型的更多相关文章
- python类型学习
python类型学习 标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 Floating point real numer 浮点型 Complex nu ...
- C Python类型互换
从Python到C的转换用PyArg_Parse*系列函数,int PyArg_ParseTuple():把Python传过来的参数转为C:int PyArg_ParseTupleAndKeyword ...
- Python类型和对象
关键字:Python 类型 对象原文:http://wiki.woodpecker.org.cn/moin/PyTypesAndObjects 关于本书 解释新式的Python对象(new-style ...
- python类型检测最终指南--Typing模块的使用
正文共:30429 字 预计阅读时间:76分钟 原文链接:https://realpython.com/python-type-checking/ 作者:Geir Arne Hjelle 译者:陈祥安 ...
- PyQt(Python+Qt)学习随笔:信号签名中的万能Python类型PyQt_PyObject
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 信号在定义时参数如果使用字符串'PyQt_PyObject'表示参数可以是任何Python类型,这通 ...
- python 类型判断-- isinstance函数
判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str.list.dict,也可以用在我们自定义的类,它们本质上都是数据类型. 假设有如下的 Per ...
- Python 类型的分类
1.存储模型,对象可以保存多少个值.如果只能保存一个值,是原子类型.如果可以保存多个值,是容器类型.数值是原子类型,元组,列表,字典是容器类型.考虑字符串,按道理,字符串应该是容器类型,因为它包含多个 ...
- 介绍几款 Python 类型检查工具
近日,微软在 Github 上开源了一个 Python 静态类型检查工具:pyright ,引起了社区内的多方关注. 微软在开源项目上的参与力度是越来越大了,不说收购 Github 这种大的战略野心, ...
- 1. python 类型和运算
类型和运算 (Types and Operations) Introducing Python Object Types 在非正式的意义上, 在 Python 中, 我们用一些东西做事情. " ...
随机推荐
- javascript字符串基本方法
1)auchor anchor() 方法用于创建 HTML 锚. var txt="Hello world!" document.write(txt.anchor("my ...
- (转)BAT及各大互联网公司2014前端笔试面试题--Html,Css篇
BAT及各大互联网公司2014前端笔试面试题--Html,Css篇 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是 ...
- Java的RandomAccessFile
Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方.这就是“Random”的意义所在. Rando ...
- android intent 隐式意图和显示意图(activity跳转)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- HDU2149-Good Luck in CET-4 Everybody!(博弈,打表找规律)
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- git提交时的冲突处理
转自http://www.cnblogs.com/mengdd/p/3585038.html 当两条分支对同一个文件的同一个文本块进行了不同的修改,并试图合并时,Git不能自动合并的,称之为冲突(co ...
- angularjs 更新局部作用域
前几天项目需要,做了一个背景遮罩的弹出框,html采用js动态添加进去的,结果发现angularjs绑定在这里面不起作用,搜索下解决了,记录下: var smallApplyParent = docu ...
- checkbox复选框
改变checkbox状态 所有的jquery版本都可以这样赋值:// $("#cb1").attr("checked","checked") ...
- SELECT [Code] ,[AlarmID] ,[ItemName] ,[isDeleted] ,[Remark] FROM [LjlData].[dbo].[T_BaseDetail] union select 0--
SELECT [id] ,[AlarmID] ,[ItemName] ,[isDeleted] ,[Remark] FROM [LjlData]. ...
- PHP解决多进程同时读写一个…
原文地址:PHP解决多进程同时读写一个文件的问题作者:陌上花开 首先PHP是支持进程的而不支持多线程(这个先搞清楚了),如果是对于文件操作,其实你只需要给文件加锁就能解决,不需要其它操作,PHP的fl ...