python函數及模塊

函數

函數是對程序邏輯進行結構化或過程化的一種編程方法,就是將完成一定功能的代碼段組合在一起。

函數定義

def functionName(par1,par2,...):
	語句塊
	...
	return expression

函數調用

函數調用注意傳入參數的正確性。

functionName(par1,par2,...)

函數參數

除了函數的必選參數外,還有默認參數、可選參數和關鍵字參數。

  1. 默認參數
    默認參數的位置在必選參數的後面;默認參數一定是不可變對象。
def power(x,n=2):
    s=1
    while n>0:
        n=n-1
        s=s*x
    return s

print(power(3))  #9
print(power(3,3)) #27
  1. 可變參數
    可變參數的含義就是傳入的參數個數是可變的,可以是任意個,例如1個、2個或3個等。
def calc(*num):
    s=0
    for n in num:
        s=s+n
    return s
print(calc(1,2,3,4))  #10
print(calc(3,4))  #7

  1. 關鍵字參數
    關鍵字參數傳入 0 個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝爲一個 dict(字典)
def student(name, age, **other):
    print('name:', name, 'age:', age, 'other:', other)
student('XiaoMing', 20)      #name: XiaoMing age: 20 other: {}
student('XiaoMing', 20, sex='M')  # name: XiaoMing age: 20 other: {'sex': 'M'}
student('XiaoMing', 20, sex='M', num='120153703') # name: XiaoMing age: 20 other: {'sex': 'M', 'num': '120153703'}
  1. 參數組合
    參數可以組合使用,參數定義的順序必須是:必選參數、默認參數、可變參數和關鍵字參數。

函數的嵌套

在一個函數裏邊,再定義一個函數。定義在其他函數內的函數叫作內部函數,內部函數所在的函數叫作外部函數。

def A(a):
    print('this is a')
    def B(b):
        print('this is b')
        print('a+b=',a+b)
    B(3)
    print('over!')
A(2)

#this is a
#this is b
#a+b= 5
#over!

內部函數可以訪問外部函數傳入的參數。

函數的遞歸調用

遞歸分爲兩類:直接遞歸和間接遞歸。
直接遞歸就是在函數中直接調用函數自身;間接遞歸就是間接地調用一個函數,如第一個函數調用另一個函數,而該函數又調用了第一個函數。

def fac(n):
    if n<=1:
        return 1
    else:
        return n*fac(n-1)
print(fac(4)) #24

變量作用域

在函數中定義的變量稱爲局部變量。局部變量只在定義它的函數內部有效。
在函數體之外定義的變量稱爲全局變量,全局變量在定義之後的代碼中都有效。

模塊

一個.py文件就是一個模塊。使用模塊最大的好處就是大大提高了代碼的可維護性。

導入和創建模塊

  1. 導入模塊
#導入整個模塊
import module1[, module2[,… moduleN]
#導入模塊中某一函數
from modname import name1[, name2[,… nameN]]
  1. 創建模塊

創建一個test.py文件,在文件中定義函數:

def add(a,b):
	return a+b

在其他文件中,可以導入並使用該函數:

import test
print(test.add(2,4)) #6
---------------
from test import add
print(add(2,4)) #6

常見內建模塊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章