建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会
系统 2019-09-27 17:52:26 1916
扫描服务器ip开放端口,用线程池ThreadPoolExecutor,i7的cpu可以开到600个左右现成,大概20s左右扫描完65535个端口,根据电脑配置适当降低线程数#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa
系统 2019-09-27 17:52:19 1916
函数这么重要的东西自然少不了。那么在python中是怎么定义的呢?defcgg(name):print("haha%s"%name)def是定义的意思,而cgg是函数名,name是参数。当然了,有了函数吗,自然少不了函数的返回值。那么这里用的依然是return。defcgg(a,b):returna+b模块一个小例子:importtimeprint(time.asctime())这个可以显示现在的时间。而这个time就是一个模块,包括之前的turtle也是
系统 2019-09-27 17:51:49 1916
本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下:一、从一个使用场景开始开发一个日志系统,既要把日志输出到控制台,还要写入日志文件importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')
系统 2019-09-27 17:51:47 1916
三引号完全原样输出print(r"""xx\n\adaadf=?aa“”")重复输出print(3*“ab”)print(“ab”*3)abababababab3、列表定义x=“world”y=[1,2,3,4,5]索引(负数从右边开始,正数从左边开始)print(x[0])print(y[4])print(x[-2])print(y[-1])print(y[-5])print(x[-5])w5l51w切片x=“world”y=[1,2,3,4,5]pri
系统 2019-09-27 17:51:22 1916
原文链接:https://blog.csdn.net/hpuhjl/article/details/80680188ubuntuopencv-python安装2018年06月13日15:48:55hpuhjl阅读数1976版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u012678352/article/details/80680188pip安装:主程序
系统 2019-09-27 17:50:46 1916
作为Python程序员,应该能够正视Python的优点与缺点。众所周之,Python的运行速度是很慢的,特别是大数据量的运算时,Python会慢得让人难以忍受。对于这种情况,“专业”的解决方案是用上numpy或者opencl。不过有时候为了一点小功能用上这种重型的解决方案很不划算,或者有时候想要实现的操作在numpy里面没有,需要我们自己用C语言来编写。总之,我们使用Python与C++的混合编程能够加快程序热点的运算速度。首先要提醒大家注意的是,在考虑联
系统 2019-09-27 17:50:45 1916
简介你好,当你打开这个文档的时候,我知道,你想要的是什么!Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套课程,没有你想要的Python基础,没有变量,循环,数组等基础知识,因为我不想在那些你可以直接快速学会的地方,去浪费你的时间。好了,这套课程是基于Python3.0以上写的,操作系统我使用的是CentOS7+所以里面的好多内容可能和你的不一样,当然也会导致许多问题
系统 2019-09-27 17:50:42 1916
生成器就是自己用python代码写的迭代器,生成器的本质就是迭代器。通过以下两种方式构建一个生成器:1、通过生成器函数2、生成器表达式生成器函数:函数deffunc1(x):x+=1returnxprint(func1(5))生成器函数deffunc1(x):x+=1yieldxg_obj=func1(5)print(g_obj.__next__())一个next对应一个yield。yieldVSreturnreturn结束函数,给函数的执行者返回值yie
系统 2019-09-27 17:50:36 1916
这里先解释一下几个概念-位置参数:按位置设置的参数,隐式用元组保存对应形参.平时我们用的大多数是按位置传参.比如有函数deffunc(a,b,c),调用func(1,2,3).即a=1,b=2,c=3-关键字参数:可以通过关键字设置参数,不用关心参数位置,隐式用字典保存形参.比如有函数deffunc(a,b,c),调用func(b=1,c=2,a=3),即a=3,b=1,c=2普通格式复制代码代码如下:deffunc(opt_args):...return
系统 2019-09-27 17:50:13 1916