蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 行業(yè)動(dòng)態(tài) > 16 個(gè)必知必會(huì)的 Python 教程

16 個(gè)必知必會(huì)的 Python 教程

來(lái)源:奇酷教育 發(fā)表于:

16 個(gè)必知必會(huì)的 Python 教程



  1.三元運(yùn)算符
  三元運(yùn)算符是 if-else 語(yǔ)句的簡(jiǎn)寫(xiě)。語(yǔ)法是value_if_true if condition else value_if_false。三元運(yùn)算符是一行代碼,可以替代多行 if-else 語(yǔ)句,使你的代碼更加簡(jiǎn)潔。
 
  a = 5 
  b = 10 
  max = a if a > b else b  # value_if_true if condition else value_if_false
 
  print(max)
  # 10
  上面的代碼通過(guò)檢查“a”是否大于“b”,如果為真則返回“a”,如果為假則返回“b”。
 
  2.枚舉函數(shù)
  enumerate()函數(shù)向可迭代對(duì)象添加一個(gè)計(jì)數(shù)器,并以枚舉對(duì)象的形式返回。當(dāng)你想要遍歷列表并跟蹤索引時(shí),此函數(shù)很有用。
 
  fruits = ['apple', 'banana', 'mango'] 
  for index, fruit in enumerate(fruits): 
      print(index, fruit)
 
  # 0 apple
  # 1 banana
  #2  mango
 
  3. 壓縮函數(shù)
  zip()函數(shù)聚合來(lái)自每個(gè)可迭代對(duì)象的元素并返回一個(gè)元組迭代器。當(dāng)你想同時(shí)遍歷兩個(gè)或多個(gè)列表時(shí),此函數(shù)很有用。
 
  list1 = [1, 2, 3] 
  list2 = ['a', 'b', 'c'] 
  for x, y in zip(list1, list2):
      print(x, y)
 
  # 1 a
  # 2 b
  # 3 c
 
  4. 列表生成式
  列表生成式是一種從現(xiàn)有列表或任何可迭代對(duì)象創(chuàng)建列表的簡(jiǎn)潔方法。這是一種可以替代 for 循環(huán)的單行代碼,使你的代碼更加高效,并使代碼的可讀性更強(qiáng)。
 
  squared_numbers = [x**2 for x in range(1, 6)]
 
  print(squared_numbers)
  # [1, 4, 9, 16, 25]
 
  5. 匿名函數(shù)
  Lambda 函數(shù)是使用lambda關(guān)鍵字定義的匿名函數(shù)。當(dāng)你需要編寫(xiě)一次性的小函數(shù)并且不想使用關(guān)鍵字def來(lái)定義命名函數(shù)時(shí),它們很有用。
 
  add = lambda x, y: x + y 
 
  result = add(3, 4)
 
  print(result)
  # 7
 
  6.any()和all()函數(shù)
  any()函數(shù)和all()函數(shù)返回True或False基于 iterable 中元素的真實(shí)性。如果 iterable 中的任何元素為真,則函數(shù)any()返回True,如果 iterable 中的所有元素都為真,則函數(shù)all()返回True。
 
  numbers = [1, 2, 3, 0, 4] 
  result = any(numbers) # True 
  result = all(numbers) # False。0使結(jié)果為False
 
  7. 迭代模塊
  itertools模塊提供了一組函數(shù)來(lái)處理迭代器。該模塊中的函數(shù)包括chain、product和permutations。
 
  import itertools 
  numbers = [1, 2, 3] 
  result = list(itertools.permutations(numbers)) 
 
 
  # 輸出所有排列組合 
  # [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
 
  8. 生成器
  生成器是一種可迭代的類(lèi)型,它可以即時(shí)生成值,而不是將它們存儲(chǔ)在內(nèi)存中。它是使用yield關(guān)鍵字定義的,用于創(chuàng)建自定義迭代器。
 
  # 使用yield關(guān)鍵字創(chuàng)建生成器 
  def fibonacci_series(n):
      a, b = 0, 1
      for i in range(n):
          yield a
          a, b = b, a + b
 
  # 輸出迭代器中的值 
  for number in fibonacci_series(10):
      print(number)
 
  # 0
  # 1
  # 1
  # 2
  # 3
  # 5
  # 8
  # 13
  # 21
  # 34
 
  9.裝飾器
  裝飾器是一種修改函數(shù)或類(lèi)行為的方法。使用@符號(hào)進(jìn)行定義,可用于向函數(shù)添加功能,例如日志記錄、計(jì)時(shí)或身份驗(yàn)證。
 
  def log_function(func):
      def wrapper(*args, **kwargs):
          print(f'Running {func.__name__}')
          result = func(*args, **kwargs)
          print(f'{func.__name__} returned {result}')
          return result
      return wrapper
 
  @log_function
  def add(x, y):
      return x + y
 
 
  print(add(5,7))
 
  # 運(yùn)行add函數(shù),返回值為12
 
  10. 使用多個(gè)函數(shù)參數(shù)
  在 Python 中,可以使用*和**運(yùn)算符來(lái)處理多個(gè)函數(shù)參數(shù)。*運(yùn)算符用于將參數(shù)列表作為單獨(dú)的位置參數(shù)進(jìn)行傳遞,運(yùn)算符**用于傳遞關(guān)鍵字參數(shù)的字典。
 
  def print_arguments(*args, **kwargs):
      print(args)
      print(kwargs)
 
  print_arguments(1, 2, 3, name='John', age=30)
 
  # (1, 2, 3)
  # {'name': 'John', 'age': 30}
 
  11. 動(dòng)態(tài)導(dǎo)入
  當(dāng)你想根據(jù)用戶輸入或配置導(dǎo)入模塊時(shí),可以使用模塊動(dòng)態(tài)導(dǎo)入模塊importlib。
 
  import importlib
 
  module_name = 'math'
  module = importlib.import_module(module_name)
  result = module.sqrt(9)
 
  12. 字典生成式
  字典生成式是一種從現(xiàn)有字典或任何可迭代對(duì)象創(chuàng)建字典的簡(jiǎn)潔方法。它是一種可以替代 for 循環(huán)的單行代碼,使你的代碼更加高效,代碼可讀性更強(qiáng)。
 
  squared_numbers = {x: x**2 for x in range(1, 6)}
  print(squared_numbers)
 
  # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
 
  13. 可調(diào)用對(duì)象
  在 Python 中,任何可以稱(chēng)為函數(shù)的對(duì)象都稱(chēng)為可調(diào)用對(duì)象,包括函數(shù)、方法、類(lèi),甚至是定義__call__方法的對(duì)象。
 
  class Adder:
      def __call__(self, x, y):
          return x + y
 
  adder = Adder()
  result = adder(3, 4)
 
  print(result)
  #7
 
  14.用下劃線分隔大數(shù)字/字符
  大數(shù)字很難一眼看出來(lái)是多大,在 Python 中可以用下劃線來(lái)使數(shù)字更易讀。
 
  num_test = 100_345_405 # 一個(gè)大數(shù)字
 
  print(num_test)
  # 100345405
 
  15.快速合并兩個(gè)字典
  可以使用以下代碼在 Python 中快速合并 2兩個(gè)字典。
 
  dictionary_one = {a: 1, b: 2}
  dictionary_two = {c: 3, d: 4}
 
  merged = {**dictionary_one, **dictionary_two}
 
  print(merged)  
  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
 
  16. 列表、集合和字典是可變的
  可變意味著可以更改或更新對(duì)象(列表、集合或字典),而無(wú)需更改內(nèi)存中對(duì)象的指針。實(shí)際效果可見(jiàn)如下示例。
 
  在下面的示例中,通過(guò)添加一個(gè)新城市來(lái)更新城市列表,可以看到 ID(對(duì)象指針)保持不變,集合和字典也是如此。
 
  cities = [Munich, Zurich, London]
  print(id(cities)) # 2797174365184
  cities.append(Berlin)
  print(id(cities)) # 2797174365184
  # 集合 
 
  my_set = {1, 2, 3}
  print(id(my_set))  # 2797172976992
  my_set.add(4)
  print(id(my_set))  # 2797172976992
  # 字典 
 
  thisdict = {
    brand: Ford,
    model: Mustang,
    year: 1964
  }
  print(id(thisdict))  #2797174128256
  thisdict[engine] = 2500cc
  print(id(thisdict))  #2797174128256
琼结县| 益阳市| 巴林右旗| 新建县| 平湖市| 九龙坡区| 若尔盖县| 张家界市| 海丰县| 麦盖提县| 双峰县| 平邑县| 北宁市| 会东县| 贞丰县| 五河县| 民乐县| 银川市| 新龙县| 会同县| 五寨县| 阳新县| 乳山市| 民权县| 栖霞市| 南城县| 通许县| 灵武市| 北流市| 德保县| 漠河县| 全州县| 张掖市| 民勤县| 百色市| 双流县| 兰州市| 高要市| 马山县| 栾川县| 九龙县|