Python变量类型

前言

前篇文章中我们基本了解了Python环境安装以及Python编程的一些基本语法和代码规则,那么接下来我们就来讲一下Python的变量赋值以及Python中的变量的类型。

什么是变量

变量就是在你计算机内存上开辟的一段内存空间来存储信息。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
与字面意义上的常量不同,你需要一些能够访问这些变量的方法,就是所谓的变量名。

注:这里对于变量的变量名也必须符合变量命名规范,对于变量的命名规范可以参考上篇Python编程风格,这里就不在赘述。

变量赋值

Python 是动态类型语言, 并不像其他编程语言,赋值前需要先进行变量的类型声明,而Python不需要预先声明变量的类型。 变量的类型和值在赋值那一刻被初始化。变量赋值通过等号来执行。

注意:赋值并不是直接将一个值赋给一个变量, 尽管你可能根据其它语言编程经验认为应该如此。在 Python 语言中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。

测试实例:

#!/usr/bin/env python
#coding:UTF-8 
#filename:number.py
number = 2  # 整数变量
number2 = 10.01  # 浮点变量类型
number3 = 'hello world'  # 字符串变量类型

print number
print number2
print number3

给脚本添加执行权限并执行:

[root@localhost python_script]# chmod +x number.py 
[root@localhost python_script]# ./number.py 

输出结果:

2  
10.01
hello world

增量赋值

从 Python 2.0 开始, 等号可以和一个算术运算符组合在一起, 将计算结果重新赋值给左边的变量。这被称为增量赋值.

测试实例:

>>> x = 1  # 声明整数变量
>>> x = x + 1 # 变量x进行增值赋值
>>> print x  # 打印变量x的值
2
>>> x +=1  # 此方式等同于x = x + 1
>>> print x
3

注: Python 不支持类似 x++ 或 –x 这样的前置/后置自增/自减运算。

多重赋值

Python还支持多重赋值的操作,多重赋值的操作其实就是该对象的同一个内存空间引用被赋值给 x、y 和z 。也就是将一个对象赋给了多个变量的操作。

测试实例:

>>> x = y = z = 1
>>> x
1
>>> y
1
>>> z
1

多元赋值

另一种将多个变量同时赋值的方法我们称为多元赋值(multuple),可以理解为将多个对象赋给多个变量。采用这种方式赋值时, 等号两边的象都是元组

测试实例:

>>> x,y,z = 1,2,'Carlton'
>>> print x,y,z
1 2 Carlton

Python数据类型

在python中可以在内存空间中开辟了一段空间来存储一个数据类型的,那么都有哪些基本的数据类型可以存储?

基本五种数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

注:以上的五种数据存储类型我们此处简单介绍,后续会进行单独进行详解详解。

数字

数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。

测试实例:

>>> number1 = 10
>>> number2 = 20
>>> print number1,number2
10 20

删除数值对象,数值对象可以定义,但也可以删除,此处不是直接删除此数据,而是将此数值对象的引用进行del,那么del之后你将无法再使用此数值对象(变量名),除非你重新定义一个新的数值对象。

测试实例:

>>> del number1,number2  # 删除数值对象,可以删除单个或多个
>>> print number1  # 对象删除后在引用那么将会跑出NameError的异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'number1' is not defined

数字类型

Python 支持多种数字类型,例如:

  • int (整型)
  • long (长整型)
  • True/False (布尔型)
  • float (单精度浮点型/双精度浮点型)
  • complex (复数)

注: Python 从版本 2.3 开始支持布尔类型。该类型的取值范围只有两个值,也就是布尔值 True和布尔值 False.

实例表:

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69-472 1885298529L 70.2-E12 4.53e-7j

注: 在一个整数值后面加个 L(大写或小写都可以),表示这个整数是长整数。这个整数可以是十进制,八进制, 或十六进制。用大写字母 “L”表示长整数, 也支持用小写字母 L 标记的长整型,但建议用小写l.

字符串

字符串是字符的序列 。字符串基本上就是一组字符串、数字、下换线等做成的一个字符。
Python 中字符串被定义为引号之间的字符集合。Python 支持使用成对的单引号或双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。使用索引运算符( [ ] )和切片运算符( [ : ] )可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是 0,最后一个字符的索引是 -1 ,依次类推。
加号( + )用于字符串连接运算,星号( * )则用于字符串重复.

