详细解析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返回昨天日期的方法
May 13 Python
Python字符串切片操作知识详解
Mar 28 Python
判断网页编码的方法python版
Aug 12 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
python实现简易云音乐播放器
Jan 04 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
详解Django CAS 解决方案
Oct 30 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
python属于解释语言吗
Jun 11 Python
MoviePy简介及Python视频剪辑自动化
Dec 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 获取客户端的真实ip
2009/11/30 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
vue.js todolist实现代码
2017/10/29 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
动态创建类实例代码
2009/10/07 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
python解释器安装教程的方法步骤
2020/07/02 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
专业实习自我鉴定
2013/10/29 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
早会主持词
2014/03/17 职场文书
写给老师的感谢信
2015/01/20 职场文书
新年祝酒词大全
2015/08/11 职场文书
公司新员工欢迎词
2015/09/30 职场文书
Redis Cluster 集群搭建你会吗
2021/08/04 Redis
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python