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 中, 我们用一些东西做事情. " ...
随机推荐
- 在code.org上自己写一个flappy bird游戏
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在code.org上自己写一个flappy bird游戏.
- ios 利用Reveal来调试界面1 --模拟器(步骤详解)
Reveal是一个程序界面调试工具,可以调试iOS apps和tvOS apps.使用Reveal,我们可以在开发时动态地查看和修改应用程序的界面.避免每次修改UI的时候都要重新运行程序.接下来按照规 ...
- Android源代码之Gallery专题研究(1)
前言 时光飞逝,从事Android系统开发已经两年了,总想写点什么来安慰自己.思考了非常久总是无法下笔,认为没什么好写的.如今最终决定写一些符合大多数人需求的东西,想必使用过Android手机的人们一 ...
- [WebGL入门]十四,绘制多边形
注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外,鄙人webgl研究还不够深入.一些专业词语,假设翻译有误,欢迎大家 ...
- android invalidate 执行流程详解
invalidate()函数的主要作用是请求View树进行重绘,该函数可以由应用程序调用,或者由系统函数间接 调用,例如setEnable(), setSelected(), setVisiblity ...
- TCP参数设置
我们这里应用的是CentOS5.3,并内核使用的是2.6.18-128.el5PAE #1 SMP .修改部分TCP ,有的是为了提高性能与负载,但是存在降低稳定性的风险.有的则是安全方面的配置,则有 ...
- 关于weight属性使用的一些细节
之前被这个属性困扰过好久,今天一个偶然的机会,终于把这个搞清楚了,现在与大家分享一下. 假设我们要在一个LinearLayout布局中显示两个按钮,button1和button2,button2的宽度 ...
- Managing Group Policy with PowerShell
Overview In this article, I’ll talk about your options when it comes to managing Group Policy using ...
- Dom4j解析Xml文件,Dom4j创建Xml文件
Dom4j解析Xml文件,Dom4j创建Xml文件 >>>>>>>>>>>>>>>>>>&g ...
- java web 中的转发和重定向
假设应用程序的 contextPath 为 /ctx,在 http://localhost:8080/ctx/a/b 资源中,我们转发和重定向到 http://localhost:8080/ctx/x ...