Python

python中metaclass原理与用法详解

本文实例讲述了python中metaclass原理与用法。分享给大家供大家参考,具体如下:什么是metaclass.metaclass(元类)就是用来创建类的类。在前面一篇文章《python动态创建类》里我们提到过,可以用如下的一个观点来理解什么是metaclass:MyClass=MetaClass()MyObject=MyClass()metaclass是python里面的编程魔法同时在前面一篇《python动态创建类》文章里描述动态创建class的时

系统 2019-09-27 17:56:42 2556

Python

python ChainMap的使用和说明详解

ChainMap是Pythoncollections模块中的一个成员,它用来将多个map组合到一起。Chain是链条的意思,字面意思就是把map串联到一起。问题的背景是我们有多个字典或者映射,想把它们合并成为一个单独的映射,有人说可以用update进行合并,这样做的问题就是新建了一个数据结构以致于当我们对原来的字典进行更改的时候不会同步。如果想建立一个同步的查询方法,可以使用ChainMap先看一下初步使用fromcollectionsimportChai

系统 2019-09-27 17:54:00 2556

Python

python web框架 django wsgi原理解析

前言djangowsgipython有个自带的wsgi模块可以写自定义web框架用wsgi在内部创建socket对象就可以了自己只写处理函数就可以了django只是web框架他也不负责写socketdjango依赖wsgi接口创建socketwsgi是一套规则是一套接口按照wsgi规则写以后想封装socket在内部封装socket就可以了我只要遵循规则把wsgi模块一导入我就可以使用wsgi写的socket了遵循wsgsocketi接口有哪些这些模块已经创

系统 2019-09-27 17:53:13 2556

Python

Python3 统计Nginx日志里访问次数最多的前十个IP

今天群里有个伙计问,怎么用python统计Nginx日志访问次数前十的IP才能快一些,他表示自己使用的方式是将日志前面的IP全部放在列表中,然后通过列表的count方法来统计的,起初都还好,但是当日志量一大就很慢,问有没有啥好的方法可以解决!当然有,可以使用python的字典来加快速度,下面的日志文件是我用代码模拟生成的:#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2019/5/2210:27#@Author

系统 2019-09-27 17:52:27 2556

Python

