Python是目前世界上最好的编程语言之一。因为:1.简单易学2.用途广泛3.有很多开源支持(大量的模块和库)作者PeterGleeson是一名数据科学家,他的日常工作几乎离不开python。一路走来,他积累了很多有用的技巧和技巧,现在他将把这些技巧分享给大家。提示将根据其首字母以A-Z顺序呈现。ALLORANYPython如此受欢迎的原因之一是它的可读性和表达力非常强。Python因此常被嘲笑为“可执行的伪代码”。如果你不相信我,请看:x=[True,True,False]ifany(x):print("AtleastoneTrue")ifall(x):print("NotoneFalse")ifany(x)andnotall(x):print("AtleastoneTrueandoneFalse")BASHPLOTIB你想在控制台上画画吗?$pipinstallbashplotlib现在您在控制台中有了绘图COLLECTIONSPython有一些很棒的默认数据类型,但有时它们无法按照您希望的方式工作。幸运的是,Python标准库提供了collection模块。它允许您使用更多样化的数据类型。fromcollectionsimportOrderedDict,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#dirEMOGI是的,您没有看错!$pipinstallemoji使用python创建模因,你也可以。fromemojiimportemojizeprint(emojize(":thumbs_up:")):+1:FROM_GUTURE_IMPORTPython非常流行,这导致它的版本更新非常快,新版本往往会有很多新特性。如果你不更新,你将无法使用它。但是,不要害怕。__future__模块允许您从未来版本中导入功能。有点像穿越时空!from__future__importprint_functionprint("HelloWorld!")GEOPY地理对于程序员来说是一个非常具有挑战性的领域。但是,geopy模块使它变得非常简单。$pipinstallgeopy它通过提取一堆不同地理编码服务的API来工作,让您获得一个地方的完整街道地址、纬度、经度,甚至海拔高度。还有一个有用的“距离”类别。它使用您选择的度量标准计算两个位置之间的距离。fromgeopyimportGoogleV3place="221bBakerStreet,London"location=GoogleV3().geocode(place)print(location.address)print(location.location)HOWDOI有时您遇到一个编程问题,并觉得您以前已经看到了它的解决方案。但我记不清具体是什么样子了。所以你想在StackOverflow上找到它,但又不想离开这个终端。这时候你就需要下面这个工具——howdoi$pipinstallhowdoi你遇到什么问题都可以提出来,它会尽最大努力给你答复。$howdoverticalaligncss$howdoiforloopinjava$howdoiundocommitsingit注意-它只从StackOverflow上最热门的答案中获取代码。所以它并不总是返回给你最有用的信息...$howdoiexitvimINSPECTPython的inspect模块用于收集有关Python对象的信息,你可以获得有关类或函数的参数、源代码、解析堆栈等的信息。下面的代码示例使用inspect.getsource()打印自己的源代码。还可以使用inspect.getmodule()来打印定义inspect.getmodule()的模块。***一行代码是打印该行代码的行号。在这种情况下,这是4。importinspectprint(inspect.getsource(inspect.getsource))print(inspect.getmodule(inspect.getmodule))print(inspect.currentframe().f_lineno)inspect模块可以有效地让你知道你的代码是如何工作的,你也可以用它来完成一些个人源代码。JEDIJedi库是一个用于代码自动补全和静态分析的库。它使您可以更快、更高效地编写代码。除非您正在开发自己的编辑器,否则您可能真的会喜欢Jedi作为您自己的编辑插件。您可能已经在使用Jedi只是没有意识到而已。IPython项目使用Jedi来实现其自动完成功能。**KWARGS无论您学习哪种语言,学习过程中总会有一些里程碑。理解神秘的**kwargs语法应该算是Python编程学习的一个重要里程碑。字典前面的双星“**”允许您将字典的内容作为命名参数传递给函数。字典的键是参数的名称,键的值作为参数的值传递给函数。如下:dictionary={"a":1,"b":2}defsomeFunction(a,b):print(a+b)return#thesedothesamething:someFunction(**dictionary)someFunction(a=1,b=2)当你想创建一个需要能够处理事先没有定义的参数的函数时,那么你需要使用上面提到的技术。LISTCOMPREHENSIONS列表推导(listcomprehension)列表推导可以说是我最喜欢的Python技能之一。这种表达方式可以让你写出像自然语言一样容易理解的代码,同时也非常简洁。您可以通过此链接了解更多关于列表理解的使用。地址:https://www.learnpython.org/en/List_Comprehensionsnumbers=[1,2,3,4,5,6,7]evens=[xforxinnumbersifx%2is0]odds=[yforyinnumbersifynotinevens]cities=['伦敦','Dublin','Oslo']defvisit(city):print("Welcometo"+city)forcityincities:visit(city)MAPPPython有许多非常有用的内置函数。其中之一是map()-特别是与lambda函数结合使用时。x=[1,2,3]y=map(lambdax:x+1,x)#printsout[2,3,4]print(list(y))在这个例子中,map()为每个一个简单的lambda函数应用于每个元素。它返回一个映射对象,可以将其转换为可迭代对象,例如列表或元组。NEWSPAPER3Knewspaper3k,如果你还没有看过,那么你可能会对这个Python报纸模块感到惊奇。它允许您从一系列领先的国际出版物中检索新闻和相关元数据。您可以搜索图像、文本和作者姓名。它甚至有一些内置的自然语言处理能力。因此,如果您正在考虑为您的下一个项目使用BeautifulSoup或其他自制爬虫库。好吧,省时省力,您真正需要的只是$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
