012 Python中的 函式 使用篇

2021-08-20 19:29:14 字數 2976 閱讀 8470

前言:

把上課的筆記整理出一些可能常用到的函式,持續更新中。。。

如有紕漏,請告知我,多謝~!

globals() 返回當前全域性作用域內變數的字典

locals() 返回當前區域性作用域內變數的字典

also called 匿名函式

作用建立乙個匿名函式物件

同def類似,但不提供函式名

語法lambda [ 形參1, 形參2,… ] : 表示式

注:[ ]可略

說明1.lambda只是乙個表示式,它用來建立乙個函式物件

2. 當lambda表示式呼叫時,先執行冒號(:)後的表示式,並返回表示式的結果的引用

3.lambda表示式建立的函式只能包含一條表示式;

4. lambda比函式簡單且可以隨時建立和銷毀,有利於減少程式的耦合度;呼叫一次,就建立一次。

示例myadd = lambda a, b: a + b  # 表示式

print("10 + 20 =", myadd(10, 20))

print("30 + 40 =", myadd(30, 40))

作用把乙個字串當成乙個表示式來執行,返回表示式執行後的結果

格式eval(source,globals=none,locals=none)

示例s = input(「請輸入乙個表示式」)

v= eval(s)    #解釋執行字串,得到表示式的結果

print(v)

>>>輸入100+200*300

>>>得到60100,而不是字串『100+200*300』

# 此示例示意eval的用法:

x = 100

y = 200

v = eval('x + y')

print(v) # 300

dict_local =

v = eval('x + y', none, dict_local)

print(v) # 3

dict_global =

v = eval('x + y', dict_global, )

print(v) # 12

v = eval('x + y', none, )

print(v) # 12

v = eval('x + y', )

print(v) # 1 + y 出錯

作用把乙個字串當成程式來執行

格式exec(source,global= none,locals=none)

# exec.py

# 此示例示意exec函式的使用

x = 100

y = 200

s = '''z=x+y

print('z=', z)

print("hello world!")

'''exec(s) # 執行 s這個字串

print(z)

dict_local =

exec(s, none, dict_local)

print(dict_local)

high order function

需滿足其中乙個條件

1.函式接收乙個或多個函式作為引數傳入

2.函式返回乙個函式

內建的高階函式

map、filter、sorted

作用用函式和可迭代物件中的每乙個元素作為引數返回新的可迭代物件;

語法map(func,*iterables)

要求func函式接收的引數個數必須與可迭代物件的個數相同;當最短的乙個可迭代物件不再提供資料時迭代結束

示例def power2(x):

return x ** 2

#生成乙個iterable,使其可以生成1~9的平方

for x in map(power2,range(1,10)):

print(x)

l1 = [1, 2, 3, 4]

l2 = [5, 6, 7, 8]

#生成資料為:1**5, 2**6,

def power_x_y(x,y):

return x ** y

for x in map(power_x_y, l1, l2):

print(x)

格式filter(function,iterable)

作用篩選可迭代物件中的資料,返回乙個可迭代物件,此可迭代物件將對可迭代物件提供的資料進行篩選

說明函式function將對iterable中的每個元素進行求布林值,返回true則保留,返回false則丟棄。

示例def isodd(x):

return x % 2 == 1

for x in filter(isodd, range(41,53)):

print(x)

作用將原可迭代物件提供的資料進行排序,生成排序後的列表

格式sorted(iterable, key=none, reverse=false)

說明 1.key函式是用來提供乙個排序參考值的函式,這個函式的返回值將作為排序的依據

2.reverse標誌用來設定是否降序排序

示例l = [5, -2, -4, 0, 3, 1]

l2 = sorted(l)     

#要得到這樣的結果該怎麼辦?

[0, 1, -2, 3, -4, 5]

l3 = sorted(l, key=abs)

ps:不要加括號,這是讓sorted函式去呼叫key所對應的函式;而不是自己呼叫abs()

names = [『tom』,『jerry』,『spike』,『tyke』]

#結果[『tom』,『tyke』,『jerry』,『spike』]

l = sorted(names, key=len)

012 python函式式程式設計 函式引數

python中的函式引數很靈活,具體體現在傳遞引數有多種形式。為了提高函式呼叫的可讀性,在函式呼叫時可以使用關鍵字引數呼叫 usr bin python coding utf 8 descrition create funcation def print area width,height area...

012 Python語法之檔案操作

大多數情況下我們要處理的檔案都是文字檔案 其他檔案都是二進位制進行讀寫的 open函式開啟檔案file1 open 檔案路徑 open引數詳解 第乙個引數引數路徑 第二個引數開啟方式 r 唯讀 w 只寫 rb 二進位制讀 a 追加寫入 wb 二進位制寫 返回值是乙個檔案物件 read函式file1....

python中函式的使用

需要說明的python以縮排作為程式的層級關係的語言,書寫python的程式的注意縮排,定義函式 defprints print 這廝是乙個函式 呼叫函式 prints 函式的注釋,只需要在函式 之前寫一串字串,來注釋函式的用途 當我們將光標點到這個函式的時候,就知道函式的作用 def hello ...