Python是世界上最流行和最受欢迎的编程语言之一,原因有很多,比如:简单易学超高的通用性拥有大量的模块和库本文将分享一些Python用法技巧,从A-Z顺序排列。alloranyPython如此受欢迎的原因之一是它的可读性和表现力。人们也经常戏称Python为“可执行伪代码(executablepseudocode)”。但是,当您可以编写如下代码时,很难反驳此声明:x=[True,True,False]ifany(x):print("AtleastoneTrue")ifall(x):print("NotoneFalse")ifany(x)andnotall(x):print("AtleastoneTrueandoneFalse")bashplotlib想在控制台画图?$pipinstallbashplotlib使用上面的行在控制台中绘制。collectionsPython有一些很棒的默认数据类型,但有时它们可??能不是您想要的。但是,Python标准库提供了collections模块。这个方便的插件为您提供了更多的数据类型。集合模块:https://docs.python.org/3/library/collections.htmlfromcollectionsimportOrderedDict,Counter#Rememberstheorderthekeysareadded!x=OrderedDict(a=1,b=2,c=3)#Countsthefrequencyofeachcharactery=Counter("HelloWorld!")dir你有没有想过如何查看Python对象的内部以及它有哪些属性?输入以下命令行:>>>dir()>>>dir("HelloWorld")>>>dir(dir)当以交互方式运行Python时,这可能是一个非常有用的功能,并且可以动态地探索您正在访问的对象和模块使用。要了解更多信息,请单击此处:https://docs.python.org/3/library/functions.html#diremoji是的,有。点击这里:https://pypi.org/project/emoji/$pipinstallemoji别以为我不知道你会偷偷试试→→fromemojiimportemojizeprint(emojize(":thumbs_up:"))from__future__importPython流行一个,结果总是有新的版本被开发出来。新版本意味着新功能——除非你的版本已经过时了。不过别担心。__future__模块允许用户从较新版本的Python导入功能。这几乎就像时间旅行,或者魔法什么的。__future__模块:https://docs.python.org/2/library/*future*.htmlfrom__future__importprint_functionprint("HelloWorld!")geopy地理(Geography)对于程序员来说可能是一个具有挑战性的领域。但是geopy模块让它变得非常简单。geopy模块:https://geopy.readthedocs.io/en/latest/$pipinstallgeopy它通过抽象一系列不同的地理编码服务的API来工作,允许用户获取一个地方的完整街道地址、纬度、经度,甚至高度。另一个有用的功能是距离:它以您喜欢的测量单位计算两个位置之间的距离。fromgeopyimportGoogleV3place="221bBakerStreet,London"location=GoogleV3().geocode(place)print(location.address)print(location.location)我怎么会遇到编码问题,不记得以前见过的解决方案?需要查看StackOverflow但又不想离开终端?那么你需要这个有用的命令行工具:https://github.com/gleitz/howdoi。$pipinstallhowdoi向它提出任何问题,它会尽力回答。$howdoverticalaligncss$howdoiforloopinjava$howdoiundocommitsingit但请注意-它从StackOverflow上投票最多的答案中获取代码。也就是说,它提供的信息并不总是有用的...$howdoiexitviminspectPython的检查模块对于理解问题背后的细节非常有帮助。您甚至可以在inspect模块上调用它的方法!inspect模块:https://docs.python.org/3/library/inspect.html下面的代码示例使用inspect.getsource()来打印自己的源代码。它还使用inspect.getmodule()打印定义它的模块。***一行代码打印出自己的行号。importinspectprint(inspect.getsource(inspect.getsource))print(inspect.getmodule(inspect.getmodule))print(inspect.currentframe().f_lineno)当然除了这些琐碎的用法,inspect模块还可以帮助大家理解代码正在做。您还可以使用它来编写自文档化代码。JediJedi库是一个自动完成和代码分析库。它使编码更快、更高效。除非您正在开发自己的IDE,否则您肯定会对使用Jedi库作为编辑插件感兴趣。Jedi:https://jedi.readthedocs.io/en/latest/docs/usage.html您可能已经在使用Jedi。IPython项目使用Jedi来完成代码。**kwargs学习任何语言都有很多里程碑。对于Python,理解神秘的**kwargs语法可能是其中之一。字典对象前面的双星号允许您将该字典的内容作为命名参数传递给函数。字典的键是参数名,值是传递给函数的值。你甚至不需要称它为kwargs!dictionary={"a":1,"b":2}defsomeFunction(a,b):print(a+b)return#thesedothesamething:someFunction(**dictionary)someFunction(a=1,b=2)这个当您想编写可以处理以前未定义的命名参数的函数时,它很有用。列表理解关于Python编程,我最喜欢的事情之一是它的列表理解(https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions)。这些表达式使编写清晰易读的代码变得很容易,这些代码读起来几乎像自然语言。有关它们的使用的更多信息,请参阅:https://www.learnpython.org/en/List_Comprehensionsnumbers=[1,2,3,4,5,6,7]evens=[xforxinnumbersifx%2is0]odds=[yforyinnumbersifynotinevens]cities=['London','Dublin','Oslo']defvisit(city):print("Welcometo"+city)forcityincities:visit(city)mapPython通过许多内置功能支持函数式编程。map()函数是最有用的函数之一——尤其是与lambda函数结合使用时。lambda函数:https://docs.python.org/3/tutorial/controlflow.html#lambda-expressionsx=[1,2,3]y=map(lambdax:x+1,x)#printsout[2,3,4]print(list(y))在上面的示例中,map()将一个简单的lambda函数应用于x中的每个元素。它返回一个映射对象,该对象可以转换为可迭代对象,例如列表或元组。newspaper3k如果你之前没有看过,那我建议你先看看:https://pypi.org/project/newspaper3k/。它可以帮助您从大量国际顶级出版物中检索新闻文章和相关元数据。您可以搜索图像、文本和作者姓名。它还具有一些内置的NLP功能。地址:https://newspaper.readthedocs.io/en/latest/user_guide/quickstart.html#performing-nlp-on-an-article如果您想在下一个项目中使用BeautifulSoup或其他DIY网络抓取库,那么为什么不使用$pipinstallnewspaper3k省时省力,何乐而不为呢?运算符重载(Operatoroverloading)Python支持运算符重载。这实际上是一个简单的概念。你有没有想过为什么Python允许用户使用+运算符来添加数字和连接字符串?这就是运算符重载发挥作用的地方。您可以使用Python的标准运算符来定义对象,以便您可以在与这些对象关联的上下文中使用它们。classThing:def__init__(self,value):self.__value=valuedef__gt__(self,other):returnsself.__value>other.__valuedef__lt__(self,other):returnsself.__value
