资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么使用Python功能

这篇文章主要讲解了“怎么使用Python功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python功能”吧!

成都创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元船山做网站,已为上家服务,为船山各地企业和个人服务,联系电话:028-86922220

变量赋值

正如函数*args和**kwargs,在变量赋值中可以运用相同的语法:

怎么使用Python功能

合并两个字典

合并字典时运用可迭代变量赋值法中的**kwargs语法:

怎么使用Python功能

需要小心的是,如果字典间有公共键,后一个键值对(y中的)会替代前者。据即将发行的最新Python版本(3.9),可以用一个全新的语法来规避这个问题,即字典合并,并更新操作符:

z = x | y # 合并——如上所述的行为模式

x |= y # 更新——替代字典合并

不可变集合

在Python中,可以运用集合,也就是不同对象的无序集合。这些集合是可变的,意味着能用add()和remove()进行变换——这说明可变集合是不可哈希的。

反之,可以运用不可变集合frozenset()——一种无法改变值的集合。但正因不可变,它是可哈希的——当把set和frozenset同时作为字典的键时,这一点就体现出来了:

怎么使用Python功能
怎么使用Python功能

把frozenset作为字典的键似乎并不实用,但是frozenset的作用是提供更详细、更具目的性的代码。这提醒了未来的代码阅读者——如果改变我,一切都会崩溃。

多因素条件

清理那些杂乱的if语句,而不是:

if 0 <= x and x <= 1: print('value is %')

可以写成:

if (0 <= x <= 1): print('value is %')

再深入一点,可以添加更多的条件语句,并用逐位运算符把它们串起来:

if (0 <= x < 1) | (7 <= x < 8) | (x == 10):     print('passed')

检查变量是否存在

我需要检查变量是否存在吗?

if "var_name" in globals():     print("var_nameexists!")elif "var_name" in locals():     print("var_name existslocally!")else:     print("var_name does notexist.")

可以分别利用 globals()和 locals()在全局和本地范围内检查变量。

怎么使用Python功能

检查变量test1和test2是否在全局或本地

globals和locals这两个作用域函数都会返回字典——因此也执行上述的字典合并语法{**x,  **y}。代码在合并范围后的字典中同时检查了test1和test2。

胜过lambda函数

利用lambda函数编写一行简单快捷的程序是很常见的,但是它很少用来建立多参数函数。通常情况如下:

do_something = lambda x: x**2 / (1 - x)

但lambda函数也可用来构建简练的一行式函数:

怎么使用Python功能

运用lambda函数构建一个带有Cochran方

在到处运用lambda函数之前,你要知道这是Python语法中最忌讳的用法之一。PEP  8——Python的代码风格指南——非常不鼓励把lambda函数作为命名函数。同时,特别是对于数字公式,一行式函数看起来会很奇怪。

因此,可以编写一行式的def 语句来替代lambda:

怎么使用Python功能

运用单行的def语句构建一个带有Cochran

运用哪一种方法取决于你。除非是想得到消极的反馈,那么请用lambda,否则还是用def吧。

感谢各位的阅读,以上就是“怎么使用Python功能”的内容了,经过本文的学习后,相信大家对怎么使用Python功能这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


本文标题:怎么使用Python功能
路径分享:http://cdkjz.cn/article/pcoipi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220