享受每一天,Just Enjoy !

0%

老司机都知道的Python语法小技巧 (三) 放弃 if-elif

大家新年好呀,今天再来说下Python老司机常用的小技巧,让你告别‘乏味的’if-elif,话不多说直接来看一个输出今天周几的例子

本文首发于伊洛的个人博客:https://yiluotalk.com,欢迎关注并查看更多内容!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 伊洛Yiluo
# https://yiluotalk.com

import datetime

week_day = datetime.date(2020, 1, 2)

if week_day.weekday() == 0:
print('今天是星期一')
elif week_day.weekday() == 1:
print('今天是星期二')
elif week_day.weekday() == 2:
print('今天是星期三')
elif week_day.weekday() == 3:
print('今天是星期四')
elif week_day.weekday() == 4:
print('今天是星期五')
elif week_day.weekday() == 5:
print('今天是星期六')
elif week_day.weekday() == 6:
print('今天是星期日')
  • weekday()函数返回的是当前日期所在的星期数
  • 运行看以下结果
    1
    2
    3
    今天是星期四

    Process finished with exit code 0
  • 没错今天就是周四
  • 可以看到上面的代码看上去好像很复杂而且码代码的时候也很容易出现错误,比如你入门python的时候肯定会做一些类似于工资计算器的小程序,你计算公积金或者税率工资分段的时候要不断的用到if-elif,这样很容易出现错误
  • 那么有没有更好的方式避免或者优化呢
  • 当然作为python老司机的话都会用到调度表
  • 简单来看一个例子
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # 伊洛Yiluo
    # https://yiluotalk.com

    import datetime

    dispatch = {
    0: '今天是星期一',
    1: '今天是星期二',
    2: '今天是星期三',
    3: '今天是星期四',
    4: '今天是星期五',
    5: '今天是星期六',
    6: '今天是星期日'
    }

    week_day = datetime.date(2020, 1, 2)

    print(dispatch[week_day.weekday()])
  • 这里其实就是一个python的字典
  • 看上去是不是稍微的简洁简化了呢
  • 重要的是会避免出错(当你if-elif很多的情况下,就一定会有这种体会了)
  • 最后来输出看看结果
    1
    2
    3
    今天是星期四

    Process finished with exit code 0
  • 结果一致,适当的放弃if-elif吧,让你的代码不仅美观还少出错

在这里插入图片描述

欢迎下方【戳一下】【点赞】
Author:伊洛Yiluo
愿你享受每一天,Just Enjoy !

关注公众号获取更多内容