Python变量类型

1. Numbers(数字)

数字数据类型存储数值,他们是不可变的数据类型,这意味着一个新分配的数据类型的结果值。

例如:

var1 = 1
var2 = 10

Python支持4种不同的数据类型。

-int 有符号整数

-long 长整数

-float 浮点类型

-complex 复数

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 -4721885298529L 70.2-E12 4.53e-7j

2. String(字符串)

在Python中的字符串被确定为一组连续的字符在引号之间。 Python允许在任何对单引号或双引号。串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始

var = 10
sentence = "I love China!"
print sentence[7:]
print sentence[0]
print sentence*2
print sentence[-1]
print sentence+"Test"

产生的结果如下:

China!
I
I love China!I love China!
!
I love China!Test

3. List(列表)

列表是最通用的Python复合数据类型。列表中包含以逗号分隔,并在方括号[]包含的项目。在一定程度上,列表相似C语言中的数组,它们之间的一个区别是,所有属于一个列表中的项目可以是不同的数据类型的。

存储在一个列表中的值可以使用切片操作符来访问[]和[:]用索引从0开始,在列表的开始位置和结束为-1。加号(+)符号列表连接运算符,星号(*)重复操作。

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.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

4. Tuple(元组)

元组是类似于列表中的序列数据类型。一个元组由数个逗号分隔的值。不同于列表,不过,元组圆括号括起来。

列表和元组之间的主要区别是:列表括在括号[]和它们的元素和大小是可以改变的,而元组在圆括号(),不能被更新。元组可以被认为是只读列表。例如:

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.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

尝试对tuple里面的值进行赋值,查看结果:

tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

编辑完成,一般的编译器均会提示tuple哪一行的语法错误,如果执行,则提示错误:

TypeError: 'tuple' object does not support item assignment

5. Dictionary(字典)

Python字典是一种哈希表型。他们像关联数组或哈希在Perl中一样,由键 - 值对组成。字典键几乎可以是任何Python类型,但通常是数字或字符串。值可以是任意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']

6. Boolean(布尔类型)

python的布尔类型有两个值:True和False(注意大小写要区分)

数据类型转换

有时候,可能需要执行的内置类型之间的转换。类型之间的转换,只需使用类名作为函数。

有几个内置的功能,从一种数据类型进行转换为另一种。这些函数返回一个表示转换值的新对象。

函数 描述
int(x [,base]) 将x转换为一个整数。基数指定为base,如果x是一个字符串。
long(x [,base] ) 将x转换为一个长整数。基数指定为base,如果x是一个字符串。
float(x) 将x转换到一个浮点数。
complex(real [,imag]) 创建一个复数。
str(x) 转换对象x为字符串表示形式。
repr(x) 对象x转换为一个表达式字符串。
eval(str) 计算一个字符串,并返回一个对象。
tuple(s) 把s转换为一个元组。
list(s) 把s转换为一个列表。
set(s) 把s转换为一个集合。
dict(d) 创建一个字典。 d必须的(键,值)元组序列。
frozenset(s) 把s转换为冻结集。
chr(x) 整数转换为一个字符。
unichr(x) 整数转换为一个Unicode字符。
ord(x) 转换单个字符为整数值。
hex(x) 将整数转换为十六进制字符串。
oct(x) 将整数转换为以八进制的字符串。

推荐阅读更多精彩内容