语法糖(Syntax Sugar)Python

语法糖让程序更加简洁,有更高的可读性

连续比较 1 < x < 10 (x>1 and x<10)

三元表达式(结果一 if  判断条件 else 结果二)

推导表达式

推导表达式是Python中常见的语法糖,在很多的数据处理场景中,我们可能会使用的到。最常见的就是列表推导表达式,可以用来过滤、处理列表中的子项并输出为一个新的列表。

列表推导式

list = [1,2,3,4,5,6,7,7,6,6,5,5]
print('array before:', list)
array = [i for i in list if i % 2 != 0] #列表推导表达式
print('array after:', array)

字典推导式

q = [1,2,3,4,5,6,7,8,7,8]
print('array before:', q)
array = {i: i * 2 for i in q if i % 2 != 0} #字典推导表达式
print('array after:', array)

集合推导式

q = [1,2,3,4,5,6,7,8,8,9,9,8,4]
print('array before:' q)
array = {i for i in 1 if i % 2 != 0} #集合推导表达式
print('arrar after:', array)

生成器推导表达式

q = [1,2,3,4,5,6,7,7,8,8]
print('array before:', 1)
array = (i for i in q if i % 2 != 0)
print('array after:', array)

迭代器对象(Iterator Object)

        把一个类作为一个迭代器使用需要在类中实现的两个方法 __iter__() 与 __next__()

生成器函数(Generator Function)

        在python中,使用了yield的函数被称为生成器(generator)

def example_generator(q):
    """生成器"""
    for i in q:
        yield i * 2

        跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

        在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在下一次执行next()方法时从当前位置继续运行

        其实for循环就在调用next方法,next是一个相对底层的方法,for循环基于它

        调用一个生成器函数(Generator Function),返回的是一个迭代器对象(Iterator Object)

        装饰器

def example_decorator(func):
    """装饰器"""
    def inner():
        func()
        
    return inner

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值