Python基礎---函式
阿新 • • 發佈:2018-12-12
1.函式定義
格式:
def 函式名(引數1,引數2...):
程式碼
2.函式呼叫: 函式名呼叫即可
函式名(引數1,引數2...)
def discount(a,b): c=a * b/10 return c price=float(input("請輸入價格: ")) discounts=float(input("請輸入折扣: ")) r_price=discount(price,discounts) print("物品的價格是: ",r_price)
3.函式引數(高階)
預設引數
呼叫函式時,預設引數的值如果沒有傳入,則被認為是預設值
def printinfo( name, age = 35 ):
# 列印任何傳入的字串
print( "Name: ", name)
print ("Age ", age)
printinfo(name="miki" )
printinfo( age=9,name="miki" )
不定長引數
不定長引數,宣告時不會命名
格式:
def functionname([formal_args,] *var_args_tuple ):
"函式_文件字串"
function_suite
return [expression]
加了星號(*)的變數名會存放所有未命名的變數引數
def printinfo( arg1, *vartuple ):
# 列印任何傳入的引數
print ("輸出: ")
print (arg1)
for var in vartuple:
print( var)
# 呼叫printinfo 函式
printinfo( 10 );
printinfo( 70, 60, 50 );
4.函式巢狀:一個函式內部呼叫另一個函式
5.匿名函式:
用lambda關鍵詞能建立小型匿名函式。
這種函式得名於省略了用def宣告函式的標準步驟
lambda函式格式:
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1, arg2: arg1 + arg2
#呼叫sum函式
print ("Value of total : ", sum( 10, 20 ))
print ("Value of total : ", sum( 20, 20 ))
練習:階乘!
def jiecheng(n):
ax=1
if (n==1):
ax=1
else:
for i in range(1,n+1):
ax=ax*i
return ax
temp=int(input("請輸入一個整數:"))
result=jiecheng(temp)
print(result)