什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一
系统 2019-09-27 17:47:51 2068
max()方法返回其参数最大值:最接近正无穷大的值。语法以下是max()方法的语法:max(x,y,z,....)参数x--这是一个数值表达式。y--这也是一个数值表达式。z--这是一个数值表达式。返回值此方法返回其参数的最大值。例子下面的例子显示了max()方法的使用。#!/usr/bin/pythonprint"max(80,100,1000):",max(80,100,1000)print"max(-20,100,400):",max(-20,100
系统 2019-09-27 17:47:38 2068
在任何语言中,都会规定某些对象(属性、方法、函数、类等)只能够在某个范围内访问,出了这个范围就不能访问了。这是“公”、“私”之分。此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用class,def等,这就是保留字。除了保留字,python中还为类的名字做了某些特殊准备,就是“专有”的范畴。私有函数在某些时候,会看到有一种方法命名比较特别,是以“__”双划线开头的,将这类命名的函数/方法称之为“私有函数”。所谓私有函数,就是:私有函数不可
系统 2019-09-27 17:47:33 2068
阅读目录tcp协议:流式协议(以数据流的形式通信传输)、安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信)tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层、数据链路层、物理层。可以说很多安全数据的传输通信都是基于tcp协议进行的。为了让tcp通信更加方便需要引入一个socket模块(将网络层、数据链路层、物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作。简单的tcp协议通信模板:(需
系统 2019-09-27 17:47:19 2068
pythonformat格式化函数用法原文Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。基本语法是通过{}和:来代替以前的%。format函数可以接受不限个参数,位置可以不按顺序。1.使用位置参数>>>"{}{}".format("hello","world")#不设置指定位置,按默认顺序'helloworld'>>>"{0}{1}".format("hello","world")#设置指定位置'
系统 2019-09-27 17:47:11 2068
使用ghost.py通过搜搜的微信搜索来爬取微信公共账号的信息#-*-coding:utf-8-*-importsysreload(sys)importdatetimeimporttimesys.setdefaultencoding("utf-8")fromghostimportGhostghost=Ghost(wait_timeout=20)url="http://weixin.sogou.com/gzh?openid=oIWsFt8JDv7xubXz5
系统 2019-09-27 17:47:10 2068
数字(number)Python3支持int、float、bool、complex(复数)。在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。像大多数语言一样,数值类型的赋值和计算都是很直观的。内置的type()函数可以用来查询变量所指的对象类型。运算符下面以a=10,b=20为例进行计算运算符描述实例+加两个对象相加a+b输出结果30-减得到负数或是一个数减去另一个数a-b输出结果-10*乘两个数相乘或是返回一个被
系统 2019-09-27 17:46:58 2068
本章将覆盖所有在Python中使用的基本I/O功能。有关更多函数,请参考标准Python文档。打印到屏幕上:产生输出最简单的方法是使用print语句,可以通过用逗号分隔的零个或多个表达式。该函数将传递到一个字符串表达式,并将结果写到标准输出,如下所示:#!/usr/bin/pythonprint"Pythonisreallyagreatlanguage,","isn'tit?";这将产生结果输出在标准屏幕上,结果如下:Pythonisreallyagrea
系统 2019-09-27 17:46:33 2068
本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获取到用户输入的任何信息;但是如果安装了杀毒软件,就够呛了。具体实现方法如下:一、代码部分:获取用户输入信息,并与截图一起保存到XX目录下#-*-coding:utf-8-*-#importpythoncomimportpyHookimporttimeimportsocketfromPILimportImageGrab#
系统 2019-09-27 17:46:23 2068
由于之前有一个项目老是要打开文件,然后用pickle.load(file),再处理。。。最后要关闭文件,所以觉得有点繁琐,代码也不简洁。所以向pythonwithstatement寻求解决方法。在网上看到一篇文章:http://effbot.org/zone/python-with-statement.htm是介绍with的,参考着例子进行了理解。如果经常有这么一些代码段的话,可以用一下几种方法改进:代码段:setthinguptry:dosomethin
系统 2019-09-27 17:46:17 2068
本文实例讲述了python面试题之列表声明。分享给大家供大家参考,具体如下:下面程序输出的结果为?val=[['a']*2]*2printvalval[0][1]='b'printval答案为:[['a','a'],['a','a']][['a','b'],['a','b']]而不是[['a','a'],['a','a']][['a','b'],['a','a']]请看下面的例子:val=['a']*2#或者直接声明val=['a','a']printva
系统 2019-09-27 17:45:59 2068
Python数据结构与算法(几种排序)数据结构与算法(Python)冒泡排序冒泡排序(英语:BubbleSort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一对相邻元素
系统 2019-09-27 17:45:58 2068
pythongenerator与coroutine协程简单介绍协程,又称微线程,纤程,英文名Coroutine。协程是一种用户态的轻量级线程,又称微线程。协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置。优缺点优点:1.无需线程
系统 2019-09-27 17:45:41 2068
一、关于snakemq的官方介绍SnakeMQ的GitHub项目页:https://github.com/dsiroky/snakemq1.纯python实现,跨平台2.自动重连接3.可靠发送--可配置的消息方式与消息超时方式4.持久化/临时两种队列5.支持异步--poll()6.symmetrical--单个TCP连接可用于双工通讯7.多数据库支持--SQLite、MongoDB……8.brokerless-类似ZeroMQ的实现原理9.扩展模块:RPC
系统 2019-09-27 17:38:08 2068
浅谈python中set使用In[2]:a=set()#常用操作1In[3]:aOut[3]:set()In[4]:type(a)Out[4]:setIn[5]:b=set([1,3])In[6]:bOut[6]:{1,3}In[7]:type(b)Out[7]:setIn[8]:b.update(2)---------------------------------------------------------------------------Typ
系统 2019-09-27 17:38:07 2068