美文网首页
13.pythonic与python杂记

13.pythonic与python杂记

作者: tomtiddler | 来源:发表于2018-10-01 09:23 被阅读0次

导言

产品是打磨出来的

用字典映射代替switch case 语句

字典内value可以传入函数!!!,但是需要注意函数是可调用的。

day = 2

def get_return_wednesday():
    return "wednesday"

switcher = {
    0: "Sunday",
    1: "Monday",
    2: "Tuesday",
    3: get_return_wednesday
}


dayName = switcher.get(day, "Saturday")() \
    if callable(switcher.get(day, "Saturday")) \
    else switcher.get(day, "Saturday")  # 没有day key也不会报错,会返回默认值”Saturday“
print(dayName)

列表推导式

通过一个一致的集合、列表生成一个新的集合、列表

a = [1, 2, 3, 4, 5, 6, 7, 8]

# for循环  以及 map 都可以完成该功能
print([x**2 for x in a if i >=5])

如果采用推导式,能更灵活地在单语句中添加过滤条件等.map 则需要 filter 组合出该功能

列表推导式并不是只能推导列表,set也可以被推导,如果采用小括号,则编程生成器,变成惰性的迭代器。

字典如何编写列表推导式

翻转字典
b = {value: key for key, value in students.items}

None

1.类型上为空类型 Nonetype
2.取值上为空

if not a: 和 if a is None:是有区别的
因为 a 可能是空的字符串、列表、字典等,此时 not a 为真, a is None 为假。

判空 直接 if a: 或者 if not a:

None表示不存在,False表示真假。

对象存在并不一定是True

class Test():
    def __len__(self):
        return 0

test = Test()

if test:
    print("S")
else:
    print("F")

对于自定义的对象,即使存在也可能返回False。
决定于类的__len____bool__方法

__len____bool__内置方法

影响自定义对象的最终bool取值。
如果两个方法都没定义,类的实例bool值返回True
如果单个len返回0, bool返回False,返回其他数字,返回False。不能返回非整数的其他类型。能返回bool值。
判断对象的True or False
如果加入了__bool__方法,类的实例bool值将由该方法决定。该方法只能返回True 或者 False

判断对象长度,也会调用对象的__len__内置函数

逻辑运算符
Map/Reduce百科:
https://baike.baidu.com/item/MapReduce/133425?fr=aladdin

相关文章

  • 13.pythonic与python杂记

    导言 产品是打磨出来的 用字典映射代替switch case 语句 字典内value可以传入函数!!!,但是需要注...

  • [python︱字符操作杂记

    python︱字符操作杂记(split、zip...)字符串特别是中文在python里面还是有很多需要注意的地方。...

  • python 杂记

    进程 fork()函数Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用...

  • python杂记

    一种设定全局参数的方法import argparse 之后def个 get param的函数 或者不定义函数也行d...

  • Python 杂记 (Python JSON)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。 ...

  • 杂记-2

    杂记(2) 2010-3-25 11:18 与老公相识------相恋------相爱------相拥------...

  • Python 学习杂记

    可变参数 可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个 定义可变参数和定义一个lis...

  • 关于Python杂记

    在使用python的时候,有一些比较常用的函数和功能,但是总是间隔性的使用。这样导致很多重复性的查找python相...

  • python使用杂记

    (1)设置host和port app.run(host='0.0.0.0', port=80)

  • 1、Python-拓展性

    Unity3D 与 Python Processing与 Python RaspberryPi与 Python C...

网友评论

      本文标题:13.pythonic与python杂记

      本文链接:https://www.haomeiwen.com/subject/vwmonftx.html