目錄四. 遞迴函式
五. lamabda匿名函式
1 def test(x): # x代表形參
2 '''
3 2*x+1
4 :param x:整形數字
5 :return:返回計算結果
6 '''
7 y = 2*x+1
8 return y
9 p = test(3) # test()表示執行名為test函式,3代表實參,給x進行賦值
10 print(p)
函式的定義:
減少**量
保持一致性
易維函式有三種不同的引數:
函式的變數可分為 全域性變數和區域性變數
全域性變數(大寫)定義:沒有縮排的變數
區域性變數(小寫)
定義:子程式下定義的變數
name = 'lhf' # 這裡就指全域性變數
def change_name():
name = '帥了一比' # 這裡就指區域性變數
print('change_name', name)
change_name()
print(name)
結果change_name 帥了一比
lhf
global宣告是全域性變數,nolocal指定上一級變數
未宣告全域性變數
x = 99
def func():
x = 88
func()
print(x) #輸出99
宣告全域性變數
x = 99
def func()
global x
x = 88
func()
print(x) #輸出88
未指定上一級變數
def func():
count = 1
def foo():
count = 12
foo()
print(count)
func() #輸出1
指定上一級變數
def func():
count = 1
def foo():
nonlocal count
count = 12
foo()
print(count)
func() #輸出12
ps: 用的好的都是大牛~
就是函式自己呼叫自己
特性:必須有乙個明確的結束條件,
每次進入深一層遞迴時,問題規模都應有所減少
def calc(n):
print(n)
if int(n / 2) == 0:
return n # 當上面的條件成立後乙個真值,返回到函式
res = calc(int(n / 2))
print(n,res)
return res # 返回res的值,要將真值一層一層傳遞回去
calc(10)
lambda用法,冒號之前的是入參,冒號之後的是表示式,返回的值,最簡單的函式
print [(lambda x:x*x)(x)for x in range(11)]
#結果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print (lambda x:x*x)(3)
#結果:9
g=lambda x:x*x
print g(4)
#結果:16
python 函式的定義和使用
函式是一段 的表示 函式的表示式 def 函式名 引數0個或者多個 函式體 return 返回值 用函式名加上引數,對函式進行呼叫,給出的引數會替換函式定義中的引數。無論函式是否由引數,都必須保留括號。函式定義時引數的要求 def 函式名 引數 b 函式體 return 返回值 例如 def fac...
python 函式的定義和使用
定義函式的方法 def 函式名 引數列表 函式體return 返回值 呼叫函式 函式名 具有實際值的引數列表 1 不帶引數的函式 函式定義 defhello print hello world print hello world 函式呼叫 hello 2 帶引數和帶return的函式 函式定義 計算...
python(5) 函式的定義和使用
1 根據輸入引數 行數 不同,輸出下面圖形 def f n for i in range 1 n 1 print format n i i 2 1 a int input 請輸入行數 f a 2.編寫函式,接收乙個包含若干整數的列表引數lst,返回乙個元組,其中第乙個元素為列表lst中的最小值,其餘...