內建函式
map :對映
map(函式位址, 可迭代物件) ---> map物件
map會將可迭代物件中的每乙個值進行修改,然後對映乙個map物件中,
可以再將map物件轉換成列表/元組。
注意: 只能轉一次。
name_list = ['egon', 'sean', 'tank']
name_obj = map(lambda name: name + '吃生蠔' if name == 'tank' else name + 'good', name_list)
print(name_obj)
print(list(name_obj))
print(tuple(name_obj))
['egongood', 'seangood', 'tank吃生蠔']
reduce : 合併
reduce(函式位址, 可迭代物件, 預設為0)
reduce(函式位址, 可迭代物件, 初始值)
# 需求: 求1——100的和
from functools import reduce
num = reduce(lambda x, y: x + y, range(1, 101), 0)
print(num)
filter: 過濾
filter(函式位址, 可迭代物件) --> filter 物件
# 將字尾為_dsb的名字 「過濾出來」
# filter會將函式中返回的結果為true 對應 的引數值 「過濾出來」
# 過濾出來的值會新增到 filter物件中
name_list = ['egon_dsb', 'jason_dsb', 'sean_dsb', '大餅_dsb', 'tank']
filter_obj = filter(lambda name: name.endswith('_dsb'), name_list)
print(filter_obj)
print(list(filter_obj))
['egon_dsb', 'jason_dsb', 'sean_dsb', '大餅_dsb']
import sys
print(sys.getrecursionlimit())
sys.setrecursionlimit(2000)
print(sys.getrecursionlimit())
想要遞迴有意義,必須遵循兩個條件:
注意: 單純的遞迴呼叫時沒有任何意義的。
def age(n):
if n == 1:
return 18
return age(n-1) + 2
res = age(5)
print(res) #26
模組:
什麼是包?
包指的是內部包含__init__.py的資料夾。
包的作用:
存放模組,包可以更好的管理模組。
一 什麼是模組?
- 模組是一系列功能的結合體。
(相當於與模組包著一堆函式與**。)
模組本質上是乙個個的.py檔案。
模組的四種表現形式:
為什麼要使用模組
模組可以幫我們更好地管理功能**,比如: 函式...
可以將專案拆分成乙個個的功能,分別存放在不同的py檔案(模組)中。
如何建立,編寫模組,並使用模組?
在使用模組階段,必須要注意,誰是執行檔案,誰是被匯入檔案(被匯入的模組)
模組在首次匯入時,就已經固定好了,當前檔案查詢的順序是先從記憶體中查詢
模組在匯入時發生的事情:
模組的匯入方式
from 包/模組 import 模組/(函式名、變數名、類名)
解決迴圈匯入問題:
軟體開發目錄規範:
注意: 每一次寫專案時,都要新建乙個資料夾與專案工程,必須讓專案資料夾作為專案根目錄。
專案的資料夾
day14 內建函式
內建函式就是python執行時就會載入記憶體的函式,py直譯器執行後就可以直接拿來用的函式,常用的內建函式有以下這些,其中enumerate和eval是最常用的 1.bytes print 中文 encode utf8 print bytes 中文 utf8 2.char ord print chr...
day 14 內建函式二
一 函式名就是變數名,函式名字儲存的是函式的記憶體位址,溫習變數 1 由數字,字母,下劃線組成 2 不能是數字開頭,更不能是純數字 3 不能用關鍵字 4 不要太長 5 要有意義 6 不要用中文 7 區分大小寫 8 駝峰線或者下劃線 二 閉包 在內層函式中引入外層函式的變數 作用 1 保護變數,不受侵...
Day14 函式引數的使用
形參 在定義函式階段定義的引數稱之為形式引數,簡稱形參,相當於變數名 def func x,y x 1,y 2 print x,y 實參 在呼叫函式階段傳入的值稱之為實際引數,簡稱實參,相當於變數值 func 1,2 形參與實參的關係 1 在呼叫階段,實參 變數值 會繫結給形參 變數名 2 這種繫結...