前言
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
作者:code123
PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取
可以免費領取原始碼、專案實戰視頻、PDF檔案等
顯示有限的介面到外部
當發布python第三方package時, 并不希望代碼中所有的函式或者class可以被外部import, 在__init__.py中添加__all__屬性,
該list中填寫可以import的類或者函式名, 可以起到限制的import的作用, 防止外部import其他函式或者類
執行結果如下:
證明了會先執行__enter__方法, 然后呼叫with內的邏輯, 最后執行__exit__做退出處理, 并且, 即使出現例外也能正常退出
filter的用法
相對filter而言, map和reduce使用的會更頻繁一些, filter正如其名字, 按照某種規則過濾掉一些元素
一行作判斷
當條件滿足時, 回傳的為等號后面的變數, 否則回傳else后陳述句
裝飾器之單例
使用裝飾器實作簡單的單例模式
staticmethod裝飾器
類中兩種常用的裝飾, 首先區分一下他們
- 普通成員函式, 其中第一個隱式引數為物件
- classmethod裝飾器, 類方法(給人感覺非常類似于OC中的類方法), 其中第一個隱式引數為類
- staticmethod裝飾器, 沒有任何隱式引數. python中的靜態方法類似與C++中的靜態方法
property裝飾器
- 定義私有類屬性
將property與裝飾器結合實作屬性私有化(更簡單安全的實作get和set方法)
#python內建函式
property(fget=None, fset=None, fdel=None, doc=None)
fget是獲取屬性的值的函式,fset是設定屬性值的函式,fdel是洗掉屬性的函式,doc是一個字串(like a comment).從實作來看,這些引數都是可選的
property有三個方法getter(), setter()和delete() 來指定fget, fset和fdel,這表示以下這行
iter魔法
- 通過yield和__iter__的結合, 我們可以把一個物件變成可迭代的
- 通過__str__的重寫, 可以直接通過想要的形式列印物件
神奇partial
partial使用上很像C++中仿函式(函式物件).
在stackoverflow給出了類似與partial的運行方式
利用用閉包的特性系結預先系結一些函式引數, 回傳一個可呼叫的變數, 直到真正的呼叫執行
神秘eval
eval我理解為一種內嵌的python解釋器(這種解釋可能會有偏差), 會解釋字串為對應的代碼并執行, 并且將執行結果回傳
看一下下面這個例子
exec
- exec在Python中會忽略回傳值, 總是回傳None, eval會回傳執行代碼或陳述句的回傳值
- exec和eval在執行代碼時, 除了回傳值其他行為都相同
- 在傳入字串時, 會使用compile(source, '<string>', mode)編譯位元組碼. mode的取值為exec和eval
etattr
getattr(object, name[, default])Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For example, getattr(x, ‘foobar’) is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.
通過string型別的name, 回傳物件的name屬性(方法)對應的值, 如果屬性不存在, 則回傳默認值, 相當于object.name
命令列處理
讀寫csv檔案
各種時間形式轉換
只發一張網上的圖, 然后差檔案就好了, 這個是記不住的
字串格式化
一個非常好用, 很多人又不知道的功能
>>> name = "andrew"
>>> "my name is {name}".format(name=name)
'my name is andrew'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/55129.html
標籤:Python
上一篇:C#隱藏表單
