python中那些可以让你减少if-else的操作

简介: python中那些可以让你减少if-else的操作
设计映射关系
def doSomething(condition):
    if condition == 0:
        work()
    else if condition == 1:
        study()
    else if condition == 2:
        palyGames()
    ...

显然可以设计一个映射关系,可以让结构更加清爽。

def doSomethin(condition):
    mapDict = {0:work, 1:study, 2:playGames}
    result = mapDict[condition]()
setdefault 仅限操作字典结构

这个函数通常使用在:当作为服务端接收客户端消息,而客户端的信息通常会设计成jason格式,而服务端解析成字典格式后,需要判断某个key是否在传过来的信息中。如果不使用这个函数,你会发现自己将需要使用很多if判断,或者静态断言。比如

def getInfoFromRequest(request):
    if 'name' in request.keys():
        doSomethingAboutHaveName(request['name'])
    else:
        doSomethingAboutNoName()
    if 'age' in request.keys():
        doSomethingAboutAge(request['age'])
    else:
        doSomethingAboutNoAge()
     ...

这样会让自己的代码结构臃肿不堪,如果采用setdefault可以先在消息检查函数中检查一遍,给某些约定好的字段一个默认值,就不用担心没有该字段的值,导致一些业务层面的错误。

def check(request):
    setdefault(request['name'],'qiu')
    setdefault(request['age'],'25')
    ...
def getInfoFromRequest(request):
    check(request)
    doSomethingAboutHaveName(request['name'])
    doSomethingAboutAge(request['age'])
  ...

这样改后,消除了if判断,即使客户端没有正确的字段信息,也可以保证执行顺序按计划进行。

参考文档

Python项目代码太多if-else? 这样优化才优雅!

相关文章
|
2月前
|
Java Python
Python if-else嵌套!
本文详细介绍了Python中的条件语句,包括`if`、`if...else`、嵌套`if`及`if-elif`语句。`if`语句在条件为真时执行特定代码块,`if...else`则在条件为假时执行备选代码块。嵌套`if`语句允许在一层`if`语句内嵌套另一层`if`语句,实现更复杂的条件判断。`if-elif`语句简化了多条件判断的流程。文章通过多个示例演示了这些语句的使用方法,并讨论了常见问题,如在嵌套`if`中使用`elif`以及`if`语句的嵌套层次等。
71 3
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
39 0
|
5月前
|
存储 监控 数据处理
💻Python高手必备!文件系统操作秘籍,让你的数据存取如臂使指
【7月更文挑战第29天】在数据驱动时代, Python以简洁语法、丰富库生态和强大跨平台能力, 成为数据科学等领域首选。本文探讨Python文件系统操作秘籍, 助力高效数据处理。
53 11
|
5月前
|
索引 Python
Python的列表操作有哪些?
Python的列表操作非常丰富,包括列表的创建、元素的访问、修改、添加、删除、切片、排序等多个方面。
49 12
|
5月前
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
151 3
|
5月前
|
数据挖掘 数据处理 Python
🔍深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
【7月更文挑战第29天】深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
42 3
|
5月前
|
安全 数据安全/隐私保护 Python
|
5月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
5月前
|
API Python
Python高手修炼手册:精通文件系统操作,掌控I/O管理,提升编程效率
【7月更文挑战第30天】在 Python 编程中, 文件系统操作与 I/O 管理是连接程序与数据的关键。初学者常因路径错误和权限问题受挫, 而高手能自如管理文件。传统 `os` 和 `os.path` 模块易出错, `pathlib` 提供了更直观的对象导向 API。I/O 方面, 同步操作会阻塞程序, 异步 (如使用 `aiofiles`) 则能大幅提升并发能力。真正的高手不仅掌握 API, 更能预见性能瓶颈并优化代码, 实现高效与优雅。
45 1