使用*號,表示函式接受多個引數
>>> def f(*args):
print args
>>> f(1)
(1,)
>>> f(1,2,3)
(1, 2, 3)
>>> f()
()>>> f(1,2)
(1, 2)
使用**號,表示傳遞的是字典引數
>>> def f1(**args):
print args
>>> f1(a=1,b=2)
3.將函式名作為引數傳遞
#coding=utf-8 #用來支援中文,=號前後不能有空格
#minmax.py
def minmax(test,*args):
res=args[0]
for arg in args[1:]: #迴圈args中內容副本
if test(arg,res):
res=arg
return res
def lessthan(x,y):return xy
print minmax(lessthan,4,7,9,22,2,18)
print minmax(grtrthan,4,7,9,22,2,18)
4.傳遞混合引數
>>> def f2(a,*pargs,**kargs):
print a,pargs,kargs
>>> f2(1,2,3,4,5,x=11,y=12)
1 (2, 3, 4, 5)
5.練習--字串∪和∩運算
>>> def intersct(*args):
res=
for x in args[0]:
for other in args[1:]:
if x not in other:break
return res
>>> def union(*args):
res=
for seq in args:
for x in seq:
if not x in res:
return res
>>> s1,s2,s3="spam","scam","slam"
>>> intersct(s1,s2)
['s', 'a', 'm']
>>> union(s1,s2)
['s', 'p', 'a', 'm', 'c']
6.類成員變數和例項變數
>>> class c:
x = 33
def m(self):
x = 44
self.x = 55
>>> obj = c()
>>> print obj.x
33>>> obj.m()
>>> print obj.x
55>>> c.x
33
6.練習--列印類的繼承關係樹
>>> def classtree(cls,indent):
print '.'*indent,cls.__name__
for supercls in cls.__bases__:
classtree(supercls,indent+3)
>>> def instancetree(inst):
print 'tree of ',inst
classtree(inst.__class__,3)
>>> def selftest():
class a:pass
class b(a):pass
class c(a):pass
class d(b,c):pass
class e:pass
class f(d,e):pass
instancetree(b())
instancetree(f())
>>> selftest()
tree of <__main__.b instance at 0x012e1a08>
... b
...... a
tree of <__main__.f instance at 0x012e1a08>
... f
...... d
......... b
............ a
......... c
............ a
...... e
Python 函式定義以及引數傳遞
形如 deffunc args.dosomething以關鍵字def 開頭,後面是函式名和引數下面是函式處理過程。舉例 def add a,b return a b引數可以設定預設值,如 def add a,b 10 注意 預設值引數只會運算一次 return a b預設值引數只會運算一次是什麼意思...
Python 函式以及引數傳遞
函式簡介 function 函式也是乙個物件 物件是記憶體中專門用來儲存資料的一塊區域 函式可以用來儲存一些可執行的 並且可以在需要時,對這些語句進行多次的呼叫 建立函式 def 函式名 形參1,形參2,形參n 塊 函式名必須要符號識別符號的規範 可以包含字母 數字 下劃線 但是不能以數字開頭 函式...
python函式引數傳遞
例子1 def f x x 0 10 a 1,2 f a a 0 輸出 記憶體空間 命名空間 pos1 list 1,2 a pos1 x pos1 對列表a應用這個函式,python會先讓x指向a所在的記憶體。由於x和a共享同乙個物件,修改x 0 會讓a的值相應改變。例子2 def mod x x...