<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python奇技淫巧你知道多少?

          共 2219字,需瀏覽 5分鐘

           ·

          2020-08-13 22:01

          點(diǎn)擊關(guān)注上方“SQL數(shù)據(jù)庫開發(fā)”,

          設(shè)為“置頂或星標(biāo)”,第一時(shí)間送達(dá)干貨

          顯示有限的接口到外部

          當(dāng)發(fā)布python第三方package時(shí), 并不希望代碼中所有的函數(shù)或者class可以被外部import, 在__init__.py中添加__all__屬性,
          該list中填寫可以import的類或者函數(shù)名, 可以起到限制的import的作用, 防止外部import其他函數(shù)或者類
          執(zhí)行結(jié)果如下:
          證明了會(huì)先執(zhí)行__enter__方法, 然后調(diào)用with內(nèi)的邏輯, 最后執(zhí)行__exit__做退出處理, 并且, 即使出現(xiàn)異常也能正常退出

          filter的用法

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


          一行作判斷

          當(dāng)條件滿足時(shí), 返回的為等號(hào)后面的變量, 否則返回else后語句


          裝飾器之單例

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


          staticmethod裝飾器

          類中兩種常用的裝飾, 首先區(qū)分一下他們
          • 普通成員函數(shù), 其中第一個(gè)隱式參數(shù)為對(duì)象
          • classmethod裝飾器, 類方法(給人感覺非常類似于OC中的類方法), 其中第一個(gè)隱式參數(shù)為
          • staticmethod裝飾器, 沒有任何隱式參數(shù).?python中的靜態(tài)方法類似與C++中的靜態(tài)方法


          property裝飾器

          • 定義私有類屬性
          property與裝飾器結(jié)合實(shí)現(xiàn)屬性私有化(更簡單安全的實(shí)現(xiàn)get和set方法)
          #python內(nèi)建函數(shù)
          property(fget=None,?fset=None,?fdel=None,?doc=None)
          fget是獲取屬性的值的函數(shù),fset是設(shè)置屬性值的函數(shù),fdel是刪除屬性的函數(shù),doc是一個(gè)字符串(like a comment).從實(shí)現(xiàn)來看,這些參數(shù)都是可選的
          property有三個(gè)方法getter(),?setter()delete()?來指定fget, fset和fdel。這表示以下這行


          iter魔法

          • 通過yield和__iter__的結(jié)合, 我們可以把一個(gè)對(duì)象變成可迭代的
          • 通過__str__的重寫, 可以直接通過想要的形式打印對(duì)象


          神奇partial

          partial使用上很像C++中仿函數(shù)(函數(shù)對(duì)象).
          在stackoverflow給出了類似與partial的運(yùn)行方式
          利用用閉包的特性綁定預(yù)先綁定一些函數(shù)參數(shù), 返回一個(gè)可調(diào)用的變量, 直到真正的調(diào)用執(zhí)行


          神秘eval

          eval我理解為一種內(nèi)嵌的python解釋器(這種解釋可能會(huì)有偏差), 會(huì)解釋字符串為對(duì)應(yīng)的代碼并執(zhí)行, 并且將執(zhí)行結(jié)果返回
          看一下下面這個(gè)例子


          exec

          • exec在Python中會(huì)忽略返回值, 總是返回None, eval會(huì)返回執(zhí)行代碼或語句的返回值
          • execeval在執(zhí)行代碼時(shí), 除了返回值其他行為都相同
          • 在傳入字符串時(shí), 會(huì)使用compile(source, '', mode)編譯字節(jié)碼. mode的取值為execeval


          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, 返回對(duì)象的name屬性(方法)對(duì)應(yīng)的值, 如果屬性不存在, 則返回默認(rèn)值, 相當(dāng)于object.name


          命令行處理


          讀寫csv文件


          各種時(shí)間形式轉(zhuǎn)換

          只發(fā)一張網(wǎng)上的圖, 然后差文檔就好了, 這個(gè)是記不住的


          字符串格式化

          一個(gè)非常好用, 很多人又不知道的功能
          >>>?name?=?"andrew"
          >>>?"my name is {name}".format(name=name)
          'my name is andrew'

          作者:code123

          出處:http://www.code123.cc/2285.html

          聲明:文章著作權(quán)歸作者所有,如有侵權(quán),請(qǐng)聯(lián)系小編刪除



          ——End——

          后臺(tái)回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
          后臺(tái)回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的交流群。
          推薦閱讀

          這是一個(gè)能學(xué)到技術(shù)的公眾號(hào),歡迎關(guān)注
          點(diǎn)擊「閱讀原文」了解SQL訓(xùn)練營

          瀏覽 65
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本和韩国的黄色一级视频 | 波多野结衣中文字幕在线视频 | 内地三级视频 | 亚洲天堂网视频网站 | 亚洲欧美在线se |