
python’
yusuiyu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程、线程、协程(四) 协程实现
eventlet:https://www.cnblogs.com/zmlctt/p/4208928.html转载 2019-07-15 11:32:12 · 159 阅读 · 0 评论 -
Python 魔法方法(七) __miss__ 无中生有的方法
通常,字典访问一个不存在的键时,会抛错 KeyError。这样带来的好处是,系统通知我们访问了一个不存在的键,我们回去检查错误的原因。但是坏处就是,程序运行中断。想知道有没有这个key,又不想抛错中断,用的最多的就是.get()方法,若key存在,则返回对应的value,若不存在可以指定返回值,默认是None。好了,有了.get()方法,我们就可以在抛错的边缘疯狂试探了。...原创 2019-06-22 12:00:38 · 767 阅读 · 0 评论 -
Python 异常捕获结构中finally陷阱
try-except-else-finally,这种语法经常用来捕获异常,但是对这个结构理解不到位可能会带来意料之外的输出。else是在没捕获到异常的时候会执行,这个基本语法逻辑不用细说。但是无论是否抛出异常,最终一定会执行finally,所以在finally中的处理还是挺关键的。1、保证finally中不要出现异常def f(): try: rai...原创 2019-04-17 19:59:09 · 1551 阅读 · 0 评论 -
进程、线程、协程(三) 多线程实现
Threading 是Tread的封装。一般调用多线程库都会调用Threading模块。Threading模块提供的类:Thread,Lock,Rlock,Condition, Semaphore, Event, Timer, local。threading 模块提供的实例方法:threading.currentThread(): 返回当前的线程变量。threading.enume...原创 2019-04-15 19:01:05 · 327 阅读 · 0 评论 -
进程、线程、协程(一) 相关概念归纳
进程进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。进程调度由操作系统控制。进程是资源竞争的基本单位。优点:同时利用多个cpu,能同时进行多个操作。缺点:耗费内存空间;进程间不共享任何状态;进程通讯需要内核参与,通讯效率低;上下文进程间切换开销大线程线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最...原创 2019-03-06 20:16:51 · 201 阅读 · 0 评论 -
Python 魔法方法(三) __getattr__,__setattr__, __delattr__
1、__getattr__当我们访问一个不存在的属性的时候,会抛出异常,提示我们不存在这个属性。而这个异常就是__getattr__方法抛出的,其原因在于他是访问一个不存在的属性的最后落脚点,作为异常抛出的地方提示出错再适合不过了。看例子,我们找一个存在的属性和不存在的属性。class A(object): def __init__(self, value): ...原创 2019-02-26 20:27:03 · 24582 阅读 · 3 评论 -
Python 魔法方法(六) 从__mro__ 了解类多继承顺序和原理
__mro__:python 类有多继承特性,如果继承关系太复杂,很难看出会先调用那个属性或方法。为了方便且快速地看清继承关系和顺序,可以用__mro__方法来获取这个类的调用顺序。举例class X(object):passclass Y(object):passclass A(X, Y):passclass B(Y):passclass C(A, B):passp...原创 2019-03-01 19:07:27 · 8596 阅读 · 0 评论 -
Python 魔法方法(五) 从__get__,__set__, __delete__再探属性访问顺序
这里需要先说一下描述符的概念。描述符:描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),__set__(),__delete__()中的一个,这也被称为描述符协议。描述符分数据描述符,只有__get__的描述符是非数据描述符,有__get__和__set__的描述符是数据描述符。__get__(self, instance, owner)—获取属性时调用,返...原创 2019-02-28 21:35:36 · 1227 阅读 · 2 评论 -
Python 魔法方法(四) 从__getattribuye__初探属性访问顺序
属性访问,首先要区分类属性和实例属性。可以用__dict__方法来查看。比如:class A(object): name = "unchange." #类属性 def __init__(self): self.value = 10 #实例属性a = A()print a.__dict__# {'value': 10}print A.__dic...原创 2019-02-27 20:44:49 · 330 阅读 · 0 评论 -
Python 魔法方法(二) __str__() 和 __repr__()
两个方法的作用:将类信息转换成字符串形式的内容,让用户和开发人员获得类的更多信息。 先看例子>>> class A: pass >>> a1 = A()>>> a1<__main__.A object at 0x000000000302C358> >>> print(a1)&l原创 2019-02-22 20:33:48 · 389 阅读 · 0 评论 -
子字符串检索:find()和re正则匹配
一、find()方法1、基本语法S.find(sub, start=None, end=None) -> int参数解释:S:被检索的字符串sub:子字符串start:在S中检索的起始位置end:在S中检索的结束位置返回结果是int类型2.用法示例line = "this is fish."print line.find('fish')#8#<...原创 2019-02-16 16:48:17 · 18860 阅读 · 0 评论 -
Python 魔法方法(一) __new__()
首先,只有新式类才有魔法方法__new__(),从Object类继承的子类,都是新式类。object类关于__new__()的定义如下:@staticmethod # known case of __new__ def __new__(cls, *more): # known special case of object.__new__ """ T.__new__...原创 2019-02-21 20:40:08 · 4246 阅读 · 1 评论