• 这 13 个可能是你一直未使用过的超级棒的 Python 用法


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

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

    技术提升

    本文由技术群粉丝分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

    方式①、添加微信号:dkl88191,备注:来自CSDN +研究方向
    方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
    
    • 1
    • 2

    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]  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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)  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    输出:

    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.  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    6.处理字典缺失键

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

    # 处理字典中的缺失值  
    dict_1 = {1"x"2"y"}  
    # 不要使用get  
    print(dict_1[3]) # key error  
    # 使用get  print(dict_1.get(3)) #  None
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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") # 未执行  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    9.设置递归限制

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

    # 设置递归限制  
    import sys  
    sys.setrecursionlimit = 2000  
    print(sys.getrecursionlimit) # 2000  
    
    • 1
    • 2
    • 3
    • 4

    10. 条件参数

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

    # 条件参数  
    x = 5 if 2 > 4 else 2  
    print(x) # 2  
    y = 10 if 32 > 41 else 24  
    print(y) # 24  
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    12.Hello World!

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

    import __hello__  
    
    • 1

    13. 多行字符串

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

    # 多行字符串  
    str1= "你是否正在寻找免费的Python学习材料" \   
          "欢迎来到 " \  
          "这里"  
    print(str1)   
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    百趣代谢组学解读,罗氏菌属与肠道褪黑素有何关联?肠道疾病治疗又有新策略!
    如何在Vue3中使用H.265视频EasyPlayer.js流媒体播放器?
    Linux设备驱动模型之SPI
    F (1083) : DS堆栈--行编辑
    Socks5代理IP在网络安全、跨境电商和游戏中的应用
    为什么PDF打开没有密码,但是不能编辑?
    矢量图形编辑软件illustrator 2023 mac软件特点
    Spring中的JdbcTemplate的使用
    正则表达式符号
    Lifted ElGamal 门限加密算法
  • 原文地址:https://blog.csdn.net/m0_59596937/article/details/128070346