'Python二級(07)——函數和代碼複用'

Python Sprint Python大星 2019-08-03
"
"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


Python二級(07)——函數和代碼複用

a、函數名可以是任何有效的Python標識符

b、參數列表是調用該函數時傳遞給它的值,可以有 零個、一個或多個,當傳遞多個參數時各參數由逗號分隔,當沒有參數時也要保留圓括號。

c、函數體是函數每次被調用時執行的代碼,由一行或多行語句組成。

d、如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s

如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。

2、函數使用

I、定義後的函數不能直接運行,需要經過“調用” 才能運行。調用函數的基本方法如下:


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


Python二級(07)——函數和代碼複用

a、函數名可以是任何有效的Python標識符

b、參數列表是調用該函數時傳遞給它的值,可以有 零個、一個或多個,當傳遞多個參數時各參數由逗號分隔,當沒有參數時也要保留圓括號。

c、函數體是函數每次被調用時執行的代碼,由一行或多行語句組成。

d、如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s

如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。

2、函數使用

I、定義後的函數不能直接運行,需要經過“調用” 才能運行。調用函數的基本方法如下:


Python二級(07)——函數和代碼複用


def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
print(fact(5))

具體來說,函數的使用一共分為四個步驟:

①.函數定義

使用def保留字將一段代碼定義為函數,需要確定函數的名字、參數的名字、參數的個數,使用 參數名稱作為形式參數(佔位符)編寫函數內部的 功能代碼。

②. 函數調用

通過函數名調用函數功能,對函數的各個參數賦予實際值,實際值可以是實際數據,也可以是 在調用函數前已經定義過的變量。

③. 函數執行

函數被調用後,使用實際參數(賦予形式參數的實際值)參與函數內部代碼的運行,如果有結 果則進行輸出。

④. 函數返回

函數執行結束後,根據return保留字的指示決

定是否返回結果,如果返回結果,則結果將被放置 到函數被調用的位置,函數使用完畢,程序繼續運 行。

三、函數的參數傳遞

1、函數參數的傳遞

I、函數的參數在定義時可以指定默認值,當函數被 調用時,如果沒有傳入對應的參數值,則使用函 數定義時的默認值替代,函數定義時的語法形式 如下:


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


Python二級(07)——函數和代碼複用

a、函數名可以是任何有效的Python標識符

b、參數列表是調用該函數時傳遞給它的值,可以有 零個、一個或多個,當傳遞多個參數時各參數由逗號分隔,當沒有參數時也要保留圓括號。

c、函數體是函數每次被調用時執行的代碼,由一行或多行語句組成。

d、如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s

如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。

2、函數使用

I、定義後的函數不能直接運行,需要經過“調用” 才能運行。調用函數的基本方法如下:


Python二級(07)——函數和代碼複用


def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
print(fact(5))

具體來說,函數的使用一共分為四個步驟:

①.函數定義

使用def保留字將一段代碼定義為函數,需要確定函數的名字、參數的名字、參數的個數,使用 參數名稱作為形式參數(佔位符)編寫函數內部的 功能代碼。

②. 函數調用

通過函數名調用函數功能,對函數的各個參數賦予實際值,實際值可以是實際數據,也可以是 在調用函數前已經定義過的變量。

③. 函數執行

函數被調用後,使用實際參數(賦予形式參數的實際值)參與函數內部代碼的運行,如果有結 果則進行輸出。

④. 函數返回

函數執行結束後,根據return保留字的指示決

定是否返回結果,如果返回結果,則結果將被放置 到函數被調用的位置,函數使用完畢,程序繼續運 行。

三、函數的參數傳遞

1、函數參數的傳遞

I、函數的參數在定義時可以指定默認值,當函數被 調用時,如果沒有傳入對應的參數值,則使用函 數定義時的默認值替代,函數定義時的語法形式 如下:


Python二級(07)——函數和代碼複用

II、需要注意,可選參數一般都放置在非可選參數的 後面,即定義函數時,先給出所有非可選參數, 然後再分別列出每個可選參數及對應的默認值。>>>def multiply(x, y = 10):
print(x*y)
>>>multiply(99)
990
>>>multiply(99, 2)
198

2、 參數名稱傳遞

I、Python語言同時支持函數按照參數名稱方式傳 遞參數,語法形式如下:


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


Python二級(07)——函數和代碼複用

a、函數名可以是任何有效的Python標識符

b、參數列表是調用該函數時傳遞給它的值,可以有 零個、一個或多個,當傳遞多個參數時各參數由逗號分隔,當沒有參數時也要保留圓括號。

