列表推導式
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...