python 小甲魚 入門的一些散知識(2)

2021-08-25 11:36:35 字數 2568 閱讀 8101

1、函式

函式定義/引數:def 函式名(引數): 函式體

函式的返回值:return  返回值。

def add(num1, num2):

result = num1 + num2

#print(restult)

return result

result = add(1, 2)

print(restult)

2、函式的引數

以上述函式為例,def add(num1.num2):函式定義過程中的name是形參,因為它只是乙個形式,表示佔據乙個引數位置。

print('傳遞進來的'+ name + '叫做實參,因為是具體的引數值!')。add(1,2):傳遞進來的引數時實參,因為是具體的引數值。

關鍵字引數:傳入引數的順序如果發生改變,會影響函式的結果,所以可以加關鍵字消除順序的影響:add(num2=2,num1=1),也可以在定義函式的時候設定預設引數:def add(num1=1,num2=2)

收集引數(可變引數):不確定會傳進多少個引數,定義的時候加*   def test(*params)

3、函式與過程

python所有的函式都有返回值,有值的時候返回值,沒值的時候返回none

4、全域性變數與函式中的區域性變數

想要在函式中實現對全域性變數的修改,可以在函式中將變數宣告為global型別

count = 10  

print('the old count = ',count)

def myfun():

global count

count = 5

print('the new count = ', count)

myfun()

5、內嵌函式:在函式內部建立函式,也只能在函式內呼叫,不能在外部呼叫

def fun1():

print('fun1正在被呼叫。。。。')

def fun2():

print('fun2正在被呼叫。。。。')

fun2()

6、閉包:

python中任何變數或函式都是物件,可以直接返回。nonlocal使子函式可以使用母函式中的變數

def funx(x):

def funy(y):

return x*y

return funy

funx(3)(5)

def fun1():

x = 5

def fun2():

x *= x

return x

return fun2 #return fun2()會報錯

def fun1():

x = 5

def fun2():

nonlocal x #使x不是區域性變數,即fun2()可以使用x的值

x *= x

return x

return fun2()

7、lambda公式: x : 2 * x + 1

g = lambda x : 2 * x + 1

print(g(5))

numsum = lambda x,y:x+y

print(numsum(3,5))

python寫一些執行指令碼時,使用lambda就可以省下定義函式的過程,如果只是需要寫個簡單的指令碼來管理伺服器的時間,就不需要專門定義乙個函式然後寫呼叫,使用lambda就可以使**更精簡。

對一些比較抽象且整個程式執行下來只需要呼叫一兩次的函式,使用lambda就不需要考慮命名的問題了。

簡化**的可讀性

8、兩個bif

filter(function or none, iterable)過濾器:把任何非true的內容過濾掉

def odd(x):

return x%2

numbers = range(10)

show = filter(odd, numbers)

print(list(show))

map()對映:將序列的每乙個元素作為函式的引數進行運算加工,直到可迭代序列所有的元素加工完畢,返回加工後的序列

mapshow = list(map(lambda x : x * 2, range(10)))

print(mapshow)

9、遞迴:函式呼叫自身行為+正確的返回條件       遞迴具有危險性

def factorial(n):

if n == 1:

return 1

else:

return n*factorial(n-1)

print(factorial(5))

遞迴和迭代的區別:迭代:利用變數的原值推算出變數的乙個新值.如果遞迴是自己呼叫自己的話,迭代就是a不停的呼叫b。遞迴中一定有迭代,但是迭代中不一定有遞迴,大部分可以相互轉換.能用迭代的不用遞迴,遞迴呼叫函式,浪費空間,並且遞迴太深容易造成堆疊的溢位.

一些入門的Python練習小程式

程式1 輸出某個範圍內的阿姆斯特朗數 阿姆斯特朗數,乙個n位數的每位數字的n次方相加等於此數,例如153是個3位數,1的3次方加5的3次方加3的3次方等於153 while true num low int input 請輸入範圍下限 範圍下限 num hig int input 請輸入範圍上限 範...

c 小甲魚C 快速入門 一

輸入一串整數和任意數目的空格,計算整數的和 includeint main printf 結果是 d sum return 0 cin.peek cin.get includeusing namespace std int main if cin.peek n break cout 用法一 cin....

一些零散的筆記

只是利用這裡記錄一下,以前沒有聽說過的 聽說過沒有用過的 有意義的東西,更類似於索引或者目錄。名稱 varnish cache server 特性 正規表示式,從知乎上看到的 應該也是引用了某個 的圖 批處理中 0的用法 set selfpath dp0 之後可以使用 selfpath 作為bat檔...