python學習第九站 函式二

2021-10-08 10:11:02 字數 2406 閱讀 5761

for i in

range(5

):if i ==3:

# break 退出當前迴圈

# return 函式直接結束

# continue 跳出當次迴圈

print

(i)print

('***'

)

def fn():pass

fn是函式物件,列印fn就是在列印函式物件

而fn()是呼叫函式,列印fn()就是列印fn()的返回值

定義函式時,在函式內部編寫文件字串(說明書),之後可以通過help()函式檢視說明

語法:

def 函式(引數):

『』』字串說明

『』』

英文:scope

指變數生效的區域。

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...