Python 数据类型
2017-03-14 本文已影响16人
ferrint
关键词:变量、数据类型
Python 中的变量赋值不需要类型声明。
>>>a = 10
>>>print(a)
>>>print(type(a)) # 内置函数type(), 用以查询变量的类型。
# 输出结果
# 10
# <class 'int'>
如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。
>>>a = 1.3
>>>print(a,type(a)) # print后跟多个输出,以逗号分隔。
# 输出结果
# 1.3 <class 'float'>
Python允许你同时为多个变量赋值
a = b = c = 1
a, b, c = 1, 2, "john"
print a,b,c
Python数据类型
标准数据类型
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
** Numbers(数字)**
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
String(字符串)
str = 'Hello World!'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
# 输出结果:
# Hello World!
# H
# llo
# llo World!
# Hello World!Hello World!
# Hello World!TEST
字符串是一种特殊的元组,因此可以执行元组的相关操作。
List(列表)
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
# 输出结果:
# ['runoob', 786, 2.23, 'john', 70.2]
# runoob
# [786, 2.23]
# [2.23, 'john', 70.2]
# [123, 'john', 123, 'john']
# ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
Tuple(元组)
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
# 输出结果
# ('runoob', 786, 2.23, 'john', 70.2)
# runoob
# (786, 2.23)
# (2.23, 'john', 70.2)
# (123, 'john', 123, 'john')
# ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
区别: 元组是不允许更新的。而列表是允许更新
Dictionary(字典)
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
# 输出结果为:
# This is one
# This is two
# {'dept': 'sales', 'code': 6734, 'name': 'john'}
# ['dept', 'code', 'name']
# ['sales', 6734, 'john']
序列的概念
- sequence(序列)是一组有顺序的元素的集合
- 序列可以包含一个或多个元素,也可以没有任何元素。
- 我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以对象。
序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)
tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。
>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple
>>>s2 = [True, 5, 'smile'] # s2是一个list
>>>print(s1,type(s1))
>>>print(s2,type(s2))
数据类型转换
|函数|描述|
|--------------------|
| 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)元组。