# 函式
defmy_abs(x) :
ifnot
isinstance(x, (int, float)) :
raise typeerror('
bad operand type')
if x>0 :
return
x;
elif x == 0 :#
只是為了顯示pass的作用,什麼都不做。對於函式邏輯是不對的。
pass
#pass 是佔位符,什麼都不做。
else
:
return -x
假如函式 my_abs 定義在檔案 abstest.py 中,呼叫的載入方式為:
from abstest import my_abs #匯入my_abs()
importmath
def move(x, y, step, angle=0)
nx = x+step*math.cos(angle)
ny = y+step*math.sin(angle)
return nx, ny #
按照 tuple 方式返回多個變數
見上面的例程,x、y、step
見上面的例程,angle = 0
#函式, number 是位置引數
defcalc(numbers) :
su =0
for n in
numbers:
su = su+n*n
returnsu#
呼叫》calc([1,2,3])
>>>a = [1,2,3]
>>>calc(a) #
這裡都是以list作為引數傳入
#函式,*number 是可變引數
def calc(*numbers) :
su =0
for n in
numbers:
su = su+n*n
returnsu#
呼叫》calc(1,2,3) #
這是tuple
>>>a = [1,2,3]
>>>calc(*a) #
def person(name, age, *, city, gender) :(name, age, city, gender)
#表示引數 city 和 gender 一定要傳入
#可以預設
#可以設定預設值
def person(name, age, *args, city='
beijing
', gender) :
(name, age, city, gender)
#注意 * ,是 city, gender 別於位置引數的標誌符。
def person(name, age, **keyword) :print('
name :
', name, '
age :
', age, '
other :
', keyword)
#**keyword就是關鍵字引數
#可以預設呼叫
>>>persion('
aa', 10)
name : aa age : 10other : {}
#傳入引數,關鍵字引數就是乙個 dict
>>>person('
aa', 10, city = '
beijing
', gender = 'm'
)name : aa age : 10 other :
#先設計dict,;2種呼叫方法
>>> extra =
>>> person('
aa', 10, **extra)
>>> person('
aa', 10, city=extra['
city
'], gender = extra['
gender
'])
函式的引數順序必須如下:
位置引數(list或者tuple傳入)、
預設引數()、
可變引數(*l)(list或者tuple傳入)、
命名關鍵字引數(*,d)(有限制的dict傳入)、
鍵字引數(**d)(dict傳入)
Python學習筆記 3 ,函式引數
定義可變引數 defcalc sum args ax 0for n in args ax ax n return ax print calc sum 1,2,3 設定預設引數 defpower x,n 2 s 1while n 0 n n 1 s s x return s print power 2...
Python學習筆記DAY3 函式
關於函式,程式設計 少的了函式,python裡的函式呢,使用def 來定義,如下例子 def fun print 這是乙個函式 用def來定義,下面縮排的為函式體,呼叫的話直接呼叫函式名來實現。提到函式自然會想到引數,python裡的引數很靈活,很神奇。首先,引數是乙個變數,所以呢,元組自然是不能用...
Python3學習筆記 三 函式
在python中,一切皆為物件,函式也可以賦給乙個變數,就是指向乙個函式物件的引用,相當於給這個函式起了乙個 別名 a max a 1,2,3 3 a 123 可以對可迭代物件進行操作 3 函式的定義 def power x,n 2 可以計算計算x4 x5 s 1 while n 0 n n 1s ...