详细解析Python中的变量的数据类型


Posted in Python onMay 13, 2015

 变量是只不过保留的内存位置用来存储值。这意味着,当创建一个变量,那么它在内存中保留一些空间。

根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中。因此,通过分配不同的数据类型的变量,你可以存储整数,小数或字符在这些变量中。
变量赋值:

Python的变量不必显式地声明保留的存储器空间。当分配一个值给一个变量的声明将自动发生。等号(=)来赋值给变量。

操作数=操作符的左边是变量,操作数=操作符的右侧的名称在变量中存储的值。例如:

#!/usr/bin/python

counter = 100     # An integer assignment
miles  = 1000.0    # A floating point
name  = "John"    # A string

print counter
print miles
print name

在这里,分配值100,1000.0和“John”分别给变量counter,miles和respectively。当运行这个程序,这将产生以下结果:

100
1000.0
John

多重赋值:

Python允许您同时指定一个值给几个变量。例如:

a = b = c = 1

这里,整数对象创建的值1,并且所有三个变量被分配到相同的内存位置。您也可以将多个对象分别到多个变量。例如:

a, b, c = 1, 2, "john"

这里,两个整对象用值1和2分配给变量a和b,并且值为“john”的字符串对象被分配到变量c。
标准的数据类型:

存储在内存中的数据可以是多种类型的。例如,一个人的年龄被存储为一个数字值和他的地址被存储为字母数字字符。Python用于对每个人的操作的各种标准类型定义在存储方法。

Python有五个标准的数据类型:

  •     数字
  •     字符串
  •     列表
  •     元组
  •     字典

Python数字:

数字数据类型存储数值。它们是不可变的数据类型,这意味着改变一个新分配的对象的数字数据类型的结果值。

当分配一个值给他们创建的对象。例如:

var1 = 1
var2 = 10

也可以使用del语句删去有关一些对象。 del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

也可以使用del语句删除单个或多个对象。例如:

del var
del var_a, var_b

Python支持四种不同的数值类型:

  •     int (有符号整数)
  •     long (长整数[也可以以八进制和十六进制表示])
  •     float (浮点实数值)
  •     complex (复数)

例如:

这里是数字的一些例子:

详细解析Python中的变量的数据类型

    Python允许使用一个小写L表示长整型,但建议您只使用一个大写的L到避免和数字1 长得一样不容易分辨,Python显示长整数用一个大写L。

    复数包含一个有序对表示为a + bj,其中,a是实部,b是复数的虚部实浮点数。

Python字符串:

在Python中的字符串被确定为一组连续的字符在引号之间。 Python允许在任何对单引号或双引号。串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开始和结束(-1)。

加号(+)符号的字符串连接操作符,而星号(*)表示重复操作。例如:

#!/usr/bin/python

str = 'Hello World!'

print str     # Prints complete string
print str[0]    # Prints first character of the string
print str[2:5]   # Prints characters starting from 3rd to 5th
print str[2:]   # Prints string starting from 3rd character
print str * 2   # Prints string two times
print str + "TEST" # Prints concatenated string

这将产生以下结果:

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Python列表:

列表是最通用的Python复合数据类型。列表中包含以逗号分隔,并在方括号([])包含的项目。在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的。

存储在一个列表中的值可以使用切片操作符来访问([]和[:])用索引从0开始,在列表的开始位置和结束为-1。加号(+)符号列表连接运算符,星号(*)重复操作。例如:

#!/usr/bin/python

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list     # Prints complete list
print list[0]    # Prints first element of the list
print list[1:3]   # Prints elements starting from 2nd till 3rd 
print list[2:]   # Prints elements starting from 3rd element
print tinylist * 2 # Prints list two times
print list + tinylist # Prints concatenated lists

这将产生以下结果:

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Python元组:

元组是类似于列表中的序列数据类型。一个元组由数个逗号分隔的值。不同于列表,不过,元组圆括号括起来。

列表和元组之间的主要区别是:列表括在括号([])和它们的元素和大小是可以改变的,而元组在圆括号(),不能被更新。元组可以被认为是只读列表。例如:

#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')

print tuple      # Prints complete list
print tuple[0]    # Prints first element of the list
print tuple[1:3]   # Prints elements starting from 2nd till 3rd 
print tuple[2:]    # Prints elements starting from 3rd element
print tinytuple * 2  # Prints list two times
print tuple + tinytuple # Prints concatenated lists

这将产生以下结果:

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

以下是元组无效的,因为我们尝试更新一个元组,这是不允许的。类似的操作在列表中是可以的:

#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000  # Invalid syntax with tuple
list[2] = 1000   # Valid syntax with list

Python字典:

Python字典是一种哈希表型。他们像关联数组或哈希在Perl中一样,由键 - 值对组成。字典键几乎可以是任何Python类型,但通常是数字或字符串。值可以是任意Python的对象。

字典是由花括号括号({}),可分配值,并用方括号([])访问。例如:

#!/usr/bin/python

dict = {}
dict['one'] = "This is one"
dict[2]   = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one']    # Prints value for 'one' key
print dict[2]      # Prints value for 2 key
print tinydict     # Prints complete dictionary
print tinydict.keys()  # Prints all the keys
print tinydict.values() # Prints all the values

这将产生以下结果:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

字典有元素顺序的概念。它的元素是无序的。
数据类型转换:

有时候,可能需要执行的内置类型之间的转换。类型之间的转换,只需使用类名作为函数。

有几个内置的功能,从一种数据类型进行转换为另一种。这些函数返回一个表示转换值的新对象。

详细解析Python中的变量的数据类型

Python 相关文章推荐
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
Python实现购物程序思路及代码
Jul 24 Python
python实现感知器算法详解
Dec 19 Python
Python建立Map写Excel表实例解析
Jan 17 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
Python子类继承父类构造函数详解
Feb 19 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
Java多线程实现四种方式原理详解
Jun 02 Python
写好Python代码的几条重要技巧
May 21 Python
详解NumPy中的线性关系与数据修剪压缩
May 25 Python
Python编程入门的一些基本知识
May 13 #Python
python实现字符串和日期相互转换的方法
May 13 #Python
python判断给定的字符串是否是有效日期的方法
May 13 #Python
python对url格式解析的方法
May 13 #Python
python返回昨天日期的方法
May 13 #Python
python连接MySQL数据库实例分析
May 12 #Python
python使用分治法实现求解最大值的方法
May 12 #Python
You might like
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
python中定义结构体的方法
2013/03/04 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
用python处理MS Word的实例讲解
2018/05/08 Python
pandas带有重复索引操作方法
2018/06/08 Python
利用python实现.dcm格式图像转为.jpg格式
2020/01/13 Python
python 爬虫请求模块requests详解
2020/12/04 Python
python编程的核心知识点总结
2021/02/08 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
苹果音乐订阅:Apple Music
2018/08/02 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
程序员岗位职责
2013/11/11 职场文书
八年级英语教学反思
2014/01/09 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
保健品市场营销方案
2014/03/31 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
现货白银电话营销话术
2015/05/29 职场文书
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS