详细解析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 相关文章推荐
Python编码时应该注意的几个情况
Mar 04 Python
Python 文件处理注意事项总结
Apr 10 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
对pandas处理json数据的方法详解
Feb 08 Python
PyCharm安装Markdown插件的两种方法
Jun 24 Python
Python with语句和过程抽取思想
Dec 23 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
pytorch中[..., 0]的用法说明
May 20 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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
建立动态的WML站点(一)
2006/10/09 PHP
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
如何重置vue打印变量的显示方式
2017/12/06 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
Python元组常见操作示例
2019/02/19 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
python suds访问webservice服务实现
2020/06/26 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
出租车拒载检讨书
2015/01/28 职场文书
扬州个园导游词
2015/02/06 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
创业计划书之家教托管
2019/09/25 职场文书