溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python華而不實的技巧有哪些

發(fā)布時間:2021-11-25 14:53:58 來源:億速云 閱讀:142 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Python華而不實的技巧有哪些”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python華而不實的技巧有哪些”吧!

顯示有限的接口到外部

當發(fā)布python第三方package時, 并不希望代碼中所有的函數(shù)或者class可以被外部import, 在__init__.py中添加__all__屬性,
該list中填寫可以import的類或者函數(shù)名, 可以起到限制的import的作用, 防止外部import其他函數(shù)或者類

Python華而不實的技巧有哪些

filter的用法

相對filter而言, map和reduce使用的會更頻繁一些, filter正如其名字, 按照某種規(guī)則過濾掉一些元素

Python華而不實的技巧有哪些

裝飾器之單例

使用裝飾器實現(xiàn)簡單的單例模式

Python華而不實的技巧有哪些

property裝飾器

  • 定義私有類屬性

將property與裝飾器結(jié)合實現(xiàn)屬性私有化(更簡單安全的實現(xiàn)get和set方法)

#python內(nèi)建函數(shù)

property(fget=None, fset=None, fdel=None, doc=None)

fget是獲取屬性的值的函數(shù),fset是設置屬性值的函數(shù),fdel是刪除屬性的函數(shù),doc是一個字符串(like a comment).從實現(xiàn)來看,這些參數(shù)都是可選的

property有三個方法getter(), setter()和delete() 來指定fget, fset和fdel。這表示以下這行

Python華而不實的技巧有哪些

神奇partial

partial使用上很像C++中仿函數(shù)(函數(shù)對象).

在stackoverflow給出了類似partial的運行方式

Python華而不實的技巧有哪些

神秘eval

eval我理解為一種內(nèi)嵌的python解釋器(這種解釋可能會有偏差), 會解釋字符串為對應的代碼并執(zhí)行, 并且將執(zhí)行結(jié)果返回

看一下下面這個例子

Python華而不實的技巧有哪些

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

Python華而不實的技巧有哪些

讀寫csv文件

Python華而不實的技巧有哪些

字符串格式化

一個非常好用, 很多人又不知道的功能

>>> name = "andrew"

>>> "my name is {name}".format(name=name)

'my name is andrew'

感謝各位的閱讀,以上就是“Python華而不實的技巧有哪些”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Python華而不實的技巧有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI