三元运算符

格式:

真值结果 if 判断语句 else 假值结果

比如:

res = "大于0" if 10 > 0 else "小于0"
print(res)  # 大于0

列表解析

l = ["数字%s" % i for i in range(10)]
ll = ["数字%s" % i for i in range(10) if i > 5]
print(l)        # ['数字0', '数字1', '数字2', '数字3', '数字4', '数字5', '数字6', '数字7', '数字8', '数字9']
print(ll)       # ['数字6', '数字7', '数字8', '数字9']

第二种写法类似三元。

迭代器

迭代器协议和迭代器对象

迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一个,要么引起一个stoplteration异常,用来终止迭代。
迭代对象:实现了迭代器协议的对象(如果实现:对象内部定义了一个__iter__()方法,而__iter__又内置有__next__方法)
协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访问对象。

比如:

a = "hello"
b = a.__iter__()
print(b)                    # <str_iterator object at 0x000001C1541CF860>
print(b.__next__())         # h
print(b.__next__())         # e
print(b.__next__())         # l
print(b.__next__())         # l
print(b.__next__())         # o
print(b.__next__())         # 报错
View Code

相关文章:

  • 2021-07-14
  • 2021-10-27
  • 2022-12-23
  • 2022-12-23
  • 2021-09-10
  • 2021-12-21
  • 2021-10-01
  • 2022-02-20
猜你喜欢
  • 2021-06-22
  • 2021-09-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
相关资源
相似解决方案