Python 學習筆記 6

2021-06-22 14:38:01 字數 3698 閱讀 1689

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 返回字典的值...