Python 常规知识点

本文探讨了进程、线程和协程在调度、上下文切换和资源共享上的差异,强调协程无需加锁访问全局变量。同时,介绍了生成器和迭代器的概念,以及Python中的魔法方法如__str__、__bool__等在操作中的作用。
摘要由CSDN通过智能技术生成

1. 进程/线程/协程区别

    从调度者,上下文切换,效率划分,尤其是对共享资源的访问处理,协程是不用加锁访问全局变量,因为协程是线程内部,用户态,自己定义如何访问,如何主动退出,不会被强占(因为在任意时刻, 只有一个协程运行)。

    参考:https://www.cnblogs.com/chenxiaomeng/p/18061161

2. 生成器和迭代器

    生成器更快(用一次生成一个,yield关键词);

   迭代器的魔法函数 __next__ __iter__ 可以创造一个可迭代对象。

   iter() 和 next()函数可以对可迭代的对象进行遍历以及取下一个值;

   生成器示范: 

           a = [for i in range(100)]

           def generator():
                 i = 0

                 yield i+1 

                 yield i+2 

   参考:https://baijiahao.baidu.com/s?id=1765130041961291442&wfr=spider&for=pc

3. Python 魔法方法

__str__

__str__
__bool__
__eq__
__lt__
__gt__
__add__
__getitem__
__setitem__
__contains__
__len__
__repr__

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值