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

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

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

      剛開始學習Python的時候,我們就了解了python的編碼風格要求,通過python終端方式輸入import this可以看到它的具體描述。

      圖片

      這就是著名的“python之禪”,簡言之,就是要寫符合pythonic的代碼,簡潔、優雅、可讀性強。

      下面選取了一些常見的Python規范和代碼風格,大家可以進行參考和學習。

      命名

      首先看一下變量的命名規范(pep8)規范:

      文件夾:包名,建議僅使用小寫字母命名,不建議使用下劃線。

      模塊: 小寫或者小寫加下劃線連接,比如 module.pydb_convert.py等。

      類: 駝峰式,首字母大寫,單詞直接連接。

      class ThisIsAClass(object):
          pass
      

      函數:小寫,用下劃線隔開

      def this_is_a_func():
          pass
      

      變量: 小寫,用下劃線隔開

      this_is_a_variable = 1
      

      常量:常量名所有字母大寫,由下劃線連接各個單詞,如THIS_IS_A_CONSTANT = 1

      語法風格

      1.交換a 和 b的數值

      其他語言的方法:

      a = 5
      b = 6
      temp = a
      a = b
      b = temp
      

      python中,更加簡潔的方法:

      a = 5
      b = 6
      a, b = b, a
      print(a, b)
      輸出:6 5
      

      2.多個變量賦值

      python中可以一行代碼,同時給多個變量賦值

      a,b,c = 2,5,12
      

      3.合并字符串

      傳統的字符串合并方法,由于字符串對象不可改變,每次修改會產生一個新的對象,這種方法會消耗很多內存。

      list_str = ["hello ", "python", "!"]
      result = ""
      for i in list_str:
          result+=i
      print(result)
      

      python中,使用join()方法更加高效,注意join()方法只適用于元素是字符串的列表、元組、集合等類型。

      list_str = ["hello ", "python", "!"]
      result = "".join(list_str)
      print(result)
      
      輸出:hello python!
      

      4.列表去重

      使用集合的唯一性,對列表進行去重

      a = [1, 2, 3, 1, 2,3 , 1, 3, 2, 4, 1, 3, 4, 5, 6, 5, 4, 4, 3, 6]
      lst = list(set(a))
      print(lst)
      輸出:
      

      5.if/else 三目運算

      python支持的三目運算格式:

      為真時的結果 if 判斷條件 else 為假時的結果(注意,沒有冒號)
      a=4
      st = "a大于4" if a>4 else "a小于等于4"
      print(st)
      輸出:a小于等于4
      

      6.enumerate

      enumerate()是 Python 的內置函數。可以將一個可迭代的(Iterable)對象(列表、字符串等)組成一個索引序列,可以同時獲得索引和值。

      獲取列表元素及索引

      # 一般寫法
      names = ['Bob', 'Alice', 'Guido']
      n = len(names)
      for i in range(n):
          print(f'{i} {names[i]}')
      
      # 使用enumerate()函數
      names = ['Bob', 'Alice', 'Guido']
      for index, value in enumerate(names):
          print(f'{index}: {value}')
      輸出:
      0: Bob
      1: Alice
      2: Guido
      

      7.解包

      解包在英文里叫做 Unpacking,就是將容器里面的元素逐個取出來。

      解壓列表/元組的元素,賦值給不同的變量

      a, b, c = [1,2,3]
      print(a, b, c)
      輸出:1 2 3
      

      函數中的解包操作

      在函數調用中,* 能夠將元組或列表解包成不同的參數。

      def func(a, b, c, d):
          print(a, b, c, d)
      
      args = [1, 2, 3, 4]
      func(*args)
      輸出:1 2 3 4
      

      在函數調用中,** 會以鍵/值的形式解包一個字典,使其成為一個獨立的關鍵字參數。

      def func(a, b, c, d):
          print(a, b, c, d)
      
      kwargs = {"a": 1, "b": 2, "c": 3, "d": 4}
      func(**kwargs)
      輸出:1 2 3 4
      

      8.列表推導式

      列表推導式可以利用 range 區間、元組、列表、字典和集合等數據類型,快速生成一個滿足指定需求的列表。

      [表達式 for 迭代變量 in 可迭代對象 [if 條件表達式] ]
      

      [if 條件表達式] 可以省略。

      生成一個列表,列表元素分別為 [1x1,2x2,3x3……nxn],假設n = 10

      # 一般方法
      lst = []
      for i in range(1, 11):
          lst.append(i*i)
      print(lst)
      輸出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
      # 列表推導式
      lst = [i*i for i in range(1,11)]
      print(lst)
      輸出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
      

      要求返回的序列中不存在偶數項

      lst = [i*i for i in range(1, 11) if i % 2 != 0]
      print(lst)
      輸出:[1, 9, 25, 49, 81]
      

      9.使用關鍵字in

      • in:如果在指定的序列中找到值返回 True,否則返回 False。
      • not in:如果在指定的序列中沒有找到值返回 True,否則返回 False。

      判斷元素是否在列表中

      number=[1,2,3,4,5]
      if 1 in number:
          print("1 in number")
      if 0 not in number:
          print("0 not in number")
      

      在 for 循環中,獲取列表、元組、字典的每一項:

      list = [2, 3, 4]
      for num in list:
          print (num)
          
      dic = {"name": "xiaoming", "age": 18}
      for k, v in dic.items():
          print(k, v)
      

      10.使用zip同步處理多個列表

      zip() 函數是 Python 內置函數,它可以將多個序列(列表、元組、字典、集合、字符串等)中對應位置的元素重新組合,生成一個個新的元組。

      z = zip([1,2,3],[3,4,5])
      print(list(z))
      輸出:[(1, 3), (2, 4), (3, 5)]
      

      11.真值判斷

      當判斷一個變量是否為 True 的時候,Python 具有自身獨特的方式,不需要寫出判斷條件,只需要在 if 或 while 關鍵字后面直接寫上該對象即可。

      常見的真值為False的情況:

      • 常量:None and False.
      • 數值0值: 0, 0.0, 0j
      • 序列或者集合為空:'', (), [], {}, set(), range(0)
      # 對于布爾對象,建議這樣寫
      x = True
      if x:
          pass
      # 不建議這樣寫
      if x == True:
          pass
      
      lst = []
      # 對于列表對象,建議這樣寫
      if lst:
          pass
      # 不建議這樣寫
      if len(lst) != 0:
          pass
      

      更多關于pythonic的寫法,可以參考《effctive python》這本書,還有Python官網的代碼規范要求 https://www.python.org/dev/peps/pep-0008/。

      posted on 2022-09-04 13:10  前進者-影子  閱讀(37)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲V天堂V手机在线| 好日子在线观看视频大全免费动漫 | 亚洲精品爆乳一区二区H| 中文字幕人妻av12| 国产在线高清视频无码| 亚洲国产精品无码久久久秋霞1| 福利无遮挡喷水高潮| 亚洲午夜伦费影视在线观看| 成人亚欧欧美激情在线观看| 美女自卫慰黄网站| 午夜精品亚洲一区二区三区| 性欧美三级在线观看| 一本色道久久东京热| 国产精品无码无卡在线播放| 精品国产精品中文字幕| 你懂的在线视频一区二区| 激情综合网激情国产av| 九九综合va免费看| 人妻少妇精品视频无码综合| 国产视频 视频一区二区| 日韩在线视频一区二区三| 亚洲一区二区三区18禁| 国产精品性视频一区二区| 中文字幕无码av不卡一区| 日韩精品福利一区二区三区| 午夜福利国产区在线观看| 亚州中文字幕一区二区| V一区无码内射国产| 亚洲综合一区国产精品| 无码人妻精品一区二区三区蜜桃| 久久99精品久久久久麻豆| 国内自拍av在线免费| 国产精品视频一区不卡| av鲁丝一区鲁丝二区鲁丝三区 | 少妇高潮喷水正在播放| 黄色免费在线网址| 日本久久99成人网站| 国产欧美亚洲精品a| 国产精品SM捆绑调教视频| 越南女子杂交内射bbwxz| 成av人片一区二区久久|