热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python优雅的写法,让你事半功倍

Python的优雅写法Python的设计哲学是「优雅」、「明确」、「简单」。这也许很多人选择Python的原因。下面就介绍几种地道的Python方言,让你的代码变得更加的优雅、简洁

Python优雅的写法,让你事半功倍

  • 为多个变量赋值

    我们在需要为多个变量进行赋值的时候,经常会这么写:

    
    height = 20
    weitht = 10
    width = 50
    
    

    在Python中我们可以优雅的写成

    
    height, weight, width = 20, 10, 50
    
    
  • 序列解包

    需要取出一个序列中的各个元素进行打印,通常会这么写:

    
    info = ["steve", "male", 58]
    name = info[0]
    gender = info[1]
    age = info[2]
    
    print(name, gender, age)
    
    

    在Python中我们可以优雅的写成

    
    info = ["steve", "male", 58]
    name, gender, age = info
    print(name, gender, age)
    
    
  • 优雅你的判断语句

    用判断语句定义绝对值函数,通常如下写法:

    
    def my_abs(x):
        if x <0:
            return -x
        else:
            return x
    
    

    在Python中我们可以优雅的写成

    
    def my_abs(x):
    
        return -x if x <0 else x
    
    
  • 区间判断

    使用 and 连续两次判断的语句,条件都符合时才执行语句。我们通常是这么写的:

    
    score = 85
    
    if score >= 80 and socre <90:
        print("B")
    
    

    在Python中可以写的一目了然

    
    score = 85
    
    if 80 <= score <90:
        print("B")
    
    
  • 多个值符合条件判断

    多个值任意一个值符合条件即为 True 的情况, 我们通常的写法:

    
    num = 3
    type = ""
    
    if num == 1 or num == 3 or num == 5 or num == 7:
        type = "奇数"
    
    print(type)
    
    

    在Python中我们可以简洁的写成

    
    num = 3
    type = ""
    
    if num in (1, 3, 5, 7):
        type = "奇数"
    
    print(type)
    
    
  • 判断是否为空

    判断元素是空还是非空。我们一般是用len()函数判断一下长度是不是等于0,不等于0,那就说明是空的,通常是这么写的

    
    a, b, c = [1, 4, 5], {}, ()
    
    if len(a) > 0:
        print("a为非空")
    elif len(b) > 0:
        print("b为非空") 
    elif len(c) > 0:
        print("c为非空")   
    
    

    在Python中,if 后面的执行条件是可以简写的,只要条件 是非零数值、非空字符串、非空 list 等,就判断为 True,否则为 False。所以,我们可以这么写

    
    a, b, c = [1, 4, 5], {}, ()
    
    if a:
        print("a为非空")
    elif b:
        print("b为非空") 
    elif c:
        print("c为非空")   
    
    
  • 多条件内容判断至少一个成立

    通常我们都是使用or来分割条件,都是这么写的

    
    math, english, computer = 89, 88, 90
    
    if math > 60 or english > 60 or computer > 60:
        print("pass")
    else:
        print("fail")
    
    

    在Python中,我们可以使用any函数把判断条件串联起来

    
    math, english, computer = 89, 88, 90
    
    if any(math > 60, english > 60, computer > 60):
        print("pass")
    else:
        print("fail")
    
    
  • 多条件内容判断全部成立

    通常我们都是把需要判断的语句用and来串联起来的,都是这么写的

    
    math, english, computer = 89, 88, 90
    
    if math > 60 and english > 60 and computer > 60:
        print("pass")
    else:
        print("fail")
    
    

    在Python中我们可以使用all函数把判断条件串联起来

    
    math, english, computer = 89, 88, 90
    
    if all(math > 60, english > 60, computer > 60):
        print("pass")
    else:
        print("fail")
    
    
  • 遍历序列的元素和元素下标

    我们通常都是使用for循环进行遍历元素和下标。

    
    L =["math", "English", "computer", "Physics"]
    
    for i in L:
        print(i, ":", L[i])
    
    

    在Python中,我们可以使用enumerate函数,感觉更加的简洁

    
    L =["math", "English", "computer", "Physics"]
    
    for k, v in enumerate(L):
        print(k, ":", v)
    
    
  • 列表生成

    我们通常都是使用for循环,来生成列表的。比如我们要生成一个 [1x1,2x2,3x3,4x4,5x5] 的列表

    
    L = []
    for i in range(1, 5):
        L.append(i * i)
    
    print(L)
    
    

    在Python中,我们可以使用列表推导式,快速的生成这个列表

    
    L = [i * i for i in range(1, 5)]
    print(L)
    
    

推荐阅读
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • Python编程中条件控制下的循环终止机制详解 ... [详细]
  • 本文探讨了一种高效的算法,用于生成所有数字(0-9)的六位组合,允许重复使用数字,并确保这些组合的和等于给定的整数N。该算法通过优化搜索策略,显著提高了计算效率,适用于大规模数据处理和组合优化问题。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 在Java编程中,初始化List集合有多种高效的方法。本文介绍了六种常见的技术,包括使用常规方式、Arrays.asList、Collections.addAll、Java 8的Stream API、双重大括号初始化以及使用List.of。每种方法都有其特定的应用场景和优缺点,开发者可以根据实际需求选择最合适的方式。例如,常规方式通过直接创建ArrayList对象并逐个添加元素,适用于需要动态修改列表的情况;而List.of则提供了一种简洁的不可变列表初始化方式,适合于固定数据集的场景。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 使用Python代码高效生成大规模随机数据集(千万级) ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 在Python编程中,元组(tuple)是一种不可变的数据结构,相较于列表(list),其使用更加简洁高效。本文详细介绍了元组的基本操作和应用场景,包括创建、访问、切片等常用方法,并探讨了元组在提高代码性能和数据安全方面的优势。通过实例解析,读者可以深入了解元组在实际开发中的应用价值。 ... [详细]
  • Python多线程编程技巧与实战应用详解 ... [详细]
  • 在本文中,我们将深入探讨如何使用 Python 的 `for` 循环生成数值列表,并详细解析 `range()` 函数的用法。`range()` 函数用于生成一系列数字,是生成数值列表的重要工具。我们将通过多个示例,展示如何灵活运用 `for` 循环和 `range()` 函数来创建不同类型的数值列表,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
author-avatar
竹茹士弘宜来
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有