Python 基础编程 数据类型(一)
2013-12-25 14:40
651 查看
Python 对象类型
1. 数字数据对象
2.序列对象
1.) 列表
列表是Python 中最接近数组的对象,是一个有序序列,其中的作保元素都可被替换成不同的对象。列表可以当成堆栈或是队列来用,列表的内容可以就地排序,每个元素实际上是一个对象费用。
2.) 字符串
字符串是有序的字节值的字符序列。要修改一个字符串,必须创建一个新的字符串对象来接收。
3.)元组
元组类似列表,它是一个有序集,可以包含零个或多个对象。元组一旦创建就不能直接修改。通常提到的元组时都会说明其所包含的对象数。如 二元组包含两个数据对象。
元组不能进行排序,但可以计数。因为元组的每个元素实际上是对象的引用,所以元组可以包含任意组合的有效Python 对象,这一点与列表相同.
列表用方括号 [ ] 做定界符,元组使用圆括号 ( ) 做为定界符
# 元组
>>> tuple2 = (1,2)
>>> tuple2
(1,2)
>>> tuple4 = (9,22.5,0x16,0)
>>> tuple4
(9,22.5,0x16,0)
>>> tuple4[2] # 索引访问
22
>>> tuple3 = tuple2 + tuple4 #元组合并
>>> tuple3
(1,2,9,22.5,0x16,0)
# 元组计数
>>> tpl = (0,0,2,2,6,0,3,2,1,0)
>>> tpl.count(0) #计数,查寻tpl 包含多少个0 元素
4
4.)字典
Python 的字典是独立的数据对象。字典中的数据集是种无序的 键/值 对形式,而不是一个数据元素的有序集。第个数据元素有一个相关的唯一ID键。
字典可以作为函数的参数传递,也可以成为元组或列表数据元素,其值可以是任何有效的Python对象。
注意:字典的键值必须是整数、字符串和元组。所以键必须是不可变的对象。
字典常用函数
#创建字典
>>> dobj = {0:"zero",1:"one","food":"eat","spam":42}
>>> ddobj
{0:'zero',1:'one','food':'eat','spam':42}
>>> dobj[1] #通过键值访问对应的数据
'one'
>>> dobj['spam']
42
#添加一个新条目,注意字典不是序列对象,它可能把新键值插入到任意一个位置
>>> dobj[99] = "agent" #只需要分配一个值到新的键上就行了
>>> dobj
{0:'zero',1:'one',99:'agent','food':'eat','spam':42}
>>> dobj[1] = 'new one' # 改变现有的键值
>>> dobj[1]
'new one'
#比较安全的访问方法 get(),它在没有键值的情况下返回None 而不是错误。
>>> dobj.get(99)
'agent'
>>> dobj.get(255) # 没有255 这个键,将返回特殊值 None
>>> dobj.get(255,"HO") #如果没有255 键值,将以指定的值("HO") 返回
'HO'
对象类型 | 类型的类名 | 描述 |
Character | chr | 单字节字符,在字符串中使用 |
Integer | int | 32位整数 |
Float | float | 双精度(64位)浮点数 |
Long integer | long | 任意大的整数 |
Complex | complex | 复数 |
Character string | str | 有序(数组)字符集 |
Dictionary | dict | 键 / 值 对字典 |
Tuple | tuple | 不可变列表 |
Function | function | Python 函式对象 |
Object instance | instance | 类实例对象 |
Object method | instancemethod | 对象方法 |
Class object | classobj | 类对象 |
File | file | 磁盘文件对象 |
#创建数据对象 >>> some_var = 5 >>> some_var = int(5) >>> var_1 = 5 >>> var_2 = 10 >>> var_sum = var_1 + var_2 15 >>> type(some_var) <type 'int'> >>> float_var = 1.5 >>> int_var = int(float_var) >>> print int_var 1 # 八进制和十六进制整数 #八进制整数 使用前导0 ,如 0157 #十六进制整数 使用前导 0x, 如 0x3FE #八进制和十六进制值没有自己的类型类。这是因为当以这两种格式写入值分配给一个 # Python 变量时,它会转换为对应的整数值 >>> foo_hex = 0x2A7 >>> print foo_hex 679 >>> foo_hex = int("2A7",16) >>> print foo_hex 679
2.序列对象
对象类型 | 是否可变 | 定界符 |
---|---|---|
列表 | 是 | [ ] |
字符串 | 否 | ' ' 或 " " |
元组 | 否 | ( ) |
列表是Python 中最接近数组的对象,是一个有序序列,其中的作保元素都可被替换成不同的对象。列表可以当成堆栈或是队列来用,列表的内容可以就地排序,每个元素实际上是一个对象费用。
#列表访问和操作 >>> import random >>> alist = [] >>> alist.append(4) # alist 添加新元素4 >>> alist.append(55.89) # alist 添加新元素 浮点数55.89 >>> alist.append('a short string') # alist 添加字符串元素 >>> alist.append(random.random) # 向列表添加一个随机数对象 >>> alist[0] 4 >>> alist[1] 55.890000000000001 >>> alist[2] 'a short string' >>> alist[3] <built-in method random of Random object at 0x00A29D28> >>> alist[3]() #调用随机数对象产生一个随机数 0.87354412136 #列表连接 >>> alist1 = [1,2,3,4,5] >>> alist2 = [6,7,8,9,10] >>> alist1 + alist2 [1,2,3,4,5,6,7,8,9,10] #查找指定对象的索引值 >>> alist2.index(8) # 8的索引位置是2 2 #反转列表 >>> alist1.reverse() >>> alist1 [5,4,3,2,1] #对列表进行排序 >>> alist3 = [3,4,2,8,7,1,9,10,6,5] >>> alist3.sort() >>> alist3 [1,2,3,4,5,6,7,8,9,10]
2.) 字符串
字符串是有序的字节值的字符序列。要修改一个字符串,必须创建一个新的字符串对象来接收。
>>> astr1 = 'this is a short string' # 定义一个字符串 >>> astr2 = astr1[0:4] # 进行切割提取 索引为 0 ~ 4 4为停止不算在内 >>> astr2 this #字符串连接 >>> str1 = 'hi' >>> str2 = 'helio' >>> str3 = str1 + str2 >>> str3 'hihelio' >>> str3 = str1+ ' '+str2 >>> str3 'hi helio' >>> str3.upper() # 转换所有字符为大写 >>> str3 'HI HELIO' >>> print str2.find('e') # 查找指定字符串的第一个匹配的字符串索引 1 >>> print str2.replace('hel','HeL') #替换匹配的字符串 HeLio >>> print str1.rjust(4) # 将一个字符串重整为指定宽度的新字符串,默认填充空格 >>> print str1.rjust(4,'.') #重整宽度后以 指定的字符串填充
3.)元组
元组类似列表,它是一个有序集,可以包含零个或多个对象。元组一旦创建就不能直接修改。通常提到的元组时都会说明其所包含的对象数。如 二元组包含两个数据对象。
元组不能进行排序,但可以计数。因为元组的每个元素实际上是对象的引用,所以元组可以包含任意组合的有效Python 对象,这一点与列表相同.
列表用方括号 [ ] 做定界符,元组使用圆括号 ( ) 做为定界符
# 元组
>>> tuple2 = (1,2)
>>> tuple2
(1,2)
>>> tuple4 = (9,22.5,0x16,0)
>>> tuple4
(9,22.5,0x16,0)
>>> tuple4[2] # 索引访问
22
>>> tuple3 = tuple2 + tuple4 #元组合并
>>> tuple3
(1,2,9,22.5,0x16,0)
# 元组计数
>>> tpl = (0,0,2,2,6,0,3,2,1,0)
>>> tpl.count(0) #计数,查寻tpl 包含多少个0 元素
4
4.)字典
Python 的字典是独立的数据对象。字典中的数据集是种无序的 键/值 对形式,而不是一个数据元素的有序集。第个数据元素有一个相关的唯一ID键。
字典可以作为函数的参数传递,也可以成为元组或列表数据元素,其值可以是任何有效的Python对象。
注意:字典的键值必须是整数、字符串和元组。所以键必须是不可变的对象。
字典常用函数
函数 | 描述 |
---|---|
clear() | 从字典中清除所有条目 |
copy() | 字典的“浅”复制 |
get() | 返回与键匹配的值,没有匹配时返回默认值 |
has_key() | 查询字典中是否存在指定的键,若有返回True,没有返回False |
items() | 以二元组的形式返回字典中的所有键值对 |
iteritems() | 以迭代形式返回字典中所有键值对 |
iterkeys() | 以迭代形式返回字典中所有键 |
itervalues() | 以迭代形式返回字典中所有值 |
keys() | 以列表形式返回字典中所有键 |
pop() | 通过键弹出一个特定条目,并从词典中删除之 |
popitem() | 通过键值对弹出一个条目,并从词典中删除之 |
setdefault() | 配置当get() 匹配失败时返回的默认值 |
update() | 从另一个字典更新键匹配的值 |
values() | 以列表形式返回字典中所有值 |
>>> dobj = {0:"zero",1:"one","food":"eat","spam":42}
>>> ddobj
{0:'zero',1:'one','food':'eat','spam':42}
>>> dobj[1] #通过键值访问对应的数据
'one'
>>> dobj['spam']
42
#添加一个新条目,注意字典不是序列对象,它可能把新键值插入到任意一个位置
>>> dobj[99] = "agent" #只需要分配一个值到新的键上就行了
>>> dobj
{0:'zero',1:'one',99:'agent','food':'eat','spam':42}
>>> dobj[1] = 'new one' # 改变现有的键值
>>> dobj[1]
'new one'
#比较安全的访问方法 get(),它在没有键值的情况下返回None 而不是错误。
>>> dobj.get(99)
'agent'
>>> dobj.get(255) # 没有255 这个键,将返回特殊值 None
>>> dobj.get(255,"HO") #如果没有255 键值,将以指定的值("HO") 返回
'HO'
相关文章推荐
- 我与python约个会:08.程序编程基础2~基本数据类型
- 我与python约个会:09.程序编程基础3~组合数据类型
- 慕课网python基础学习教案(变量和数据类型)
- Python基础一_数据类型与字符串编码
- Python基础-数据类型和基础语法
- python基础(一)数据类型和变量
- 小甲鱼:Python学习笔记001_变量_分支_数据类型_运算符等基础
- Python基础2(内置数据类型及转换)
- Python基础之数据类型
- Python基础(3) - 数据类型:2字符串类型
- python基础教程之基本数据类型和变量声明介绍
- 【零基础入门学习Python笔记005】闲聊之Python的数据类型
- <Python>基础二 Python基本数据类型
- python 基础 数据类型
- 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
- Python基础——运算符、数据类型(0329)
- Python学习入门基础教程(learning Python)--6 Python下的list数据类型
- python基础(2) 基础数据类型,以及其他
- python语言基础之基本数据类型及其运算(2)
- Python基础学习----数据类型,字符串,内置数据结构