详细解析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 21 Python
python根据距离和时长计算配速示例
Feb 16 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
python中列表的切片与修改知识点总结
Jul 23 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
Python语言异常处理测试过程解析
Jan 08 Python
利用setuptools打包python程序的方法步骤
Jan 18 Python
4行Python代码生成图像验证码(2种)
Apr 07 Python
Python logging模块写入中文出现乱码
May 21 Python
Keras实现支持masking的Flatten层代码
Jun 16 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 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实现分页工具类分享
2014/01/09 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
解析URI与URL之间的区别与联系
2013/11/22 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Python requests模块实例用法
2019/02/11 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
opencv-python 提取sift特征并匹配的实例
2019/12/09 Python
奶茶店创业计划书范文
2014/01/17 职场文书
关于保护环境的建议书
2014/05/13 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015年推普周活动总结
2015/03/27 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
新学期感想
2015/08/10 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS