1. 程式人生 > >Python基礎---函式

Python基礎---函式

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)