前言如果你曾经写过或者用过Python,你可能已经习惯了看到Python源代码文件;它们的名称以.Py结尾。你可能还见过另一种类型的文件是.pyc结尾的,它们就是Python“字节码”文件。(在Python3的时候这个.pyc后缀的文件不太好找了,它在一个名为__pycache__的子目录下面。).pyc文件可以防止Python每次运行时都重新解析源代码,该文件大大节省了时间。Python是如何工作的Python通常被描述为一种解释语言,在这种语言中,你的
系统 2019-09-27 17:53:52 1766
定义通常,一个descriptor是具有“绑定行为”的对象属性。所绑定行为可通过descriptor协议被自定义的__get__(),__set__()和__delete__()方法重写。如果一个对象的上述三个方法任意一个被重写,则就可被称为descriptor。属性的默认操作是从对象字典中获取、设置和删除一个属性。例如,a.x有一个查找链,先a.__dict__['x'],若没有则type(a).__dict__['x'],若没有增往上查找父类直到元类。
系统 2019-09-27 17:53:41 1766
Python面向对象编程——绑定方法与非绑定方法一、类中定义的函数分成两大类1、绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入1)绑定到类的方法:用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)2)绑定到对象的方法:没有被任何装饰器装饰的方法。为对象量身定制对象.boud_method(),自动将对象当作第一个参数传入(属于类的函数
系统 2019-09-27 17:53:30 1766
正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。在前面学习了比较多模式,有前向搜索的,也有后向搜索的,有肯定模式的,也有否定模式的。这次再来学习一个,就是后向搜索肯定模式,意思就
系统 2019-09-27 17:53:26 1766
本来是在找交通识别的程序,然后凑巧看见了证件照换底,于是学习了一下~一开始在网上找了一个很普遍写的程序,但是效果并不好,想要放弃了,然后看见了这个,参考:pythonopencv实现证件照换底功能本人基于此做了一些改进,便于自己运行和调试,还加了中值滤波,本人觉得效果还不错~代码:importcv2importnumpyasnpdefcvtBackground(path,color):"""功能:给证件照更换背景色(常用背景色红、白、蓝)输入参数:path
系统 2019-09-27 17:53:20 1766
早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错。本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的urllib2直接登录网站并处理网站的Cookie。Cookie的工作原理:Cookie由服务端生成,然后发送给浏览器,浏览器会将Cookie保存在某个目录下的文本文件中。在下次请求同一网站时,会发送该Cookie给服务器,这样服务器就知道该用户是否合
系统 2019-09-27 17:53:11 1766
使用python来登录asp网站和登录其他网站差不多,只是因为asp页面在每次请求的时候都要带上viewstate,因此使用python来登录的话就多了一个步骤,获得这个页面的viewstate之后带上这个和你要post或get到该页面的请求数据就好了,下面这段程序是登录一个asp系统,然后搜索某些数据并将这些数据保存下来.#coding=utf-8importurllib2frombs4importBeautifulSoupimporturllibimp
系统 2019-09-27 17:53:06 1766
关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起
系统 2019-09-27 17:52:41 1766
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:35 1766
简单使用最开始,我们用最短的代码体验一下logging的基本功能。importlogginglogger=logging.getLogger()logging.basicConfig()logger.setLevel('DEBUG')logger.debug('logsomething')#输出out>>DEBG:root:logsomething第一步,通过logging.getLogger函数,获取一个loger对象,但这个对象暂时是无法使用的。第二步
系统 2019-09-27 17:52:26 1766