深入理解Python特性,python六大特点
本文主要详细介绍Python的隐藏特性。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。
00-1010 1.导言2。功能属性3。For-else循环4。整数分隔符5。eval()和exec()6。用于切片7的省略号6.1占位符6.2 numpy数组。摘要
目录
最近业余时间会看一些Python文档,有时候会注意到一些有趣的Python特性,让人惊呼“哇,Python还能这么写”。
废话少说,我们开始吧。)
1. 引言
类似于设置类和对象的属性,我们也可以在Python中设置函数的属性。示例代码如下:
定义函数(x):
intermediate_var=x**2 x 1
if intermediate_var % 2:
y=intermediate_var ** 3
else:
y=intermediate_var **3 1
#在此设置属性
func . optional _ return=intermediate _ var
func.is_awesome=对,我的函数很牛逼。
回车y
y=func(3)
打印(“最终答案是”,y)
#访问函数属性
print(显示计算-,func.optional_return)
打印(‘我的功能是不是很牛逼?-,func.is_awesome)
看看上面的代码,我们在第9行设置了函数属性‘optional _ return ’,在第10行设置了属性‘is _ awesome’。同时,我们在最后两行call语句中访问了这两个函数属性的值。
上述代码的运行结果如下:
最终答案是2197
显示计算- 13
我的功能牛逼吗?-是的,我的功能很棒。
当我们想选择检查某些函数中的中间变量,但又不想每次调用函数都用return语句显式返回时,上述函数属性的编写就派上用场了。
2. 函数属性
在Python中,我们可以在for循环中添加else语句。只有在执行过程中循环体中没有遇到break语句时,才会触发else语句。示例代码如下:
my_list=[some , list , containing , five , elements]
min_len=3
对于my_list:中的元素
if len(element) min_len:
print(f 捕捉到一个比{min_len}个字母短的元素)
破裂
else:
打印(f 所有元素至少有{min_len}个字母长
上述代码输出如下:
所有元素至少有3个字母长
观察上面的代码,else在for级别缩进,而不是在if级别。这里,没有一个元素的长度小于3。所以,你永远不会遇到break语句。因此,将触发else子句(在执行for循环之后),并打印上面显示的输出。
class="maodian">
4. int型分隔符
一般来说,从视觉效果上看人眼很难分辨出数字10000000 和100000000 ,在Python中我们不能像英语那样直接使用逗号分隔符来将数字隔开,这是因为Python会将逗号分隔开的数字解释为多个整数的元组。
但是,Python也有一种方便的方式来处理这种情形:我们可以使用下划线当做分隔符来提升数字的可读性,此时数字1_000_000将被解释成整形数字并增加了可读性。
代码样例如下:
a = 3250b = 67_543_423_778
print(type(a))
print(type(b))
print(type(a)==type(b))
运行结果如下:
<class 'int'>
<class 'int'>
True
5. eval() and exec()
Python 具有动态读取字符串并将其视为一段 Python 代码的能力。这主要是通过使用 eval() 和 exec() 函数来实现的(eval用于评估表达式,exec用于执行语句)。
代码举例如下:
a = 3b = eval(a + 2)
print(b =, b)
exec(c = a ** 2)
print(c is, c)
运行结果如下:
b = 5
c is 9
上述代码中,eval() 函数将输入字符串作为 Python 表达式读取,对其求值,并将结果分配给变量b。同时,exec() 函数将输入字符串作为 Python 语句读取并执行。
6. 省略号
省略号或…是 Python 的内置常量,类似于 None、True、False 等内置常量。它可以以不同的方式使用,包括但不限于:
6.1 占位符
和 pass 类似,省略号可以在代码没有写完整的时候用作占位符,举例如下:
def some_function():...
def another_function():
pass
6.2 numpy数组中用于切片
NumPy中使用省略号可以对数组进行切片。以下代码显示了对 NumPy 数组进行切片的两种等效方法:
import numpy as npa = np.arange(16).reshape(2,2,2,2)
print(a[..., 0].flatten())
print(a[:, :, :, 0].flatten())
结果如下:
[ 0 2 4 6 8 10 12 14]
[ 0 2 4 6 8 10 12 14]
7.总结
Python 不仅是一门有用的语言,而且是一门非常有趣的语言。我们都忙于生活工作,但为了更好地了解语言本身的一些特性并没有什么坏处。在本文中,重点介绍了5个Python中隐含的特性,并给出了相关代码的讲解。
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。