24 个好用到爆的 Python 实用技巧!(上)

上一篇 / 下一篇  2021-11-15 13:47:12

  在这里,我尝试以 A - Z 开头的格式分享这些技巧中的一些,并且在本文中简单介绍这些方法,如果你对其中一个或多个感兴趣,你可以通过文末参考资料查看官方文档。希望对你能有所帮助。
  A - Z 
  all or any
  Python 语言如此流行的众多原因之一,是因为它具有很好的可读性和表现力。
  人们经常开玩笑说 Python 是可执行的伪代码。当你可以像这样写代码时,就很难反驳。
  x = [True, True, False]  
  if any(x):  
      print("至少有一个True")  
  if all(x):  
      print("全是True")  
  if any(x) and not all(x):  
      print("至少一个True和一个False") 
  bashplotlib
  你有没有想过在控制台中绘制图形吗?
  Bashplotlib 是一个 Python 库,他能够帮助我们在命令行(粗旷的环境)中绘制数据。
  # 模块安装  
  pip install bashplotlib  
  # 绘制实例  
  import numpy as np  
  from bashplotlib.histpgram import plot_hist  
  arr = np.ramdom.normal(size=1000, loc=0, scale=1)  
  plot_hist(arr, bincount=50) 
  collections
  Python 有一些很棒的默认数据类型,但有时它们的行为并不完全符合你的期望。
  幸运的是,Python 标准库提供了 collections 模块[1]。这个方便的附加组件为你提供了更多的数据类型。
  from collections import OrderedDict, Counter  
  # 记住键的添加顺序!  
  x = OrderedDict(a=1, b=2, c=3)  
  # 统计每个字符出现的频率  
  y = Counter("Hello World!") 
  dir
  有没有想过如何查看 Python 对象内部并查看它具有哪些属性?在命令行中输入:
  dir()   
  dir("Hello World")   
  dir(dir) 
  当以交互方式运行 Python 以及动态探索你正在使用的对象和模块时,这可能是一个非常有用的功能。在这里阅读更多functions[2]相关内容。
  emoji
  emoji[3] 是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。在中国大陆,emoji通常叫做“小黄脸”,或者直称emoji。
  # 安装模块  
  pip install emoji  
  # 做个尝试  
  from emoji import emojize  
  print(emojize(":thumbs_up:")) 
  from __future__ import
  Python 流行的结果之一,总是有新版本正在开发中。新版本意味着新功能 —— 除非你的版本已过时。
  不过不要担心。使用该__future__模块[4]可以帮助你用Python的未来版本导入功能。从字面上看,这就像时间旅行、魔法或其他东西。
  from __future__ import print_function 
  print("Hello World!") 
  geogy
  地理,对大多数程序员来说是一个具有挑战性的领域。在获取地理信息或者绘制地图时,也会遇到不少问题。这个geopy 模块[5]让地理相关内容变得非常容易。
  pip install geopy 
  它通过抽象一系列不同地理编码服务的 API 来工作。通过它,你能够获得一个地方的完整街道地址、纬度、经度甚至海拔高度。
  还有一个有用的距离类。它以你偏好的测量单位计算两个位置之间的距离。
  from geopy import GoogleV3  
  place = "221b Baker Street, London"  
  location = GoogleV3().geocode(place)  
  print(location.address)  
  print(location.location) 
  howdoi
  当你使用terminal终端编程时,通过在遇到问题后会在StackOverflow上搜索答案,完后会回到终端继续编程,此时有时会不记得你之前查到的解决方案,此时需要重新查看StackOverflow,但又不想离开终端,那么此时你需要用到这个有用的命令行工具howdoi[6]。
  pip install howdoi 
  无论你有什么问题,都可以问它,它会尽力回复。
  howdoi vertical align css  
  howdoi for loop in java  
  howdoi undo commits in git 
  但请注意——它会从 StackOverflow 的最佳答案中抓取代码。它可能并不总是提供最有用的信息......
  howdoi exit vim 
  inspect
  Python 的inspect模块[7]非常适合了解幕后发生的事情。你甚至可以调用它自己的方法!
  下面的代码示例inspect.getsource() 用于打印自己的源代码。 inspect.getmodule() 还用于打印定义它的模块。
  最后一行代码打印出它自己的行号。
  import inspect  
  print(inspect.getsource(inspect.getsource))  
  print(inspect.getmodule(inspect.getmodule))  
  print(inspect.currentframe().f_lineno) 
  当然,除了这些微不足道的用途,inspect 模块可以证明对理解你的代码在做什么很有用。你还可以使用它来编写自文档化代码。
  Jedi
  Jedi 库是一个自动完成和代码分析库。它使编写代码更快、更高效。
  除非你正在开发自己的 IDE,否则你可能对使用Jedi [8]作为编辑器插件比较感兴趣。幸运的是,这已经有可用的负载!
  **kwargs
  在学习任何语言时,都会有许多里程碑。使用 Python 并理解神秘的**kwargs语法可能算作一个重要的里程碑。
  字典对象前面的双星号**kwargs[9]允许你将该字典的内容作为命名参数传递给函数。
  字典的键是参数名称,值是传递给函数的值。你甚至不需要调用它kwargs!
  dictionary = {"a": 1, "b": 2}  
  def someFunction(a, b):  
      print(a + b)  
      return  
  # 这些做同样的事情:  
  someFunction(**dictionary)  
  someFunction(a=1, b=2) 
  当你想编写可以处理未预先定义的命名参数的函数时,这很有用。


  3分钟的价值是什么?在51Testing这里,等同于独家测试资料+免费的软件测试课程+2021测试行业趋势报告+抽奖名额。快快点击下方链接填写测试行业调查问卷吧,我们需要你的助力!
  链接:http://vote.51testing.com/



TAG: 软件开发 Python

 

评分:0

我来说两句

Open Toolbar