大多数程序员不知道的令人难以置信的功能列表。
Python 是顶级编程语言之一,它具有许多程序员从未使用过的许多隐藏功能。在这篇博客中,我将分享你可能从未使用过的13 个 Python 特性。
1、列表Stepping
这是一个 step 参数,可以通过采取几个步骤来分割你的列表。此外,你可以使用 step 参数来反转整数。看看下面的代码示例:
# 列表Stepping
data = [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 = "Hello From Python"
print(x.find("Python")) # 0
print(y.find("From")) # 6
print(y.find("From Python")) #6
3、iter()函数
iter()
方法对于没有任何循环帮助的迭代列表很有用。这是一个内置方法,因此你不需要任何模块:
# Iter()
values = [1, 3, 4, 6]
values = iter(values)
print(next(values)) # 1
print(next(values)) # 3
print(next(values)) # 4
print(next(values)) # 6
4、Python中的文档测试
Doctest 功能将让你测试你的功能并显示你的测试报告。如果你检查下面的示例,你需要在三引号中编写一个测试参数,如下所示:
# Doctest
**from** doctest **import** testmod
**def** **Mul**(x, y) -> int:
"""
这个函数返回 x 和 y 参数的 mul
调用函数,然后是预期的输出:
>>> Mul(4, 5)
20
>> > Mul(19, 20)
39
"""
**return** x * y
# 调用 testmod 函数
testmod(name='Mul', verbose=**True**)
输出:
Trying:
Mul(4, 5)
Expecting:
20
ok
Trying:
Mul(19, 20)
Expecting:
39
**********************************************************************
File "__main__", line 10, **in** Mul.Mul
Failed example:
Mul(19, 20)
Expected:
39
Got:
380
1 items had no tests:
Mul
**********************************************************************
1 items had failures:
1 of 2 **in** Mul.Mul
2 tests **in** 2 items.
1 passed **and** 1 failed.
***Test Failed*** 1 failures.
5、Yield声明
Yield
语句是 Python 的另一个令人惊叹的特性,它的工作方式类似于 return 语句,但它不是终止函数并返回,而是返回到它返回给调用者的点:
# Yield声明
**def** **func**():
print(1)
**yield** 1
print(2)
**yield** 2
print(3)
**yield** 3
**for** call **in** func():
**pass**# 输出
# 1
# 2
# 3
6、处理字典缺失键
有时我们正在访问的键不存在于字典中,这会导致键错误。为了处理丢失的键,我们可以使用get() 方法而不是括号方法:
# 处理字典中的缺失值
dict_1 = {1:"x",2:"y"}
# 不要使用get
print(dict_1[3]) # key error
# 使用get print(dict_1.get(3)) # None
7、For/Else和While/Else
你知道 Python 还支持带有 For 和 While 循环的 Else 吗?当你的循环完成其迭代而没有任何中断时,将执行此 else 语句。
下面的 For 循环示例 else 将执行,但在 While 循环中,我添加了一个不会触发 else 语句的 break 语句:
# 为/否则 for x in range(5):
print(x)
**else**:
print("Loop Completed") # 执行# While / Else
i = 0
**while** i < 5:
**break**
**else**:
print("Loop Completed") # 未执行
8、命名字符串格式化
此功能将替换字符串占位符中的值。当你需要在字符串的不同占位符中添加值时,这会派上用场:
# 命名格式化字符串
a = "Python"
b = "工作"# Way 1
string = "I looking for a {} Programming {}".format(a, b)
print(string) # I looking for a Python Programming Job
#Way 2
string = f"I looking for a {a} Programming {b}"
print(string) # I looking for a Python Programming Job
9、设置递归限制
这是 Python 的另一个很棒的特性,它可以让你设置 Python 程序的递归限制。请查看以下代码示例以更好地理解:
# 设置递归限制
**import** sys
sys.setrecursionlimit = 2000
print(sys.getrecursionlimit) # 2000
10、条件参数
条件赋值功能使用三元运算符,可以根据特定条件在变量中赋值。看看下面的代码示例:
# 条件参数
x = 5 **if** 2 > 4 **else** 2
print(x) # 2
y = 10 **if** 32 > 41 **else** 24
print(y) # 24
11、参数拆包
你可以解压缩函数中的任何可迭代数据参数。看看下面的代码示例:
# 参数解包 def func(x, y):
print(x, y)
list_1 = [100, 200]
dict_1 = {'x':300, 'y':400}
func(*list_1)
func(**dict_1)
# 输出
# 100 200
# 300 400
12、Hello World!
如果你键入以下代码并运行它,这是一个有趣的功能。Python 会用两个著名的词来迎接你。试试看。
**import** __hello__
以上就是“12个可能未使用过的Python特性”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。