Python以其简单简洁的语法着称,其代码只需掌握简单的英语即可理解。对初学者非常有吸引力,它没有声明,没有花哨的字符或奇怪的语法。正因如此,Python风靡全球。除此之外,Python还有一些很酷的特性,比如装饰器和列表理解。这些功能确实可以创造奇迹,但公式也名副其实,小字符可以产生很大的不同。从一个小技巧开始:In[1]:first_dict={'key1':'hello','key2':'world'}second_dict={'key3':'whats','key4':'up'}在[2]:#joinsthedictscombined_dict={**first_dict,**second_dict}combined_dictOut[2]:{'key1':'hello','key2':'world','key3':'whats','key4':'up'}In[]:这是一种超级简单的组合字典的方法!你可以清楚地看到,我只用几个星号组合了字典,我将在下面解释。星号在哪里发挥作用?除了众所周知的乘法作用外,星号还可以让您轻松执行一些重要任务,例如拆包。通常,您可以使用星号来解压可迭代对象,并且可以双重解压双向可迭代对象(如字典)。In[7]:#unpackinganiterable[xforxinrange(100)]==[*range(100)]Out[7]:TrueIn[8]:#unpkacingdictkeysd={'key1':'A'}list(d.keys())==[*d]Out[8]:TrueIn[9]:#unpackingwholedictd=={**d}Out[9]:True拆包的威力不要破坏别人的代码大家越来越明白了这个,但是还是有人不遵守。开发人员编写的每个函数都有自己的特点。如果更改功能,则所有基于您的代码编写的代码都将中断。来源:unsplash我将介绍一种简单的方法,您可以在不破坏向后兼容性的情况下向您的函数添加更多功能,并且您最终将获得更多模块化代码。在您的代码中键入*args和**kwrags,它们会将所有输入解压到函数中。单星号用于标准可迭代对象,双星号用于字典类的双向可迭代对象。例如:In[1]:defversion1(a,b):print(a)print(b)In[2]:version1(4,5)45In[3]:#codebreaksversion1(4,5,6)--------------------------------------------------------------------------TypeErrorTraceback(mostrecentcalllast)
