<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python基礎筆記(四)

      1. 返回函數與閉包

      如果在一個內部函數里,對在外部作用域(但不是在全局作用域)的變量進行引用,那么內部函數就被認為是閉包(closure)

      def getSum(*args):
          def add():
              result = 0
              for i in args:
                  result = result + i
              return result
          return add
      
      myFun = getSum(1, 2, 3)
      
      print(myFun())
      # 6
      

      2. 裝飾器(decorator)

      裝飾器是對函數的一種包裝,它使函數的功能得到擴展,但又不用修改函數內部的代碼;一般用于增加函數執行前后的行為。
      下面的例子演示了在一個函數執行前打印當前時間,執行后打印執行完成的提示:

      import time
      
      def myDecorator(func):
          def myWrapper(*args, **kw):
              print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
              f = func(*args, **kw)
              print(func.__name__, "function is called.")
              return f
          return myWrapper
      
      @myDecorator
      def hello():
          print("hello world")
      
      hello()
      # 2019-04-09 11:38:29
      # hello world
      # hello function is called.
      

      下面的例子演示了在一個函數返回字符串后,在該字符串前后加上HTML標簽:

      def setTag(tag):
          def myDecorator(func):
              def myWrapper(*args, **kw):
                  beginTag = "<" + tag + ">"
                  endTag = "</" + tag + ">"
                  return beginTag + func(*args, **kw) + endTag
              return myWrapper
          return myDecorator
      
      @setTag("div")
      def hello(name):
          return "hello, " + name
      
      print(hello("wayne"))
      # <div>hello, wayne</div>
      

      3. 偏函數(partial function)

      偏函數是通過將一個函數的部分參數預先綁定為特定值,從而得到一個新的具有較少可變參數的函數。
      下面的例子用偏函數實現了一個轉換二進制的函數int2

      import functools
      
      int2 = functools.partial(int, base=2)
      
      print("%d %d" % (int("1010101"), int2("1010101")))
      # 1010101 85
      

      partial接收三個參數,形式為:partial(func, *args, **keywords),上面演示了只提供**keywords的情況,下面的例子演示了只提供*args的情況:

      import functools
      
      max2 = functools.partial(max, 10)
      
      print(max2(5, 6, 7))
      # 等效于max(10, 5, 6, 7)
      # 10
      

      4. 模塊

      編寫模塊的一般格式如下:
      test1.py

      #!/usr/bin/env python3
      # -*- coding: utf-8 -*-
      
      'my test1 module'
      
      __author__ = "Wayne"
      
      import sys
      
      def init():
          print(sys.argv)
      
      if __name__ == '__main__':
          init()
      

      當通過命令行的方式運行該模塊文件時,Python解釋器把一個特殊變量__name__置為__main__。
      sys.argv返回的是一個list,執行python3 test1.py,那么sys.argv得到的list是['test1.py'];執行python3 test1.py A B,那么sys.argv得到的list是['test1.py', 'A', 'B']

      posted @ 2019-05-16 10:04  CoderWayne  閱讀(126)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲国产成人无码网站大全| 在线无码免费的毛片视频| 日本边添边摸边做边爱| 亚洲性线免费观看视频成熟| 中文字幕av日韩有码| 国内精品人妻一区二区三区| 免费无码AV一区二区波多野结衣| 思思久99久女女精品| 美女内射福利大全在线看| 亚洲成人高清av在线| 亚洲国产精品嫩草影院久久| 成人做受120秒试看试看视频| 三级国产在线观看| 国产午夜A理论毛片| 国产熟妇久久777777| 狠狠人妻久久久久久综合蜜桃| 艳妇乳肉豪妇荡乳在线观看| 欧美videosdesexo吹潮| 国产午夜精品福利视频| 少妇精品无码一区二区免费视频| 国产亚洲精品第一综合另类灬| 国产不卡一区二区在线| 国产成人精品午夜福利在线观看| 最新亚洲人成网站在线影院| 激情久久av一区二区三区| 撕开奶罩揉吮奶头高潮av| 精品亚洲国产成人| 九九热在线免费视频观看| 国产精品午夜福利91| 樱花草视频www日本韩国 | 婷婷丁香五月深爱憿情网| 夜爽8888视频在线观看| 国产av一区二区午夜福利| 在线播放国产精品亚洲| 精品国产大片中文字幕| 亚洲午夜精品国产电影在线观看| 一个人在看www免费| 狠狠亚洲色一日本高清色| 国产一区二区三区色老头| 九九re线精品视频在线观看视频| 国产一级片内射在线视频|