python
文章平均质量分 59
qq_41829451
这个作者很懒,什么都没留下…
展开
-
python学习笔记
python 有三元表达式:真值if条件else假值 。例:x = x+1 if x%2==1 else x;def fn(n): return n if n < 2 else fn(n-1)+fn(n-2)静态与动态语言区别:是否需要编译是检查,数据类型能否动态改变。与或非与当乘法,或当加法python垃圾回收机制是查看引用计数,continue和break只影响最近的嵌套循环py...原创 2018-03-25 21:30:51 · 182 阅读 · 0 评论 -
线程同步
线程同步线程同步概念EventLock加锁、解锁锁的应用场景非阻塞锁使用可重入锁ConditionBarrierBarrier实例:Barrier应用简单理解semaphore 信号量应用举例问题信号量和锁的比较数据结构和GIL概念线程同步,线程间协同,通过某种技术,让一个线程访问某些数据时,其它线程不能访问这些数据,...原创 2018-05-27 21:42:06 · 170 阅读 · 0 评论 -
进程与线程
进程与线程进程与线程对于线程和进程的理解线程和进程的比较线程的状态Python中的线程开发Thread类线程启动线程退出threading的属性和方法Thread实例的属性和方法多线程线程安全daemon线程和non-daemon线程join方法threading.local类定时器 Timer/延迟执行对于线程和进程的理解...原创 2018-05-27 16:39:34 · 500 阅读 · 0 评论 -
Python魔术方法(一)
__name__ 类,函数,方法等的名字__module__ 类定义所在的模块名__class__ 对象或类所属的类__bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序__doc__ 类,函数的文档字符串,如果没有定义则为None__mro__ 类的mro,class.mro()返回的结果保存在__mro__中__dict__ 类或实例的属性,可写的字典查看属性__dir__ 返回...原创 2018-05-15 22:21:01 · 452 阅读 · 0 评论 -
Python面向对象相关理论
面向对象3要素1.封装:将数据和操作组装到一起,隐藏数据。2.继承:多复用,多继承少修改。3.多态:动态绑定。Python的类定义:1.必须使用class关键字.2.类名必须使用大驼峰命名。3. 类定义完成后,就产生了一个类对象,绑定到了标识符ClassName上。类对象及类属性类对象:类的定义就会生成一个类对象。类的属性:类定义中的变量和类中定义的方法都是类的属性。类变量:类所生成的变量.实例变...原创 2018-05-07 22:16:08 · 116 阅读 · 0 评论 -
Python魔术方法(二)
反射相关的魔术方法__getattr__() 获取属性,类的属性会按照MRO顺序找,找不到的话会执行getattr()方法,未设置的话,则会抛出AttributeError异常。__setattr__() 设置属性,拦截对属性的增加,修改操作,属性要加到实例的dict()中,需要自己完成.__delattr__() 可以阻止通过实例删除属性的操作,但是通过类依然可以删除属性。__g...原创 2018-05-19 19:34:14 · 173 阅读 · 0 评论 -
Python path路径相关处理
3.4版本之前os.path 模块os.path.join('a','b','c') 返回一个当前路径下的a/b/c路径字符串,可根据环境系统自动更换/和\。path.exists(p) 检查p路径是否真实存在path.split(path.abspath(p)), 将p路径切为父目录和基目录path.dirname(p) 返回p的父目录path.basename(p) 返回p的基目录path.s...原创 2018-04-24 21:30:29 · 2992 阅读 · 0 评论 -
Python正则表达式
\w 匹配[a-zA-Z0-9_],包括中文的字\s,匹配1位空白字符,包括换行符、制表符、空格[\f\r\n\t\v ]\d [0-9]一位数字。\b 匹配单词的边界。. 匹配换行符外的任意一个字符。[abc] 匹配字符集合内的任意一个字符。[^abc] 匹配不在字符集内的任意一个字符。次数匹配* 匹配前面字符任意次+ 匹配前面的正则表达式至少一次。? 匹配前面的正则表达式0或者1次。{n} 重...原创 2018-05-01 20:41:43 · 129 阅读 · 0 评论 -
Python字典相关操作
字典的特点:可变,无序,key不重复字典的定义:dict()或d = {}dict(**kwargs)dict.fromkeys(iterable,value),可迭代对象的元素必须是一个二元结构dict(mapping,**kwargs) 使用一个字典构建另一个字典类方法dict.fromkeys(iterable, value)字典元素的访问d[key] 返回key对应的值,key不存在时抛出...原创 2018-04-03 20:22:52 · 271 阅读 · 0 评论 -
python函数相关
函数的定义为:def func1(a,b,c = 1,*args,d **kwargs): pass函数定义中的参数,称谓形参,而其中a,b称为位置参数, c和d称为关键字参数,若按顺序传参的话,c可以作位置参数来传递实参,而d由于位于可变参数之后,所以只能作为关键字参数来传入实参,而且可变参数前的参数必须是关键字参数位于位置参数之后。参数列表参数一般顺序是,普通参数、缺省参数、可变位置参...原创 2018-04-16 14:46:15 · 135 阅读 · 0 评论 -
快速排序的简单实现
import random def quick_sort(L): if len(L) <= 1: return L return quick_sort([lt for lt in L[1:] if lt < L[0]]) + L[0:1]+ \ quick_sort([ge for ge in L[1:] if ge >= L[0]]...转载 2018-04-03 08:57:30 · 111 阅读 · 0 评论 -
Python异常处理相关
except Exception as e: statment捕获除与程序退出相关以外的所有异常。except: starment捕捉所有异常,包括键盘中断和程序退出的异常,但这些一般并非我们所需要。try 也支持else语句,但必须跟在最后一个的except后面,如果try的语句没有引发异常,会执行else子句中的语句。try:finally:无论是否出现错误,都必须执行该代码。如果...原创 2018-04-01 22:09:37 · 156 阅读 · 0 评论 -
Python内置函数的any()和all()
两个函数的对象都是可迭代对象。all():"迭代对象中有‘假’即为False,全‘真’的话为True,iterable为空是True,可近似理解为 与"。def all(iterable): for element in iterable: if not element: return False return Trueany():"迭代...原创 2018-04-01 22:08:56 · 386 阅读 · 0 评论 -
Python字符串的分割
分割字符串的方法分为两类,split,partitionsplit默认多次切割,返回一个列表。partition只进行一次切割,返回包括分割字符在内的三元元组,若没有匹配,则返回原字符串和两个空字符穿的元组,原字符串在最前面。splitline([keepends]),按行分隔符,keepends默认为False,设置为True的话,可以保留分隔符...原创 2018-04-01 22:06:06 · 687 阅读 · 0 评论 -
Python文件操作
文件操作文件操作文件IO常见操作打开操作open的参数read行读取writeclose其他上下文管理文件IO常见操作 命令 功能 open 打开 read 读取 write 写入 close 关闭 readline 行读取 readlines 多行读取...原创 2018-06-01 20:25:37 · 929 阅读 · 0 评论