测试实例:

>>> str1 = 'Python'
>>> iscool = 'is cool!'
>>> str1[0]   # 输出str1对象的一个字符
'P'
>>> str1[2:5]  # 输出第三个字符到第五个之间的字符串
'tho'
>>> str1[:]  # 输出全部的字符
'Python'
>>> iscool[:2] # 输出从第一个字符到第二个之间的字符串
'is'
>>> iscool[3:] # 输出从第四个到倒数第二个之间的字符串
'cool!'
>>> iscool[::2] # [头下标:尾下标:步进长度]此方式表示输出隔一个输出一个
'i ol'
>>> iscool[-1] # 输出最后一个字符串
'!'
>>> str1 + iscool  # '+'代表拼接,拼接两个字符对象
'Pythonis cool!'
>>> str1 + ' ' + iscool # 同上,不过这里加了一个空字符,这种方式也是可以的
'Python is cool!'
>>> str1 * 2  # '*' 表示字符串重复两次
'PythonPython'
>>> '-' * 20  # 方法同上
'--------------------'
>>> str1 = """python  # 三引号表示换行中间可以有特殊字符
... is cool"""
>>> str1  # 自动添加换行符/n
'python\nis cool'
>>> print str1  # print 可以变换方式
python
is cool

列表

List(列表) 是 Python 中使用最频繁的数据类型。
列表用[ ]标识,也可以用中括号( [ ])包裹,元素的个数及元素的值可以改变。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
通过切片运算( [ ] 和 [ : ] ),就可以截取相应的列表,这一点与字符串的使用方法一样。从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。
加号(+)是列表连接运算符,星号(*)是重复操作.

测试实例:

>>> List = [1,2,3,4]   # 定义一个列表
>>> List
[1, 2, 3, 4]
>>> List[0]  # 输出列表的第一个元素
1
>>> List[2:] # 输出列表的第三个到最后的元素
[3, 4]
>>> List[:3]  # 输出列表的第一个到第三个元素
[1, 2, 3]
>>> List[1]  # 输出列表的第二个元素
2
>>> List[1] = 5  # 更改列表的第二个元素的值
>>> List
[1, 5, 3, 4]
>>> List[::2]  # 输出列表[头下标:尾下标:步进长度]隔一个输一个元素
[1, 3]

元组

元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以)。元组可以看成是
只读的列表。通过切片运算( [ ] 和 [ : ] )可以得到子集,这一点与字符串的使用方法一样。

测试实例:

>>> tuple = ('zhangsan','lisi','wangwu','carlton')
>>> tuple
('zhangsan', 'lisi', 'wangwu', 'carlton')
>>> tuple[:3]    # 输出元组一个到第三个元素
('zhangsan', 'lisi', 'wangwu')
>>> tuple[1]    # 输出元组第二个元素
'lisi'
>>> tuple[1] = 5    # 如果修改元组元素的值会抛出一个TypeError的异常,此元组类型不允许修改
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

字典

字典是 Python 中的映射数据类型,工作原理类似 Perl 中的关联数组或者哈希表,由键-
值(key-value)对构成。几乎所有类型的 Python 对象都可以用作键,不过一般还是以数字或者字符串最为常用。
字典当中的元素是通过键来存取的,而不是通过偏移存取,值可以是任意类型的 Python 对象,字典元素用大括号({ })包裹。

测试实例:

>>> dict = {"host":"earth"}  # 定义一个字典
>>> dict['port'] = 80  # 向字典中添加一个元素,key为'port',value为80
>>> dict  # 显示字典中的元素,也可以用print进行打印
{'host': 'earth', 'port': 80}
>>> dict.keys()  # .keys() 为一个字典对象的key值的方法调用,这里先了解下,后边会单独讲解
['host', 'port']
>>> dict.values() # .values() 为一个字典对象的values值的方法调用,显示此字典中所有的值
['earth', 80]
>>> dict['host']  # 显示key为host的values
'earth'

python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述
int(x [,base])将x转换为一个整数
long(x [,base] ) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

End

此篇只要介绍下Python的变量类型有哪些,基本的数据类型的定义和基本使用方法,后边我们会单独进行详细讲解,还希望小伙伴给出宝贵的意见以及想法,可以评论哦。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值