千峰學習第九天 推導式和函式

2021-10-24 14:58:50 字數 2551 閱讀 2522

列表推導式

1)基本結構

列表 = [表示式 for 變數 in 序列]

產生乙個新的列表,列表中的元素就是每次迴圈對應的表示式的結果

相當於:

列表 =

for 變數 in 序列:

2)條件結構

[表示式 for 變數 in 序列 if 條件語句]

相當於:

列表 =

for 變數 in 序列

if 條件語句

多重迴圈結構:

列表 = [表示式 for 變數1 in 序列1 for 變數2 in 序列2]

相當於:

for 變數1 in 序列1:

for 變數2 in 序列2:

多重迴圈結構2:

列表 = [表示式 for 變數1 in 序列1 for 變數2 in 序列2 if 條件語句]

相當於:

for 變數1 in 序列1:

for 變數2 in 序列2:

if 條件語句:

集合推導式

# 將列表推導式的變成{}

a1 =

print(a1)

元組和集合推導式

# 元組 - 將列表式的變成tuple()

# 字典 - (表示式是鍵值對形式)將列表式的變成{};(表示式是有且只有兩個元素的序列的時候)將列表推導式的變成dict()

函式作用

1.沒有函式會遇到什麼問題:

a.相同功能對應的**需要重複寫

b.一旦功能發生改變,需要將使用到這個功能的**的位置全部修改

怎麼解決:使用函式

函式基礎

認識函式

a.什麼是函式

函式就是對實現某一特定功能的**的封裝。(機器)

b.函式的分類(誰定義的函式)

系統函式:python已經定義好,程式設計師可以直接使用的函式。例如:print,input,type,chr,ord,id,max,min,sum等(別人已經造好的機器)

自定義函式:由程式設計師自己定義,程式設計師可以自己使用或者給別人使用的函式。(自己造機器)

定義函式

語法:def 函式名(形參列表):

函式說明文件

函式數體

說明:1) def - 關鍵子;固定寫法

2) 函式名 - 程式設計師自己命名;

要求:識別符號、不能是關鍵字

規劃:字母小寫,單詞之間用下劃線隔開;

見名知義(看到函式名,大概知道函式的功能)

不使用系統的函式名、型別名和模組名

3) (): - 固定寫法(不能省略)

4) 形參列表 - 以'變數名1, 變數名2, 變數名3,...'的形式存在;

形參的作用是將函式外部的資料傳遞到函式裡面(如果實現函式的功能需要提供外部資料,那麼這個函式就需要形參)

5) 函式說明文件 - 函式的說明書;本質就是""""""引起來的注釋

6) 函式體 - 和def保持乙個縮排的一條或者多條語句(至少一條);

實現函式功能的**段

(重點)注意:定義函式的時候不會執行函式體

呼叫函式

語法:函式名(實參列表)

說明:函式名 - 需要使用的已經定義好的函式的函式名

() - 固定寫法

實參列表 - 以'資料1,數2,資料3,...'的形式存在;

實參就是需要從函式外部傳遞到函式內容使用的具體的資料(預設情況下被呼叫的函式有多少形參就需要要提供多少個實參)

函式的引數

# 1.位置引數和關鍵字引數

# 根據實參的傳遞方式將實參分為位置引數和關鍵字引數兩種

1)位置引數

以 '實參1,實參2,實參3,...' 形式存在,讓實參和形參一一對應

2)關鍵字引數

以 '形參1=實參1,形參2=實參2,...'形式存在,這個引數的位置可以隨意更改

3)位置引數和關鍵字引數混用

位置引數必須在關鍵字引數的前面

"""

# 2.引數預設值

定義函式的時候可以直接給乙個或者多個形參賦預設值;有預設值的引數在呼叫的時候可以不傳參。

# 3.不定長引數

定義函式的時候如果引數個數不確定,可以使用不定長引數

1)帶*的不定長引數

在形參前加*讓這個形參變成不定長引數,可以同時接受多個實參。這個引數的本質就是乙個元組,傳遞的對應的實參全部會變成這個元組中的元素。(必須使用位置引數傳參)

2)帶**的不定長引數

在形參前加**讓這個形參變成不定長引數,可以同時接受多個實參。這個引數的本質就是乙個字典(必須使用關鍵字引數傳參,關鍵字自己隨意命名)

學習第九天

怎麼沒有題面?我怎麼知道?換個鏈結吧!向洛谷勢力低頭 我們畫一下這個小螞蟻走出來的圖形,我們就會發現,是乙個類似長城的形狀 這個題,求最大值,我們應該能很容易想到用動態規劃 那麼對於乙個路徑圍成的圖形,我們需要描述的是它的位置和形狀,所以這顯然是個高維的dp 位置很好描述,但是形狀太複雜了,我們怎麼...

Python 第九天 函式

1.函式是對功能和動作的封裝 def 函式名 形參 函式體return 返回值 函式名 實參 2.return 不寫return時 表示沒有返回值,若呼叫接收到none 寫return時,若沒有值,同上,不過遇到return就終止函式執行 若有乙個值,就正常返回 若有多個值時,用乙個變數接收到時以元...

Python基礎第九天(推導式,模組,包)

包推導式 又名解析式 是python的一種獨有特性。推導式是可以從乙個資料序列構建另乙個新的資料序列。推導式包括 列表推導式,字典推導式,集合推導式 1 列表推導式 a 1,2,3,4,5,6 b i i for i in a print b a 1,2,3,4,5,6 def qiupf x re...