c、函數體是函數每次被調用時執行的代碼,由一行或多行語句組成。

d、如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s

如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。

2、函數使用

I、定義後的函數不能直接運行,需要經過“調用” 才能運行。調用函數的基本方法如下:


Python二級(07)——函數和代碼複用


def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
print(fact(5))

具體來說,函數的使用一共分為四個步驟:

①.函數定義

使用def保留字將一段代碼定義為函數,需要確定函數的名字、參數的名字、參數的個數,使用 參數名稱作為形式參數(佔位符)編寫函數內部的 功能代碼。

②. 函數調用

通過函數名調用函數功能,對函數的各個參數賦予實際值,實際值可以是實際數據,也可以是 在調用函數前已經定義過的變量。

③. 函數執行

函數被調用後,使用實際參數(賦予形式參數的實際值)參與函數內部代碼的運行,如果有結 果則進行輸出。

④. 函數返回

函數執行結束後,根據return保留字的指示決

定是否返回結果,如果返回結果,則結果將被放置 到函數被調用的位置,函數使用完畢,程序繼續運 行。

三、函數的參數傳遞

1、函數參數的傳遞

I、函數的參數在定義時可以指定默認值,當函數被 調用時,如果沒有傳入對應的參數值,則使用函 數定義時的默認值替代,函數定義時的語法形式 如下:


Python二級(07)——函數和代碼複用

II、需要注意,可選參數一般都放置在非可選參數的 後面,即定義函數時,先給出所有非可選參數, 然後再分別列出每個可選參數及對應的默認值。>>>def multiply(x, y = 10):
print(x*y)
>>>multiply(99)
990
>>>multiply(99, 2)
198

2、 參數名稱傳遞

I、Python語言同時支持函數按照參數名稱方式傳 遞參數,語法形式如下:


Python二級(07)——函數和代碼複用


>>>def multiply(x, y = 10):
print(x*y)
>>>multiply(x = 99)
990
>>>multiply(y = 2, x = 99)
198

3、 函數的返回值

I、return語句用來結束函數並將程序返回到函數被 調用的位置繼續執行。

II、return語句可以出現在函數中的任何部分,同時 可以將0個、1個或多個函數運算的結果返回給函 數被調用處的變量。

>>>def multiply(x, y = 10):
return x*y
>>>s = multiply(99, 2)
>>>print(s)
198

III、函數可以沒有return,此時函數並不返回值。當 函數使用return返回多個值,可以使用一個變量 或多個變量保存結果。

>>>def multiply(x, y = 10):
return x*y, x+y
>>>s = multiply(99, 2)
>>>print(s)
(198, 101)
>>>a,b = multiply(99, 2)
>>>print(a)
198
>>>print(b)
101

四、變量的作用域

1、函數的返回值

I、根據程序中變量所在的位置和作用範圍,變量分為局部變量和全局變量

II、局部變量僅在函數內部,且作用域也在函數內部, 全局變量的作用域跨越多個函數。

2、 局部變量

I、局部變量指在函數內部使用的變量,僅在函數內部有效, 當函數退出時變量將不再存在。


"
Python二級(07)——函數和代碼複用

>>上一篇《Python二級(06)——程序的控制結構》

一、知識導圖


Python二級(07)——函數和代碼複用


二、函數的基本使用

1、函數的定義

I、函數是一段具有特定功能的、可重用的語句組,通 過函數名來表示和調用。經過定義,一組語句等價 於一個函數,在需要使用這組語句的地方,直接調 用函數名稱即可。

II、因此,函數的使用包括兩部分:函數的定義和函數的使用

III、函數是一種功能抽象。

IV、Python定義一個函數使用def保留字,語法形式 如下:


Python二級(07)——函數和代碼複用

a、函數名可以是任何有效的Python標識符

b、參數列表是調用該函數時傳遞給它的值,可以有 零個、一個或多個,當傳遞多個參數時各參數由逗號分隔,當沒有參數時也要保留圓括號。

c、函數體是函數每次被調用時執行的代碼,由一行或多行語句組成。

d、如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s

如果需要返回值,使用保留字return和返回值 列表。函數可以沒有return語句,函數體結束 後會將控制權返回給調用者。

2、函數使用

I、定義後的函數不能直接運行,需要經過“調用” 才能運行。調用函數的基本方法如下:


Python二級(07)——函數和代碼複用


