奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >關于奇酷 > 行業動態 > 16 個必知必會的 Python 教程!

16 個必知必會的 Python 教程!

來源:奇酷教育 發表于:

16 個必知必會的 Python 教程!

  16 個必知必會的 Python 教程!

 
  介紹
 
  Python 是一門用途廣泛的編程語言,它具有大量的庫和框架。有一些鮮為人知的 Python 編碼技巧和庫可以讓你作為開發人員的工作更為輕松,編寫代碼更高效。
 
  本文中將探討一些鮮為人知的 Python 技巧,這些技巧非常有用,但并不廣為人知。通過學習和使用這些技巧,可以幫你節省時間和精力,并使你的代碼更加優雅和高效。那么,讓我們深入探索 Python 語言的這些隱藏寶藏吧!
 
  圖片
 
 
  1.三元運算符
  三元運算符是 if-else 語句的簡寫。語法是value_if_true if condition else value_if_false。三元運算符是一行代碼,可以替代多行 if-else 語句,使你的代碼更加簡潔。
 
  a = 5 
  b = 10 
  max = a if a > b else b  # value_if_true if condition else value_if_false
 
  print(max)
  # 10
  上面的代碼通過檢查“a”是否大于“b”,如果為真則返回“a”,如果為假則返回“b”。
 
  2.枚舉函數
  enumerate()函數向可迭代對象添加一個計數器,并以枚舉對象的形式返回。當你想要遍歷列表并跟蹤索引時,此函數很有用。
 
  fruits = ['apple', 'banana', 'mango'] 
  for index, fruit in enumerate(fruits): 
      print(index, fruit)
 
  # 0 apple
  # 1 banana
  #2  mango
 
  3. 壓縮函數
  zip()函數聚合來自每個可迭代對象的元素并返回一個元組迭代器。當你想同時遍歷兩個或多個列表時,此函數很有用。
 
  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. 列表生成式
  列表生成式是一種從現有列表或任何可迭代對象創建列表的簡潔方法。這是一種可以替代 for 循環的單行代碼,使你的代碼更加高效,并使代碼的可讀性更強。
 
  squared_numbers = [x**2 for x in range(1, 6)]
 
  print(squared_numbers)
  # [1, 4, 9, 16, 25]
 
  5. 匿名函數
  Lambda 函數是使用lambda關鍵字定義的匿名函數。當你需要編寫一次性的小函數并且不想使用關鍵字def來定義命名函數時,它們很有用。微信搜索公眾號:架構師指南,回復:架構師 領取資料 。
 
  add = lambda x, y: x + y 
 
  result = add(3, 4)
 
  print(result)
  # 7
 
  6.any()和all()函數
  any()函數和all()函數返回True或False基于 iterable 中元素的真實性。如果 iterable 中的任何元素為真,則函數any()返回True,如果 iterable 中的所有元素都為真,則函數all()返回True。
 
  numbers = [1, 2, 3, 0, 4] 
  result = any(numbers) # True 
  result = all(numbers) # False。0使結果為False
 
  7. 迭代模塊
  itertools模塊提供了一組函數來處理迭代器。該模塊中的函數包括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. 生成器
  生成器是一種可迭代的類型,它可以即時生成值,而不是將它們存儲在內存中。它是使用yield關鍵字定義的,用于創建自定義迭代器。
 
  # 使用yield關鍵字創建生成器 
  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.裝飾器
  裝飾器是一種修改函數或類行為的方法。使用@符號進行定義,可用于向函數添加功能,例如日志記錄、計時或身份驗證。
 
  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))
 
  # 運行add函數,返回值為12
 
  10. 使用多個函數參數
  在 Python 中,可以使用*和**運算符來處理多個函數參數。*運算符用于將參數列表作為單獨的位置參數進行傳遞,運算符**用于傳遞關鍵字參數的字典。
 
  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. 動態導入
  當你想根據用戶輸入或配置導入模塊時,可以使用模塊動態導入模塊importlib。
 
  import importlib
 
  module_name = 'math'
  module = importlib.import_module(module_name)
  result = module.sqrt(9)
 
  12. 字典生成式
  字典生成式是一種從現有字典或任何可迭代對象創建字典的簡潔方法。它是一種可以替代 for 循環的單行代碼,使你的代碼更加高效,代碼可讀性更強。
 
  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. 可調用對象
  在 Python 中,任何可以稱為函數的對象都稱為可調用對象,包括函數、方法、類,甚至是定義__call__方法的對象。
 
  class Adder:
      def __call__(self, x, y):
          return x + y
 
  adder = Adder()
  result = adder(3, 4)
 
  print(result)
  #7
 
  14.用下劃線分隔大數字/字符
  大數字很難一眼看出來是多大,在 Python 中可以用下劃線來使數字更易讀。
 
  num_test = 100_345_405 # 一個大數字
 
  print(num_test)
  # 100345405
 
  15.快速合并兩個字典
  可以使用以下代碼在 Python 中快速合并 2兩個字典。
 
  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. 列表、集合和字典是可變的
  可變意味著可以更改或更新對象(列表、集合或字典),而無需更改內存中對象的指針。實際效果可見如下示例。
 
  在下面的示例中,通過添加一個新城市來更新城市列表,可以看到 ID(對象指針)保持不變,集合和字典也是如此。
 
  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
主站蜘蛛池模板: 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 软文发布-新闻发布推广平台-代写文章-网络广告营销-自助发稿公司媒介星 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 尚为传动-专业高精密蜗轮蜗杆,双导程蜗轮蜗杆,蜗轮蜗杆减速机,蜗杆减速机生产厂家 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 气动球阀_衬氟蝶阀_调节阀_电动截止阀_上海沃托阀门有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 成都思迪机电技术研究所-四川成都思迪编码器 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 东莞市天进机械有限公司-钉箱机-粘箱机-糊箱机-打钉机认准东莞天进机械-厂家直供更放心! | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 商秀—企业短视频代运营_抖音企业号托管 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | 磷酸肌酸二钠盐,肌酐磷酰氯-沾化欣瑞康生物科技 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司| 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 模具ERP_模具管理系统_模具mes_模具进度管理_东莞市精纬软件有限公司 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 |