大多数程序员不知道的令人难以置信的功能列表。

Python 是顶级编程语言之一,它具有许多程序员从未使用过的许多隐藏功能。在这篇文章中,我将分享你可能从未使用过的13 个 Python 特性。

1.列表Stepping

这是一个 step 参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用 step 参数来反转整数。看看下面的代码示例:

#列表Steppingdata=[10,20,30,40,50]print(data[::2])#[10,30,50]print(data[::3])#[10,40]#使用stepping翻转列表print(data[::-1])#[50,40,30,20,10]

2.find() 方法

find() 方法是一个很棒的功能,可以查找字符串中任何字符的任何起始索引号:

#查找方法x="Python"y="HelloFromPython"print(x.find("Python"))#0print(y.find("From"))#6print(y.find("FromPython"))#6

3.iter()函数

iter() 方法对于没有任何循环帮助的迭代列表很有用。这是一个内置方法,因此你不需要任何模块:

#Iter()values=[1,3,4,6]values=iter(values)print(next(values))#1print(next(values))#3print(next(values))#4print(next(values))#6

4.Python 中的文档测试

Doctest 功能将让你测试你的功能并显示你的测试报告。如果你检查下面的示例,你需要在三引号中编写一个测试参数,如下所示:

#DoctestfromdoctestimporttestmoddefMul(x,y)->int:"""这个函数返回x和y参数的mul调用函数,然后是预期的输出:>>>Mul(4,5)20>>>Mul(19,20)39"""returnx*y#调用testmod函数testmod(name='Mul',verbose=True)

输出:

Trying:Mul(4,5)Expecting:20okTrying:Mul(19,20)Expecting:39**********************************************************************File"__main__",line10,inMul.MulFailedexample:Mul(19,20)Expected:39Got:3801itemshadnotests:Mul**********************************************************************1itemshadfailures:1of2inMul.Mul2testsin2items.1passedand1failed.***TestFailed***1failures.

5.Yield声明

Yield语句是 Python 的另一个令人惊叹的特性,它的工作方式类似于 return 语句,但它不是终止函数并返回,而是返回到它返回给调用者的点:

#Yield声明deffunc():print(1)yield1print(2)yield2print(3)yield3forcallinfunc():pass#输出#1#2#3

6.处理字典缺失键

有时我们正在访问的键不存在于字典中,这会导致键错误。为了处理丢失的键,我们可以使用get() 方法而不是括号方法:

#处理字典中的缺失值dict_1 ={1:"x",2:"y"}#不要使用getprint(dict_1[3])#keyerror#使用getprint(dict_1.get(3))#None

7.For/Else 和 While/Else

你知道 Python 还支持带有 For 和 While 循环的 Else 吗?当你的循环完成其迭代而没有任何中断时,将执行此 else 语句。

下面的 For 循环示例 else 将执行,但在 While 循环中,我添加了一个不会触发 else 语句的 break 语句:

#为/否则forxinrange(5):print(x)else:print("LoopCompleted")#执行#While/Elsei=0whilei<5:breakelse:print("LoopCompleted")#未执行

8.命名字符串格式化

此功能将替换字符串占位符中的值。当你需要在字符串的不同占位符中添加值时,这会派上用场:

#命名格式化字符串a="Python"b="工作"#Way1string="Ilookingfora{}Programming{}".format(a,b)print(string)#IlookingforaPythonProgrammingJob#Way2string=f"Ilookingfora{a}Programming{b}"print(string)#IlookingforaPythonProgrammingJob

9.设置递归限制

这是 Python 的另一个很棒的特性,它可以让你设置 Python 程序的递归限制。请查看以下代码示例以更好地理解:

#设置递归限制importsyssys.setrecursionlimit=2000print(sys.getrecursionlimit)#2000

10.条件参数

条件赋值功能使用三元运算符,可以根据特定条件在变量中赋值。看看下面的代码示例:

#条件参数x=5if2>4else2print(x)#2y=10if32>41else24print(y)#24

11.参数拆包

你可以解压缩函数中的任何可迭代数据参数。看看下面的代码示例:

#参数解包deffunc(x,y):print(x,y)list_1=[100,200]dict_1={'x':300,'y':400}func(*list_1)func(**dict_1)#输出#100200#300400

12.Hello World!

如果你键入以下代码并运行它,这是一个有趣的功能。Python 会用两个著名的词来迎接你。试试看。

import__hello__

13.多行字符串

此功能将向你展示如何编写不带三引号的多行字符串。看看下面的代码示例:

#多行字符串str1="你是否正在寻找免费的Python学习材料"\"欢迎来到"\"公众号Python专栏"print(str1)

更多精彩教程欢迎B站搜索“千锋教育”

千锋教育Python全套视频教程,轻松掌握Excel、Word、PPT、邮件、爬虫、office办公自动化(宋如宁主讲)