def fact(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
print(fact(5))

具體來說,函數的使用一共分為四個步驟:

①.函數定義

使用def保留字將一段代碼定義為函數,需要確定函數的名字、參數的名字、參數的個數,使用 參數名稱作為形式參數(佔位符)編寫函數內部的 功能代碼。

②. 函數調用

通過函數名調用函數功能,對函數的各個參數賦予實際值,實際值可以是實際數據,也可以是 在調用函數前已經定義過的變量。

③. 函數執行

函數被調用後,使用實際參數(賦予形式參數的實際值)參與函數內部代碼的運行,如果有結 果則進行輸出。

④. 函數返回

函數執行結束後,根據return保留字的指示決

定是否返回結果,如果返回結果,則結果將被放置 到函數被調用的位置,函數使用完畢,程序繼續運 行。

三、函數的參數傳遞

1、函數參數的傳遞

I、函數的參數在定義時可以指定默認值,當函數被 調用時,如果沒有傳入對應的參數值,則使用函 數定義時的默認值替代,函數定義時的語法形式 如下:


Python二級(07)——函數和代碼複用

II、需要注意,可選參數一般都放置在非可選參數的 後面,即定義函數時,先給出所有非可選參數, 然後再分別列出每個可選參數及對應的默認值。>>>def multiply(x, y = 10):
print(x*y)
>>>multiply(99)
990
>>>multiply(99, 2)
198

2、 參數名稱傳遞

I、Python語言同時支持函數按照參數名稱方式傳 遞參數,語法形式如下:


Python二級(07)——函數和代碼複用


>>>def multiply(x, y = 10):
print(x*y)
>>>multiply(x = 99)
990
>>>multiply(y = 2, x = 99)
198

3、 函數的返回值

I、return語句用來結束函數並將程序返回到函數被 調用的位置繼續執行。

II、return語句可以出現在函數中的任何部分,同時 可以將0個、1個或多個函數運算的結果返回給函 數被調用處的變量。

>>>def multiply(x, y = 10):
return x*y
>>>s = multiply(99, 2)
>>>print(s)
198

III、函數可以沒有return,此時函數並不返回值。當 函數使用return返回多個值,可以使用一個變量 或多個變量保存結果。

>>>def multiply(x, y = 10):
return x*y, x+y
>>>s = multiply(99, 2)
>>>print(s)
(198, 101)
>>>a,b = multiply(99, 2)
>>>print(a)
198
>>>print(b)
101

四、變量的作用域

1、函數的返回值

I、根據程序中變量所在的位置和作用範圍,變量分為局部變量和全局變量

II、局部變量僅在函數內部,且作用域也在函數內部, 全局變量的作用域跨越多個函數。

2、 局部變量

I、局部變量指在函數內部使用的變量,僅在函數內部有效, 當函數退出時變量將不再存在。


Python二級(07)——函數和代碼複用

變量z是函數multiple()內部使用的變量,當函數調用後, 變量z將不存在。

3、全局變量

I、全局變量指在函數之外定義的變量,在程序執行 全過程有效。全部變量在函數內部使用時,需要 提前使用保留字global聲明,語法形式如下:

>>>n = 2 #n是全局變量 
>>>def multiply(x, y = 10):
global n
return x*y*n # 使用全局變量n
>>>s = multiply(99, 2)
>>>print(s)
396

上例中,變量n是全局變量,在函數multiply() 中使用時需要在函數內部使用global聲明,定義 後即可使用。

II、如果未使用保留字global聲明,即使名稱相同, 也不是全局變量。

>>>n = 2 #n是全局變量 
>>>def multiply(x, y = 10):
n = x*y
return n # 此處的n不是全局變量
>>>s = multiply(99, 2)
>>>print(s)
198
>>>print(n) #不改變外部全局變量的值
2

五、實例解析-- 軟文的詩詞風

軟文的詩詞風將原有文章根據標點符號重新切分 成短句並居中排版,對小屏幕閱讀十分有利。使 用程序將普通文章變成軟文的詩詞風十分有趣

txt = """
昔日齷齪不足誇,今朝放蕩思無涯。
春風得意馬蹄疾,一日看盡長安花。
"""
linewidth = 30 # 預定的輸出寬度
def lineSplit(line):
plist = [',', '!', '?', ',', '。', '!', '?']
for p in plist:
line = line.replace(p, '\\n')
return line.split('\\n')
def linePrint(line):
global linewidth
print(line.center(linewidth, chr(12288)))
newlines = lineSplit(txt)
for newline in newlines:
linePrint(newline)

恰同學少年,風華正茂。

>>下一篇《Python二級(08)——組合數據類型》

"

相關推薦

推薦中...