01 2018 档案
摘要:从 Python 3.4 起,标准库中有两个名为 Future 的类:concurrent.futures.Future 和asyncio.Future。这两个类的作用相同:两个 Future 类的实例都表示可能已经完成或者尚未完成的延迟计算 我们要记住一件事:通常情况下自己不应该创建期物,而只能由
阅读全文
摘要:从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中,yield 通常出现在表达式的右边(例如,datum = yield),可以产出值,也可以不产出——如果 yield 关键字后面没有表达式,那么生成器产出 None。协程可能会从调用方接收数据,不过调用方把数据
阅读全文
摘要:with 语句和上下文管理器for、while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文。这么做能避免错误并减少样板代码,因此 API 更安全,而且更易于使用。除了自动关闭文件之外,with 块还有很多用途 else 子句
阅读全文
摘要:在python中,所有集合都可以迭代,在python语言内部,迭代器用于支持 for循环 构建和扩展集合类型 逐行遍历文本文件 列表推导,字典推导和集合推导 元组拆包 调用函数时,使用*拆包实参 本章涵盖的话题 语言内部使用 iter(...) 内置函数处理可迭代对象的方式如何使用 Python 实
阅读全文
摘要:运算符重载基础 不能重载内置类型的运算符 不能新建运算符,只能重载现有的 某些运算符不能重载 is,and,or和not(不过位运算符&,|和~可以) 一元运算符
阅读全文
摘要:子类化内置类型的缺点 多重集成和方法解析顺序 tkinter
阅读全文
摘要:强类型和弱类型 如果一门语言很少隐式转换类型,说明他是强类型语言。如果经常这么做,说明他是弱类型语言。java, c++和python是强类型语言。PHP,JavaScript和Perl是弱类型语言 静态类型和动态类型 在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态语言。静态类型
阅读全文
摘要:鸭子协议(忽略对象真正类型,转而关注对象有没有实现所需的方法,签名和语义) 标准库中的抽象基类 collections.abc模块中的抽象基类 抽象方法是抽象基类中用来强制子类必须实现的方法,如果子类不实现该方法,则会报错 上述例子中的load,pick属于抽象方法,Tombola的子类必须实现这两
阅读全文
摘要:class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data) @staticmethod def smethod(*arg): print('Static:', arg
阅读全文
摘要:只要实现了__len__和__getitem__两个方法即可将该类视为序列。 切片原理 动态存取属性 如果实现了__getattr__方法,也要定义__setattr__方法,以防对象行为不一致
阅读全文
摘要:首先:下载tinymce 地址是https://www.tinymce.com/ 点击download 下载社区版本即可 接着:把压缩包内tinymce目录内的所有文件和文件夹复制到Django项目中static/js目录内: 然后编辑admin文件 紧接着在/static/js/tinymce/j
阅读全文
摘要:对象表示形式 每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式。Python提供了两种方式 repr()便于开发者理解的方式返回对象的字符串表示形式 str()便于用户理解的方式返回对象的字符串表示形式 要实现__repr__,__str__特殊方法为repr(),str()提供支持
阅读全文
摘要:变量不是盒子 在==和is之间选择 ==比较两个对象的值,而is比较对象的标识 元组的相对不可变姓 元组与多数的python集合(列表,字典,集,等等)一样,保存的是对象的引用。如果引用的元素是可变的,即便元组本身不可变,元素依然可变。元组的不可变姓其实是值tuple数据结构的物理内容(保存的引用)
阅读全文
摘要:本章讨论的话题 python如何计算装饰器句法 python如何判断变量是不是局部的(通过函数内部是否给变量赋值过来判断是否是局部变量) 闭包存在的原因和工作原理(闭包是一种函数,它会保留定义函数时存在的自由变量的绑定,这样调用函数时,虽然定义作用域不可用了,但是仍能使用那些绑定。函数中的函数) n
阅读全文
摘要:在python中,函数是一等对象,一等对象是满足以下条件的程序实体 1在运行时创建 2能复制给变量或数据结构的元素 3能作为参数传给函数 4能作为函数的返回结果 高阶函数(接受函数作为参数或者把函数作为结果返回的函数),如map和sorted函数 最为人熟知的高阶函数有map,filter,redu
阅读全文
摘要:字符问题 把码位转化成字节序列的过程是编码,把字节序列转化成码位的过程是解码 把unicode字符串当成人类可读的文本,码位当成机器可读的, 将字节序列编程人类可读是解码,把字符串编码成字节序列是编码 字节概要 python内置了两种基本的二进制序列类型,python3引入的不可变的bytes类型和
阅读全文
摘要:查看字节码可以帮助我们更好的理解python的执行流程 查看字节码列表 1.查看模块中所有函数和所有类中的函数生成的字节码: import dis,targetdis.dis(target) 2.查看模块中某函数或类中某函数生成的字节码: import dis,targetdis.dis(targe
阅读全文
摘要:什么是可散列的数据类型 如果一个对象是可散列的,那么在这个对象的生命周期中,他的散列值是不变的,而且这个对象需要实现__hash__()方法。另外可散列对象还要有__qe__()方法。这样才能跟其他键做比较。如果两个可散列对象是相等的。那么他们的散列值一定是一样的。 原子不可变数据类型(str, b
阅读全文
摘要:python内置序列类型概览 列表推导和生成器表达式 列表推导是构建列表的快捷方式,而生成器表达式可以用来创建其他任何类型的序列 列表推导的示例 使用列表推导通常的原则是,只能列表推导来创建新的列表,并且尽量保持简短。 python2中列表推导可能有变量泄露问题,而python3解决了变量泄露问题
阅读全文
摘要:python中有些特殊的方法,以双上下划线开头,并以双下划线结束的方法。如__getitem__,这些方法是特殊的方法,供python解释权内部使用,一般来说不需要调用 还有一种是以双下划线开头的,如__xxx,这些方法是私有方法,供类的内部使用,最好不要在外部使用。 如何使用特殊方法 my_obj
阅读全文
摘要:win+R 进入运行窗口 输入gpedit.msc 进入本地组策略编辑器, 右键我的电脑,点击管理 进入计算机管理界面
阅读全文
摘要:django中的模板并不能实现自动换行,遇到/n的话不会自动换行,毕竟/n是python里面的换行符,html怎么可能认识呢? 那如何实现在模板中换行呢 使用 linebreaks 过滤器,可以将\n换行 缺点是不能处理多个连续空格。可以自己写一个 filter 把所有的空格转为\n
阅读全文
摘要:今天在实现搜索时遇到一个问题,如何同时搜索model里面的title以及content和category字典 这是三个不同字段搜索的queryset 如何合并在一起呢 这样就得到了同时对content,title,catgory三个字段的搜索
阅读全文
摘要:python中有很多很好用的第三方库,现在记录一下这些库以及如何下载 一、virtualenv,这是一个可以将生产环境隔离开的python库,非常好用 在linux下使用pip install virtualenv window下建议使用virtualenvwrapper-win, pip inst
阅读全文
摘要:之前有一篇文章介绍过在ubuntu下安装selenium和firefox 现在介绍下centos7 注意以下都是下载的linux64位的软件,32位的请自己找下链接, 现在使用的python的版本是3,请注意,2应该也可以运行 需要的版本有 firefox 57.0.4 cd /usr/local/
阅读全文
摘要:centos7默认是安装的python2.7以及对于的pip 如果要使用python3并且保留python2请看以下步骤 sudo yum -y install epel-release sudo yum install python34 下载好了python34,输入python3即可使用 安装p
阅读全文
摘要:网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样。真的无语了。只好自己总结一下开发的一些简单流程。 一先去注册个微信公众号,这个就不详细说了, 二登录后台,进入开发中的基本配置,配置下服务器 填写url和token,url是服务器的地址,token是自
阅读全文