6.1 字典
字典就是乙個關聯陣列(或者稱為雜湊表)。它是通過關鍵字索引的物件的集合。使用大括號{}來建立乙個字典。
print "字典"
dic=
print dic
uu=dic["username"]
dd=dic["home"]
print uu
print dd
dic["username"]="pxl"
dic["home"]="/home/pxl"
dic["shell"]="/usr/bin/tcsh"
print dic
輸出結果:
字典
beazley
/home/beazley
儘管字串是最常見的關鍵字(key)型別,有些物件,例如列表和字典,不可以用來做字典的key,應為他們的內容是允許更改的。還可以利用使用has_key()方法來檢驗乙個鍵/值對是否存在(或者in操作符)。
if dic.has_key("username"):
username=dic["username"]
print username
else:
username="unknown user"
print username
#上面的操作還可以用更簡單的方法完成
username=dic.get("username","unknown user")
k=dic.keys() #k=["username","home","uid","shell"]
print k
#del語句可以刪除字典中的特定元素
del dic["username"]
print dic
執行結果:
pxl
['username', 'home', 'shell', 'uid']
6.2 函式
在python中使用def語句來建立函式。
# 函式
def divide(a,b):
q=a/b
r=a-q*b
return (q,r)
m,n=divide(1456,33)
print m,n
# function body
#print quotient,remainder
def add(a=1,b=2):
return a+b
a=1000
b=2000
sum = add(a,b)
print "sum=" + str(sum)
# 過載函式
print add()
print add(2)
print add(b=2)
print add(3,4)
#區域性變數和全域性變數
val =100
def fun():
print val
print val
def fun():
a=100
print a
print a
fun()
print a
#其它引數
def fun(x):
print x
# int
fun(100)
#string
fun('python')
fun("python")
#元組fun(('x',2,4,5))
#列表fun([1,2,3])
#字典fun()
##tuple
def fun(x,y):
print "%s:%s" %(x,y)
fun('zhejiang','gongshang')
tu=('zhejiang','gongshang')
fun(*tu)
def fun(x,*args):
print x
print args
fun(10)
fun(10,12,13)
# 字典
def fun(x,**args):
print x
print args
fun(10)
fun(x=10,y=12,z=15)
#混合元組和字典
def fun(x,*args,**kwargs):
print x
print args
print kwargs
fun(1,2,3,4,y=10,z=12)
執行結果:
>>>
44 4
sum=300034
371001000
1001000
100python
python
('x', 2, 4, 5)
[1, 2, 3]
zhejiang:gongshang
zhejiang:gongshang
10()
10(12, 13)
10{}101
(2, 3, 4)
6.3 類(class)
python支援物件導向的程式設計,在物件導向的程式設計中,class語句用於定義新型別的物件。
#下面這個類定義了乙個簡單的棧
class stack(object):
def _init_(self):
self.stack =[ ]
def push(self,object):
def pop(self):
return self.stack.pop()
def length(self):
return len(self.stack)
6.4 模組(module)與包
當你的程式變得越來越大,為了便於修改和維護,可以把分割成多個相關的檔案。python執行你把函式定義或者公共部分放入乙個檔案,然後在其他程式或者指令碼中將該檔案作為乙個模組匯入。要建立乙個模組,把相應的語句和定義放入乙個檔案,這個檔名就是模組名。
# file: div.py
def divide(a,b):
q=a/b
r=a-q*b
return (q,r)
要在其它的程式中使用這個模組:要使用import語句:
import div
a,b=div.divide(123,456)
import語句建立乙個新的名字空間,該空間包含模組中所有定義物件的名稱。要訪問這個名字空間,把模組名作為乙個字首來使用這個模組內的物件。
但是如果你希望使用乙個不同的模組名來訪問這個模組,給import語句加上乙個as模組名部分就可以啦。
import div as foo
a,b=foo.divide(2305,29)
print a
print b
匯入乙個模組中所有所有內容到當前的命名空間:
import div import *
Python學習筆記 6
python學習筆記 6 1 sequence sequence是一物件,乙個接乙個地儲存多種資料項。python中sequence有幾種不同型別。下面先看兩種sequence基本型別 字串和列表 在字串中訪問單個字元 用for迴圈迭代字串,語法如下 for variable in string s...
python 學習筆記(6)
我們要借助python的 語法,把decorator置於函式的定義處 log def now print 2015 3 25 答案 call now 2015 3 25 偏函式 python的functools模組提供了很多有用的功能,其中乙個就是偏函式 partial function funct...
python學習筆記6
字典與集合 詳細解釋鏈結 字典是python語言中唯一的對映型別,用花括號 表示,乙個字典條目就是乙個鍵值對,乙個鍵對應乙個值,是一對一的關係。乙個字典物件是可變的,它是乙個容器型別,能儲存任意個數的python物件,其中也包括其它容器型別。方法keys 返回字典的鍵列表,values 返回字典的值...