1. 程式人生 > >Python寶典第四章:可複用的函式與模組

Python寶典第四章:可複用的函式與模組

模組是一組函式的集合。

def <函式名> (引數列表):

      <函式語句>

      return <返回值>

def ListSum(l):
    result=0
    for i in l:
        result=result+i
    return result

含有預設值的引數

def cube(x=5):
    return x**3
cube(2) #8
cube() #125

def cube(x=None, y=None, z=None):
    if x==None:
        x=1
    if y==None:
        y=2
    if z==None:
        z=3
    return (x+y-z)**3
cube() #0
cube(None, None, 5) #-8
cube(y=6, z=3) #64

宣告可變長引數的函式:

def listappend(*list)

如果要在函式中使用函式外的變數,需要用global宣告

用lambda宣告函式:

lambda 引數列表:表示式(返回表示式的值)可以包含表示式或者其他函式,但是不能包含其他語句

fun=lambda x:x*x-x
fun(3) #6

模組就是包含函式或者類的python指令碼

import 模組名

import 模組名 as 新名字

from 模組名 import 函式名

對於模組,python總是在第一次呼叫就將其編譯成位元組碼的形式,以提高指令碼的啟動速度。

每個指令碼執行時都有一個__name__屬性

如果是模組,則name屬性是模組名;如果指令碼獨立執行狀態,則是__main__

包是處於同一目錄的模組。

包的目錄需要包含__init__.py來表示這是一個包。也可以用來設定__all__變數以及包所含的包初始化所需的程式碼。