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)
以上例項輸出結果:
函式內:30python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。函式外:
30
變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是:
以 l –> e –> g –>b 的規則查詢,即:在區域性找不到,便會去區域性外的區域性找(例如閉包),再找不到就會去全域性找,再者去內建中找。
xpython 中只有模組(module),類(class)以及函式(def、lambda)才會引入新的作用域,其它的**塊(如 if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內定義的變數,外部也可以訪問。=int
(2.9
)# 內建作用域
g_count =0
# 全域性作用域
defouter
():o_count =1
# 閉包函式外的函式中
definner
():i_count =2
# 區域性作用域
當內部作用域想修改外部作用域的變數時,就要用到global和nonlocal關鍵字了。
以下例項修改全域性變數 num:
#!/usr/bin/python3
num= 1
deffun1()
: global
num# 需要使用 global 關鍵字宣告
(num)
num=
123
(num)
fun1()
以上例項輸出結果:
1如果要修改巢狀作用域(enclosing 作用域,外層非全域性作用域)中的變數則需要 nonlocal 關鍵字了,如下例項:123
#!/usr/bin/python3
defouter()
: num=
10
definner()
: nonlocal
num# nonlocal關鍵字宣告
num= 100
(num)
inner()
(num
)outer()
以上例項輸出結果:
100100
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的函式定義非常簡單,但靈活度卻非常大。除了正常定義的必選引數外,還可以使用預設引數 可...