python进展_Python3的介绍和进展-“filter()”“time()”和decorator。,入门,与,进阶,filtertime,装饰,器...
一:filter()
依次把iterable里的元素扔進function中,最后“過濾”出來的是在function里表現為“真”的元素。
特性:1:function只能有一個參數。
2:最后必須得返回“可以代表真或假”的值,可以是True或False,但不限于。
例子:
list_x=[0,1,2,3]
r=filter(lambda x: True if x >= 2 else False,list_x)
print(r)
print(list(r))
結果:
[2, 3]
二:time函數。
說明:返回從“格林威治時間1970年一月一日的零點”至“調用函數”時的總秒數。這個總秒數被稱為
“Unix time”。
三:gmtime函數。
說明:傳入一個以seconds since the epoch為單位的時間,然后返回一個“struct_time”,即返回一個我們平時的時間表達格式。
例子1:
import time
r=time.time()
print(r)
a=time.gmtime(r)
print(a)
結果:
1582723130.5803142
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=26, tm_hour=13, tm_min=18, tm_sec=50, tm_wday=2, tm_yday=57, tm_isdst=0)
例子2:
import time
r=time.time()
print(r)
a=time.gmtime(55)#1970年一月一日零點的55秒后。
print(a)
結果:
1582723340.3970728
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=55, tm_wday=3, tm_yday=1, tm_isdst=0)
附上struct_time的格式:
四:認識“開放封閉原則”。
關于開放封閉原則,其核心的思想是:
軟件實體應該是可擴展,而不可修改的。也就是說,對擴展是開放的,而對修改是封閉的。
因此,開放封閉原則主要體現在兩個方面:
對擴展開放,意味著有新的需求或變化時,可以對現有代碼進行擴展,以適應新的情況。
對修改封閉,意味著類一旦設計完成,就可以獨立完成其工作,而不要對類進行任何修改。
“需求總是變化”、“世界上沒有一個軟件是不變的”,這些言論是對
軟件需求
最經典的表白。從中透射出一個關鍵的意思就是,對于
軟件設計
者來說,必須在不需要對原有的系統進行修改的情況下,實現靈活的系統擴展。而如何能做到這一點呢?
只有依賴于抽象。實現開放封閉的核心思想就是對
抽象編程
,而不對具體編程,因為抽象相對穩定。讓類依賴于固定的抽象,所以對修改就是封閉的;而通過
面向對象
的繼承和對多態機制,可以實現對抽象體的繼承,通過覆寫其方法來改變固有行為,實現新的擴展方法,所以對于擴展就是開放的。這是實施開放封閉原則的基本思路,同時這種機制是建立在兩個基本的設計原則的基礎上,這就是Liskov替換原則和合成/聚合復用原則。
對于違反這一原則的類,必須進行重構來改善,常用于實現的設計模式主要有Template Method模式和Strategy模式。而封裝變化,是實現這一原則的重要手段,將經常發生變化的狀態封裝為一個類。
五:裝飾器。
優勢:? 在不修改函數具體的“內部實現”的同時,增加函數的“功能”。體現了開放封閉原則:對修改是封閉的,對擴展是開放的。
裝飾器是一種模式,
裝飾器是對開放封閉原則很好的貫徹
。
其余的就看得不太懂,老師也沒講的很深入。
懶得造輪子了。
總結
以上是生活随笔為你收集整理的python进展_Python3的介绍和进展-“filter()”“time()”和decorator。,入门,与,进阶,filtertime,装饰,器...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python语言核心技术_python核
- 下一篇: websocket python爬虫_p