Python學習筆記11(RUNOOB)

2021-08-20 23:36:45 字數 2380 閱讀 9774

python3 函式

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

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

函式的第一行語句可以選擇性地使用文件字串—用於存放函式說明。

函式內容以冒號起始,並且縮排。

return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。不帶表示式的return相當於返回 none。

定義乙個函式:給了函式乙個名稱,指定了函式裡包含的引數,和**塊結構。

這個函式的基本結構完成以後,你可以通過另乙個函式呼叫執行,也可以直接從 python 命令提示符執行。

# 

函式def

cal_area(width, height):

area = width * height

return area

def

print_area(result):

print("

計算結果是:

", result)

print_area(cal_area(4

, 5))

輸出結果:

計算結果是: 20

在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。

return [表示式]語句用於退出函式,選擇性地向呼叫方返回乙個表示式。不帶引數值的return語句返回none。之前的例子都沒有示範如何返回數值,以下例項演示了 return 語句的用法:

#!/usr/bin/python3

# 可寫函式說明

defsum

(arg1

, arg2):

# 返回2個引數的和."

total

= arg1

+ arg2

print("

函式內 : ",

total

)return

total

# 呼叫sum函式

total

= sum(10

, 20

)print("

函式外 : ",

total)

以上例項輸出結果:

函式內:30

函式外:

30

python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是:

以 l –> e –> g –>b 的規則查詢,即:在區域性找不到,便會去區域性外的區域性找(例如閉包),再找不到就會去全域性找,再者去內建中找。

x 

=int

(2.9

)# 內建作用域

g_count =0

# 全域性作用域

defouter

():o_count =1

# 閉包函式外的函式中

definner

():i_count =2

# 區域性作用域

python 中只有模組(module),類(class)以及函式(def、lambda)才會引入新的作用域,其它的**塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變數,外部也可以訪問。

當內部作用域想修改外部作用域的變數時,就要用到global和nonlocal關鍵字了。

以下例項修改全域性變數 num:

#!/usr/bin/python3

num= 1

deffun1()

: global

num# 需要使用 global 關鍵字宣告

print

(num)

num=

123

print

(num)

fun1()

以上例項輸出結果:

1

123

如果要修改巢狀作用域(enclosing 作用域,外層非全域性作用域)中的變數則需要 nonlocal 關鍵字了,如下例項:

#!/usr/bin/python3

defouter()

: num=

10

definner()

: nonlocal

num# nonlocal關鍵字宣告

num= 100

print

(num)

inner()

print

(num

)outer()

以上例項輸出結果:

100

100

Python 學習筆記(11)

1.arange arange 類似於python中的 range 函式,只不過返回的不是列表,而是陣列 arange start,stop none,step 1,dtype none 產生乙個在區間 start,stop 之間,以 step 為間隔的陣列,如果只輸入乙個引數,則預設從 0 開始,...

python學習筆記11(函式)

概述 在乙個完整的專案中,某些功能會反覆的使用。那麼會將功能封裝成函式,當我們要使用功能的時候直接呼叫函式即可 本質 函式就是對功能的封裝 優點 1 簡化 結構,增加了 的復用度 重複使用的程度 2 如果想修改某些功能或者除錯某個bug,只需要修改對應的函式即可 定義函式 格式 def 函式名 引數...

Python學習筆記11 函式

定義函式的時候,我們把引數的名字和位置確定下來,函式的介面定義就完成了。對於函式的呼叫者來說,只需要知道如何傳遞正確的引數,以及函式將返回什麼樣的值就夠了,函式內部的複雜邏輯被封裝起來,呼叫者無需了解。python的函式定義非常簡單,但靈活度卻非常大。除了正常定義的必選引數外,還可以使用預設引數 可...