五个实用却被忽略的Python功能

Python文档中有一些不起眼却很强大的功能,以下是在Python中一些很有用的操作。,你可以以类似于为类和对象设置特征的方式为函数设置特征。,在第10行和第11行,分别设置了属性“optional return”和“is awesome”。稍后,在第19行和第20行,我们对这些属性进行了外部调用。代码的输出将是:,当不想在每次运行函数时使用返回语句显式地返回一个变量,但仍然想恢复作为中间值传入的变量时,这很有用。此外,请注意,属性可以从函数声明内部或外部设置。,Python中的for循环可以添加else子句。只有在执行循环体期间没有遇到break语句时,else子句才会被激活。,请记住,else是插入在for的层次上而不是if上。在这个例子中,没有任何元素的长度小于3。因此,break语句永远不会被使用。因此,在for循环完成之后,else子句将被激活,打印出上面显示的输出。,有人可能会认为,可以通过记住是否在另一个变量中找到了break语句来实现此操作。此外,对于在这之后的读者来说,这可能会使代码更易于理解。获取相同结果的等效方法如下:,像10000000和100000000这样的整数(它们真的是不同的数字吗?)在视觉上很难区分。在这种情况下,Python会将逗号在此上下文中解释为多个整数的元组,因此无法像英语中那样使用它们。,但是Python有一个非常实用的解决方案:我们可以使用下划线作为分隔符,使代码更具可读性。因此,1_000_000将被视为单个整数。,Python可以动态地读取一个字符串,并将其视为一行代码。用于评估表达式和执行语句的eval()和exec()函数用于执行此操作。,在第3行,eval()函数将输入字符串读取为Python表达式,对其进行评估,并将结果分配给变量‘b’。,第6行的exec()函数将输入字符串读取为Python语句并执行它。,你还可以将动态构造的字符串传递给这些函数。例如,你可以创建1000个名为x_0、x_1、……、x_999的变量,而不必在代码中手动编写这些变量声明。这可能看起来是一个完全没有意义的功能,但事实并非如此。,你可以在如下网址阅读Steven D’Aprano对eval和exec的分析:,https://mail.python.org/pipermail/tutor/2015-February/104238.html,Ellipse或“…”是Python内置的常量,类似于None、True或False等内置常量。它可以用于各种场合,包括但不限于:,与pass一样,当代码未完全编写,但需要语法上的占位符时,省略号可以用作通配符。,如果你想表示一个空的输入或返回值,通常会选择None。然而,在某些情况下,None是期望的输入或函数返回值之一。在这种情况下,省略号充当占位符。,nth_odd()函数计算第n个奇数,original_num()函数计算从第n个奇数推导出的原始数字n。,在这里不能使用None,因为它是original_num()函数的期望输入之一。它们被用作m参数的默认占位符。代码的输出如下所示:,NumPy使用省略号来切片数组。下面的代码展示了两种等效的分割NumPy数组的方式。,因此,“…”表示需要多少个“:”。,与None(布尔值为False)不同,Ellipsis布尔值被认为是True。

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/28494.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月23日
下一篇 2023年7月15日