首页 > 编程语言 >Python语法——增加代码可读性

Python语法——增加代码可读性

时间:2025-01-03 17:11:19浏览次数:5  
标签:node run 可读性 Python xxx 语法 int command print

类型注释

增加代码可读性

from typing import List, Dict, Set, Union, Optional

def add_enter(b: str) -> str:
    return b + '\n'
def parse_data(data):
    total = 0
    for k, vs in data.items():
        if k[1]:
            for v in vs:
                total += v
    return total
def parse_data(data: Dict[Tuple[str, int], List[int]):
    total = 0
    for k, vs in data.items():
        if k[1]:
            for v in vs:
                total += v
    return total

可以单独对变量进行注释

data: Dict[int, List[int]] = {1: [2, 2, 2]}

Union:
支持多种数据类型,如Union[int, str]
Optional:
可能为该数据类型,或者为None,如:Optional[int]

备注:Python最新版序列初始化函数可以直接用于注释:如:list、dict、set,可用“|”替换Union。

data: dict[int, list[int]] = {1: [2, 2, 2]}
b: bool | int | str = 0

with语法

增加代码可读性

with open('xxx.txt') as fw:
    pass

让类支持with语法

class A:
    def __enter__(self):
        print(1)

    def __exit__(self, exc_type, exc_val, exc_tb):
        print(2)

a = A()
with a:
    print(3)

with a:
    print(4)
vm.login()
node.run({'command': ['xxx']})
node.run({'command': ['xxx']})
node.run({'command': ['xxx']})
node.run({'command': ['xxx']})
node.run({'command': ['xxx']})
vm.logout()
with vm:
    node.run({'command': ['xxx']})
    node.run({'command': ['xxx']})
    node.run({'command': ['xxx']})
    node.run({'command': ['xxx']})
    node.run({'command': ['xxx']})

用逻辑关键字简化语句

简化分支语句

and: 左侧语句为False后,不执行右侧,直接返回False
or: 左侧语句为True后,不执行右侧,直接返回True

if a:
    print('a != 0')
# 以上语句等效于
a and print('a != 0')
if not a:
    print('a == 0')
# 以上语句等效于
a or print('a == 0')

简化赋值语句

示例:想让参数a默认为列表

def func(a = None):
    if not a:
        a = []
    a.append(1)
    return a

一个默认参数可能不明显

def func(a = None, b = None, c = None):
    if not a:
        a = []
    if not b:
        b = set()
    if not c:
        c = {}
    ...
def func(a = None, b = None, c = None):
    a = a or []
    b = b or set()
    c = c or {}
    ...

标签:node,run,可读性,Python,xxx,语法,int,command,print
From: https://www.cnblogs.com/roundfish/p/18650565

相关文章

  • python毕设 网上商城购物系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于网上商城购物系统的研究,现有研究主要集中在系统的整体架构、用户体验优化等方面,多以大型电商平台为研究对象。专门针对使用Python......
  • 淘宝店铺商品数据洞察:利用Python爬虫获取item_search_shop接口
    引言在电子商务的世界里,商品详情页是连接商家与消费者的重要桥梁。它不仅展示了商品的详细信息,还直接影响着消费者的购买决策。淘宝作为全球知名的电商平台,提供了丰富的API接口,使得开发者能够获取商品的详细信息。本文将探讨如何利用JAVA爬虫技术,获取淘宝的item_get_pro接口,以......
  • WxPython跨平台开发框架之模块字段权限的管理
    在我的很多Winform开发项目中,统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(工具栏、按钮、菜单权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严格的系统里面涉及到的,可以对部分用户隐藏一些敏感的信息,或者禁止不够权限的用户编辑......
  • 淘宝店铺商品数据洞察:利用Python爬虫获取item_search_shop接口
    引言在电商领域,数据的力量不容小觑。对于淘宝店铺而言,掌握店铺内所有商品的数据,对于优化库存、提升销售策略、增强用户体验等方面都至关重要。本文将探讨如何利用Python爬虫技术,获取淘宝的item_search_shop接口,以获得店铺的所有商品信息,包括商品ID、名称、价格、库存量等关键数据......
  • 新年到了!使用Python创建一个简易的接金元宝游戏
    引言在本教程中,我们将一起学习如何使用Python编程语言和Pygame库来创建一个简单的休闲游戏——“接金元宝”。准备工作 首先,确保你的计算机上已经安装了Python(推荐3.6以上版本)和Pygame库。如果还没有安装Pygame,可以通过pip命令轻松安装:pipinstallpygame没有安装的可......
  • python中的优先队列
    在Python中,优先队列(PriorityQueue)是一个可以随时获取队列中最大(或最小)元素的数据结构。Python的标准库heapq提供了一个实现最小堆的优先队列,默认情况下是最小堆,但可以通过一些技巧来实现最大堆。优先队列在算法中常用于求解最短路径、合并有序链表、求解k个最小/最大的元......
  • [oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
    python中下划线是什么意思_underscore_理解_声明与赋值_改名字回忆上次内容上次了解到已有的函数名、类名、模块名不适合覆盖了赋新值会失去原有功能比如max   添加图片注释,不超过140字(可选) 如果我就想让max当......
  • 从零开始:Python 新增的注解功能(Type Hints)
    适用读者:对Python有一定基础,想了解Python注解(TypeHints)以及它在代码可读性、调试与维护方面的作用的朋友们。一、什么是Python注解(TypeHints)?简单来说,**Python注解(TypeHints)**就是在变量或函数上标记“希望(或建议)它是某种类型”,从而帮助我们和其他开发者更好地理......
  • python毕设 图书管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于图书管理系统的研究,现有研究主要以传统管理方式向数字化管理的转型为主,专门针对使用Python构建图书管理系统的研究相对较少。在国......
  • python毕设 网上订餐系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于网上订餐系统的研究,现有研究主要以订餐流程优化、用户体验提升等为主。在国内外,虽然网上订餐系统已经广泛存在且被大量使用,但专门......