您好,登錄后才能下訂單哦!
列表解析式:
語法:
[返回值 for 元素 in 可迭代對象 if 條件] 立即放回一個新的列表
使用中括號[], 內部是for循環,if 條件語句可選,
推薦使用列表解析式
生成器表達式:
語法:
(返回值 for 元素 in 可迭代對象 if 條件 )
返回一個生成器對象
列表解析式和生成器表達式的區別
生成器表達式式按需計算,需要時才計算值,列表解析式立即返回值
生成器就是迭代器,迭代完成后無法再回去重新迭代.迭代器,可以使用next()函數迭代,生成器(迭代器)內部如果沒有數據,會拋出stopiteration
生成器沒有len()函數
生成器一定式迭代器,迭代器不一定式生成器,但都是迭代對象
集合解析式
{返回值 for 元素 in 可迭代對象 if 條件 } 立即生成一個set出來.
字典解析式
{返回值(key:value) for 元素 in 可迭代對象 if 條件 } 立即生成一個字典出來.
函數:
定義:
def 語句定義函數
def 函數名 (參數列表):
函數題(代碼塊)
[return 返回值]
函數名就是標識符,命名要求和標識一樣(數字,下劃線,和字母,不能是數字開頭,一般不推薦下劃線開頭。)
語句塊必須縮進4個空格
定義中的參數列表為形式參數,只是一種符號的表達,簡稱形參。
函數的調用:
函數定義,只是聲明了一個函數,不會立即被執行,需要調用。
函數調用時傳的參數是實際參數,是實實在在傳入的值,簡稱實參。
def sel ( x (位置參數),y=3 (帶默認值的參數) , *args ( 可變位置參數(收集后是個元組)) , m =4 ( keyword only 參數 ), **kwargs(可變關鍵字參數收集后是一個字典)) 備注:參數后面的小括號是解釋參數的含義
函數題(代碼塊)
[return 返回值]
參數的一般順序:
位置參數 ----------->帶缺省值的參數 ------------>可變位置參數-------------->keyword only 參數 (可帶缺省值) ------------> 可變關鍵字參數
def foo( s =2 , * ,n=3) 參數列表中的*就是聲明后面的參數為keyword only 參數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。