Python 函數 類


 

函數 、類、異常

函數是組織好的,可重複使用的,用來實現單一,或相關聯功能的代碼段。

函數能提高應用的模塊性,和代碼的重複利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創建函數,這被叫做用戶自定義函數

定義一個函數

你可以定義一個由自己想要功能的函數,以下是簡單的規則:

·        函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號 ()

·        任何傳入參數和自變量必須放在圓括號中間,圓括號之間可以用於定義參數。

·        函數的第一行語句可以選擇性地使用文檔字符串用於存放函數說明。

·        函數內容以冒號起始,並且縮進。

·        return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None

 

函數定義和調用

Def函數名(參數列表)

函數體

 

調用函數

 

Return(a+b)代表結束函數

*number代表將參數歸納爲一個元組

A*number代表第一個參數付給a其餘的參數歸納給number

(a,*number):

Print(number)

Id代表ID地址

Print(ID(number))代表輸出的是number的ID地址

一個* 的關鍵詞字可以傳一系列的值但是需要在前面加*

關鍵字參數需要些在後面

不可變參數

關鍵字參數**kw(兩個*)可以不傳參數,可以傳多個鍵值類型的參數。

大括號代表字典

關鍵字參數:關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵參數在函數內部自動組裝爲一個dict.

#函數的定義和調用
def add(a,b):
    print(a+b)
def plus(a,b):
     print(a-b)
def multy(a,b):
    print(a*b)
def devide(a,b):
     print(a/b)
#調用函數
#計算器實現+-*/
def caculator():
    option=int(input("請輸入運算符:1+,2-,3*,4/"))
    num1=int(input("請輸入第一個數"))
    num2= int(input("請輸入第二個數"))
    if option==1:
        add(num1,num2)
    elif option==2:
        plus(num1,num2)
    elif option==3:
        multy(num1,num2)
    else:
       devide(num1,num2)
caculator()


#函數的定義和調用
def test1():
    print("hello")
#調用函數
test1()

#函數的定義和調用
def add(a,b):
    print(a+b)
#調用函數
add(11,22)

#帶返回值得函數
def add1(a,b):
    return a+b
#調用函數
sum=add1(22,22)
print(sum)


#帶返回值得函數具體得到結果
def add1(a,b):
    return a+b
#調用函數
sum=add1(11,22)
print("{0},{1}的和是{2}".format(11,22,sum))

#帶*將參數歸納爲一個元組的2*2+3*3
def calc(a,*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
calcsum = calc(1, 2, 3)
print(calcsum)

#將參數歸納爲一個元組
def calc(*numbers):
     sum = 0
     for n in numbers:
          sum = sum + n * n
     return sum
mytuple=(2,4,5,6)
calcsum=calc(1,*mytuple)
print(calcsum)

#兩個*傳字典
def person(name,age,**kw):
    print('name:',name,'age:',age,'other:',kw)
person('Frank','37')
person('Frank','37',city='shanghai')
person('Frank','37',gender='M',job='Engineer')

#默認參數name和李四參數可以不寫
def defaultArgs(name,sex=None):
    print(sex)
defaultArgs("lisi",sex="male")

#組合參數
def zuheargs(a,b,c=0,*args):
    print(a,b,c)
    print(args)
zuheargs(1,2,3,4,5)

#關鍵字組合組合參數
def zuheargs(a,b,c=0,*args,**kwargs):
    print(a,b,c)
    print(args)
    print(kwargs)
zuheargs(1,2,3,4,5,name="zhangsan")

def f2(a,b,c=0,*,d,**kw):
    print('a -',a,'b -',b,'c -',c,'d -',d,'kw -',kw)
args =(1,2,3,)
kw ={'d' : 88, 'x':'#'}
f2(*args,**kw)


發佈了26 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章