详细解析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 从远程服务器下载日志文件的程序
Feb 10 Python
Python os模块学习笔记
Jun 21 Python
python使用标准库根据进程名如何获取进程的pid详解
Oct 31 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
python程序封装为win32服务的方法
Mar 07 Python
python实现图片转字符小工具
Apr 30 Python
基于python if 判断选择结构的实例详解
May 06 Python
django如何实现视图重定向
Jul 24 Python
python3字符串操作总结
Jul 24 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
python实现12306登录并保存cookie的方法示例
Dec 17 Python
Java如何基于wsimport调用wcf接口
Jun 17 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代码
2008/09/10 PHP
PHP5函数小全(分享)
2013/06/06 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
js实现进度条的方法
2015/02/13 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
python返回昨天日期的方法
2015/05/13 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
介绍Java的内部类
2012/10/27 面试题
专业技术职务聘任书
2014/03/29 职场文书
培训协议书范本
2014/04/22 职场文书
政治学求职信
2014/06/03 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技