Python面向对象编程——绑定方法与非绑定方法一、类中定义的函数分成两大类1、绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入1)绑定到类的方法:用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)2)绑定到对象的方法:没有被任何装饰器装饰的方法。为对象量身定制对象.boud_method(),自动将对象当作第一个参数传入(属于类的函数
系统 2019-09-27 17:53:30 1843
今天介绍个神奇的网站!堪称爬虫偷懒的神器!我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头(headers),以mdn学习区为例,我们的请求头是这样的:一般来说,我们只要添加user-agent就能满足绝大部分需求了,Python代码如下:importrequestsheaders={#'authority':'developer.mozilla.org',#'pragma':'no-cache',#'cache-control':'no-cach
系统 2019-09-27 17:53:21 1843
基于TCP协议的套接字编程实现电话沟通为例,这里传递的是字符,可以自己尝试去发送一个文件#服务端importsocket#1.符合TCP协议的手机server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#TCP#2.绑定手机号一个服务器,我们自己的电脑作为服务器的话,用自己的IP地址server.bind(('127.0.0.1',8000))#127.0.0.1代表本地#server.bind(('1
系统 2019-09-27 17:53:04 1843
关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起
系统 2019-09-27 17:52:40 1843
前言学习一个库的最好的方式是了解这个库的源码和组成原理,有时候源码可能会略显生涩,这时候我们想通过查看文档来了解,所以我们可以通过输出库自带的描述文档来了解一个库。Numpy和Scipy模块numpy提供了数组对象,面向的任何使用者。scipy在numpy的基础上,面向科学家和工程师,提供了更为精准和广泛的函数。scipy几乎实现numpy的所有函数,一般而言,如果scipy和numpy都有这个函数的话,应该用scipy中的版本,因为scipy中的版本往往
系统 2019-09-27 17:52:27 1843
importhashlibdef_verfy_ac(private_key,params):items=sorted(params.items(),key=lambdax:x[0])params_data=""foriinitems:params_data=params_data+i[0]+i[1]params_data=params_data+private_keysign=hashlib.sha1()sign.update(params_data.en
系统 2019-09-27 17:52:26 1843
1、python装饰器最基础的函数1defsum1():2sum=1+23print(sum)4sum1()查看函数执行用了多长时间,写了几句代码插进去了:1importtime23defsum1():4start=time.clock()5sum=1+26print(sum)7end=time.clock()8print("timeused:",end-start)910sum1()可是随着继续翻看,对越来越多的函数感兴趣了,都想看下他们的运行时间如何,
系统 2019-09-27 17:52:26 1843
和很多语言一样,Python中也分为简单赋值、浅拷贝、深拷贝这几种“拷贝”方式。在学习过程中,一开始对浅拷贝理解很模糊。不过经过一系列的实验后,我发现对这三者的概念有了进一步的了解。一、赋值赋值算是这三种操作中最常见的了,我们通过一些例子来分析下赋值操作:str例复制代码代码如下:>>>a='hello'>>>b='hello'>>>c=a>>>[id(x)forxina,b,c][4404120000,4404120000,4404120000]由以上指
系统 2019-09-27 17:51:51 1843
原理在网页源码中如果出现将用户输入数据进行反序列化当成参数输出时,出现漏洞,可造成任意命令执行例如网页源码try:become=self.get_argument('become')p=pickle.loads(urllib.unquote(become))returnself.render('form.html',res=p,member=1)except:returnself.render('form.html',res='ThisisBlackTec
系统 2019-09-27 17:51:41 1843
目录一、插入排序二、冒泡排序三、快排(递归)四、选择排序生成一个长度为10的范围在0~20的随机数组importrandomtemp_list=[]whileTrue:num=random.randint(0,20)ifnumnotintemp_list:temp_list.append(num)iflen(temp_list)==10:breakprinttemp_list一、插入排序definsert(list):length=len(list)for
系统 2019-09-27 17:51:37 1843