for i in
range(5
):if i ==3:
# break 退出當前迴圈
# return 函式直接結束
# continue 跳出當次迴圈
print
(i)print
('***'
)
def fn():pass
fn是函式物件,列印fn就是在列印函式物件
而fn()是呼叫函式,列印fn()就是列印fn()的返回值
定義函式時,在函式內部編寫文件字串(說明書),之後可以通過help()函式檢視說明
語法:英文:scopedef 函式(引數):
『』』字串說明
『』』
指變數生效的區域。
b =
2#全域性變數,全域性作用域,可以在函式外部呼叫
deff()
: a =
123#函式作用域,區域性變數
print
('a='
,a)f(
)print
('a='
,a)#nameerror
全域性作用域在程式執行時建立,在程式執行結束時銷毀所有函式以外的區域都是全域性作用域
在全域性作用域中定義的變數,都是全域性變數,全域性變數可以在程式的任意位置進行訪問
函式作用域在函式呼叫時建立,在呼叫結束時銷毀在函式內部修改全域性變數,需要使用global關鍵字宣告函式每呼叫一次就會產生乙個新的函式作用域
在函式作用域中定義的變數,都是區域性變數,它只能在函式內部被訪問
參考鏈結
是乙個字典,locals()獲取當前作用域的命名空間,返回字典
a=
12b=
324s =
locals()
print
(s)
向字典s中新增key-value,在函式中不可用
s[
'd']
=233
#相當於d=233
print
(d)
在函式內部呼叫locals()會獲取函式命名空間
deff(
):a=1
s=locals()
print
(s)
在函式內部呼叫locals()會獲取全域性命名空間
h =
234deff(
):a=1
s=globals()
#獲取全域性命名空間
print
(s)
求5的階乘:(5!)
5!= 12345 = 54!
4!= 43!
3!= 32!
2!= 21!
在函式中自己呼叫自己。
def
f(n)
:#基線條件
if n ==1:
return
1#遞迴條件
return n * f(n-1)
print
(f(5
))
條件:
1、基線條件,滿足基線條件後,遞迴不再執行
2、遞迴條件,將問題繼續分解
#檢測回文字串,返回t or f
#如果第乙個和最後乙個不同,則f
deff
(s):
iflen
(s)<2:
return
true
elif s[0]
!= s[-1
]:return
false
return f(s[1:
-1])
print
(f('a'
))
漢諾塔問題
# 漢諾塔
defhonoimove
(n,a,b,c)
:if n ==1:
print
(a,'上第'
,n,'個放到'
,c)else
: honoimove(n-
1,a,c,b)
print
(a,'上第'
,n,'個放到'
,c) honoimove(n-
1,b,a,c)
honoimove(9,
'a',
'b',
'c')
python學習第九節 函式
1 函式的定義 2 len 函式,可用於查詢資料的長度 3 如何定義乙個函式 def的意思是定義 define 比如要定義y 3x 2這個函式,首先要給你需要定義的函式體乙個命名,其次要找到這個函式中的變數是什麼,例如,命名上面函式為math,則定義函式的 結構為 def math x y 3x 2...
Python學習第九課 匿名函式
匿名函式 func lambda x x 1 x表示引數 x 1表示處理邏輯 print func 10 輸出結果為11 例 如何將name hanhan 改為 hanhan shuai的形式 普通函式寫法 name hanhan def change name x return name shua...
python第九周學習筆記
準備工作 os常用命令 自建乙個資料夾,將當前目錄修改為當前資料夾 import os os.chdir d 4.23 os.getcwd d 4.23 os.mkdir file 1 在當前目錄建立子資料夾 os.mkdir file 2 os.rmdir file 2 刪除資料夾 os.list...