python全栈开发基础知识学习——Django框架(七

目录简介Cookie出现原因实现原理Cookie操作cookie+session总结:简介前几节的介绍中我们已经有能力制作一个登陆页面,在验证了用户名和密码的正确性后跳转到后台的页面。但是测试后也发现,如果绕过登陆页面。直接输入后台的url地址也可以直接访问的。这个显然是不合理的。其实我们缺失的就是cookie和session配合的验证。有了这个验证过程,我们就可以实现和其他网站一样必须登录才能进入后台页面了。先说一下这种认证的机制。每当我们使用一款浏览器

系统 2019-09-27 17:49:13 2556

Python

Python中文字符串截取问题

先来看个例子:#-*-coding:utf8-*-s=u'中文截取's.decode('utf8')[0:3].encode('utf8')#结果u'中文截取延伸阅读:UTF-8中的汉字占用多少字节?占2个字节的:�占3个字节的:基本等同于GBK,含21000多个汉字占4个字节的:中日韩超大字符集里面的汉字,有5万多个一个UTF-8数字占1个字节一个UTF-8英文字母占1个字节在查找UTF-8编码资料时发现,很多的帖子说的UTF-8编码里,一个汉字占用3个

系统 2019-09-27 17:46:46 2556

Python

深入理解Python变量与常量

变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。常量是一块只读的内存区域,常量一旦被初始化就不能被改变。变量命名字母、数字、下划线组成,不能以数字开头,前文有说不在赘述。变量赋值Python中的变量不需要声明,变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建都包括变量的标识、名称、和数据这些信息。Python中一次新的赋值,将创建一个新的变量

系统 2019-09-27 17:38:32 2556

Python

降维方法总结及python实现

为什么要降维?高维情形下,样本数据稀疏,距离计算困难。为什么能进行降维?收集的数据虽是高维但与学习任务密切相关的也许仅仅是某个低维分布无监督降维:PCA最大重构性:找到一个超平面使得样本点在这个超平面的投影尽量分开。PCA也可以看作是逐一筛选方差最大方向;对协方差矩阵XX^T特征分解,取最大特征值及其特征向量;在去掉该特征值以及特征向量后,继续取最大特征值;关于PCA的几个问题:投影方向应该取多少才好?根据博客https://blog.csdn.net/m

系统 2019-09-27 17:56:39 2555

Python

Python获取文件所在目录和文件名的方法

实例如下:importosif__name__=="__main__":file_path='D:/test/test.apk'parent_path=os.path.dirname(file_path)print('parent_path=%s'%parent_path)file_name=os.path.split(file_path)[-1]print('file_name=%s'%file_name)输出:以上就是小编为大家带来的Python获取文

系统 2019-09-27 17:56:06 2555

Python

Qt使用C/C++扩展Python内置模块

之前和大家介绍过在C/C++中嵌入Python,本次和大家分享下使用C/C++扩展Python内置模块的方法。被扩展出来的新模块可以做两件无法直接在Python中完成的事情:一可以实现新的内置对象类型,二则可以调用C库函数和一些其他的系统调用。使用平台:ubuntu14.04、python3.5、Qt5.5.1下面借助Qt创建一个叫libpy3extend的Python内置模块,它可以做一个简单的加法操作,还可以返回一个自定义的数据类型。调用形式如下:im

系统 2019-09-27 17:50:55 2555

Python

Python中将两个或多个list合成一个list的方法小结

python中,list这种数据结构很常用到,如果两个或者多个list结构相同,内容类型相同,我们通常会将两个或者多个list合并成一个,这样我们再循环遍历的时候就可以一次性处理掉了。所以如何将两个或者多个list合并成一个就是我们接下来要讲的内容哦python合并list方法1,运算符:list1=[1,2,3]list2=[4,5,6]list3=list1+list2print(list3)方法2,extend()方法:list1=[1,2,3]li

系统 2019-09-27 17:38:22 2555

Python

python协程爬取斗鱼美女图片

分析网站寻找需要的网址用谷歌浏览器摁F12打开开发者工具,然后打开斗鱼颜值分类的页面,如图:在这里插入图片描述在里面的请求中,最后发现它是以ajax加载的数据,数据格式为json,如图:在这里插入图片描述圈住的部分是我们需要的数据,然后复制它的网址为https://www.douyu.com/gapi/rknc/directory/yzRec/1,出于学习目的只爬取第一页(减少服务器压力)。然后把网址放到浏览器中测试是否可以访问。如图:在这里插入图片描述结

系统 2019-09-27 17:56:55 2554

Python

python在内存中读取base64图片

importbase64importskimage.ioimportmatplotlib.pyplotaspltdefbase64_to_rgb(base64_str):"""默认base64中的图像为rgb,直接转换成即可:parambase64::return:"""ifisinstance(base64_str,bytes):base64_str=base64_str.decode("utf-8")imgdata=base64.b64decode(b

系统 2019-09-27 17:54:57 2554

Python

python单线程,多线程和协程速度对比

原文链接:https://www.cnblogs.com/hzpythoner/p/7777910.html(现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这里https://www.cbedai.net/ialexanderi可以跳转到教程。)在某些应用场景下,想要提高python的并发能力,可以使用多线程,或者协程。比如

系统 2019-09-27 17:54:53 2554

Python

Python 之pywifi实例应用

#-*-coding:utf-8-*-importtimefrompywifiimportconst,PyWiFi,ProfileclassWiFi(object):#创建对象自动初始化,类似Java的构造函数def__init__(self):wifi=PyWiFi()#创建一个无线对象self.iface=wifi.interfaces()[0]#获取当前机器第一个无线网卡#查看wifi的连接状态defwifi_connect_status(self)

系统 2019-09-27 17:52:52 2554