
Python
wang725
这个作者很懒,什么都没留下…
展开
-
优秀的Python第三方库
转自水浩宇并感谢有13个很优秀的第三方库:1、Pillow简介:图像“无痛”处理库,易用版的 PIL。亮点:大多数执行过图像处理的 Pythonist 应该会熟悉 PIL(Python 图像库),但 PIL 有不少缺点和限制,并且很少更新。Pillow 的目标是比 PIL 更容易使用,并通过最小的变化与 PIL 代码兼容。 扩展包括用于与本机 Windows 的映像功能和 Python T...转载 2019-04-20 11:02:40 · 539 阅读 · 0 评论 -
Python实现单例模式
class Singleton(type): def __init__(cls, name, bases, dict): super(Singleton, cls).__init__(name, bases, dict) cls._instance = None def __call__(cls, *args, **kw): if...转载 2018-11-28 21:56:48 · 139 阅读 · 0 评论 -
Python进阶09 动态类型
转自Vamei动态类型(dynamic typing)是Python另一个重要的核心概念。我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关。动态类型在我们接触的对象中,有一类特殊的对象,是用于存储数据的。常见的该类对象包括各种数字,字符串,表,词典。在C语言中,我们称这样一些数据结构为变量。而在Python中,这...转载 2018-11-24 19:48:14 · 127 阅读 · 0 评论 -
Python - 浅拷贝与深拷贝 - 再次整理
# -*- coding: UTF-8 -*-import copydef print_id(lst): lst_id = [id(y) for y in lst] lst_id.extend([id(y) for y in lst[1]]) return str(lst_id)def test_copy(): Anndy = ['Anndy', ['a...原创 2018-11-24 18:33:45 · 201 阅读 · 0 评论 -
请编写函数‘func’, 它返回字符串列表中‘k’个相邻字符串中最长的第一个 - 冒泡排序
题,描述:给定一个字符串列表’strlist’和整数‘k’请编写函数‘func’, 它返回字符串列表中‘k’个相邻字符串中最长的第一个实例:func([“this”, “is”, “an”, “example”], 1) --> “example”func([“this”, “is”, “another”, “example”], 1) --> “another”func(...原创 2018-11-17 14:50:47 · 214 阅读 · 0 评论 -
实现一个函数来来对目标字符串进行校验,使其满足以下全部条件
实现一个函数来来对目标字符串进行校验,使其满足以下全部条件不少于6个字符包含至少一个小写字母包含至少一个大写字母包含至少一个数字只能包含大小写和数字示例:func(“12ABcd”) -->Truefunc(“12ABc”) --> Falsefunc(“12ABCD”) --> Falsefunc(“12abcd”) --> Falsefunc(“...原创 2018-11-22 21:04:10 · 353 阅读 · 0 评论 -
多进程 子进程 进程间通信
转载自廖老师要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID...转载 2018-11-17 12:14:55 · 984 阅读 · 0 评论 -
Python 排序---sort与sorted学习
转载自ShaunChen并感谢当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法:第一种:内建方法sort()可以直接对列表进行排序用法:list.sort(func=None, key=None, reverse=False(or True))对于reverse这个bool类型参数,当reverse=Fals...转载 2018-11-18 17:40:57 · 327 阅读 · 0 评论 -
pip is configured with locations that require TLS/SSL
在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块,而由于没有指定,所以该功能不可用。解决办法是重新对python3.6进行编译安装,用一下过程来实现编译安装:cd Python-3.6.5./configure --with-sslmakesudo make install...原创 2018-10-14 11:17:59 · 1637 阅读 · 1 评论 -
算法 - 冒泡排序
从小到大排序: 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置 冒泡排序原理: 每一趟只能将一个数归位, 如果有n个数进行排序,只需将n-1个数归位, 也就是说要进行n-1趟操作(已经归位的数不用再比较)def bubble_sort(lst): for i in range(len(lst)-1): for j in range(len(lst...原创 2018-08-07 22:16:45 · 116 阅读 · 0 评论 -
算法 - 斐波那契数列
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)...原创 2018-08-06 22:46:14 · 685 阅读 · 0 评论 -
算法 - 快速排序 - python
先看一下这幅图: 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。这里的示例是以第一个数为基准点做比较, 把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理;交换了以后再和小的那端...原创 2018-08-09 21:59:52 · 164 阅读 · 0 评论 -
Python里的拷贝
引用和copy(),deepcopy()的区别import copya = [1, 2, 3, 4, ['a', 'b']] #原始对象b = a #赋值,传对象的引用c = copy.copy(a) #对象拷贝,浅拷贝d = copy.deepcopy(a) #对象拷贝,深拷贝a.append(5) #修改对象aa[4].append('c') #修改对象a中...转载 2018-08-05 21:37:14 · 155 阅读 · 0 评论 -
Python装饰器实现单例模式
# -*- coding: UTF-8 -*-# 使用装饰器(decorator),# 这是一种更pythonic,更elegant的方法,# 单例类本身根本不知道自己是单例的,因为他本身(自己的代码)并不是单例的def singleton(cls, *args, **kw): instances = {} def _singleton(): if cls...转载 2018-11-28 22:21:33 · 437 阅读 · 0 评论 -
list的交集与差集
# 交集b1 = [1, 2, 3]b2 = [2, 3, 4]b3 = [val for val in b1 if val in b2]print b3# 差集b4 = [val for val in b1 if val not in b2]print b4[2, 3][1]原创 2018-11-28 23:37:50 · 318 阅读 · 0 评论 -
正则匹配出ip
src = “security/afafsff/?ip=123.4.56.78&id=45”请写一段代码用正则匹配出ip匹配ip地址的python正则表达式src = "security/afafsff/?ip=123.4.56.78&id=45"result = re.findall(r'([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?...转载 2018-11-28 23:45:15 · 837 阅读 · 0 评论 -
Python垃圾回收机制详解
转载自Kevin Lu并感谢一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class ClassA(): def __init__(sel...转载 2019-04-27 12:29:52 · 110 阅读 · 0 评论 -
Python垃圾回收机制
转载自圆旭并感谢Garbage collection(GC)现在的高级语言如java,c#等,都采用了垃圾收集机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可以任意申请内存,但如同一把双刃剑,为大量内存泄露,悬空指针等bug埋下隐患。对于一个字符串、列表、类甚至数值都是对象,且定位简单易用的语言,自然不会让用户去处理如何分配回收内存的问题。python里也同j...转载 2019-04-27 12:17:09 · 77 阅读 · 0 评论 -
解读Python内存管理机制
转载自51CTO Robert并感谢内存管理,对于Python这样的动态语言,是至关重要的一部分,它在很大程度上甚至决定了Python的执行效率,因为在Python的运行中,会创建和销毁大量的对象,这些都涉及到内存的管理。小块空间的内存池在Python中,许多时候申请的内存都是小块的内存,这些小块内存在申请后,很快又会被释放,由于这些内存的申请并不是为了创建对象,所以并没有对象一级的内存池机...转载 2019-04-22 21:02:09 · 175 阅读 · 0 评论 -
十条Python面试题
转载自xiaochao并感谢概述Python 是个非常受欢迎的编程语言,随着近些年机器学习、云计算等技术的发展, Python 的职位需求越来越高。下面我收集了 10 个 Python 面试官经常问的问题,供大家参考学习。一、类继承问题:有如下的一段代码:如何调用类 A 的 show 方法?答案:方法如下:class 方法指向了类对象,只用给他赋值类型 A ,然后调用方法 sho...转载 2019-04-22 20:42:34 · 216 阅读 · 0 评论 -
python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1 下面的是按照key的值从大到小的顺序来排序。>>> a={'c':3, 'k':32, 'a':6, 'd':10}>>> sorted(a.items(), key=lambda a:a[0])[('a...原创 2019-04-17 21:21:04 · 6246 阅读 · 0 评论 -
Python chardet
转载自并感谢廖雪峰字符串编码一直是令人非常头疼的问题,尤其是我们在处理一些不规范的第三方网页的时候。虽然Python提供了Unicode表示的str和bytes两种数据类型,并且可以通过encode()和decode()方法转换,但是,在不知道编码的情况下,对bytes做decode()不好做。对于未知编码的bytes,要把它转换成str,需要先“猜测”编码。猜测的方式是先收集各种编码的特征字...转载 2018-12-03 23:15:19 · 364 阅读 · 0 评论 -
Python Requests
转载自并感谢廖雪峰Python内置了urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。更好的方案是使用requests。它是一个Python第三方库,处理URL资源特别方便。安装requests$ pip install requests使用requests要通过GET访问一个页面,只需要几行代码:>>> import re...转载 2018-12-03 23:08:47 · 201 阅读 · 0 评论 -
Python Pillow
转载自并感谢廖雪峰PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。安装Pillow...转载 2018-12-03 22:55:18 · 453 阅读 · 0 评论 -
Python interview
6.Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}深拷贝:创建一个新的对象,并且递归的...转载 2018-12-03 22:15:41 · 356 阅读 · 0 评论 -
Python 扫描目录及该目录包含所有目录的文件
参考用到函数:os.walk(path)os.walk()可以得到一个三元tupple(dirpath,sub_dirs, filenames),其中第一个为起始路径,第二个为起始路径下的所有文件夹,第三个是起始路径下的所有文件。其中dirpath是一个string,代表目录的路径,sub_dirs是一个list,包含了dirpath下所有子目录的名字。filenames是一个list,包含...原创 2018-12-05 21:41:50 · 2935 阅读 · 0 评论 -
Python打印多层嵌套列表
列表中嵌套列表递归调用,将列表几嵌套中的列表元素append到一个新列表中[ 1, 2, [ 3, 4, [ 5, 6, 7 ], [ 8, [ ...原创 2018-12-01 14:34:15 · 2596 阅读 · 0 评论 -
Python list并集union, 交集intersection, 差集difference
转载自翔云并感谢Sharepython的集合set和其他语言类似,是一个无序不重复元素集, 可用于消除重复元素。支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算。不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。因为,sets作为一个无序的集合...转载 2018-12-02 14:10:24 · 7312 阅读 · 4 评论 -
python - *args and **kwargs
用*args和**kwargs只是为了方便并没有强制使用它们.当你不确定你的函数里将要传递多少参数时你可以用*args.例如,它可以传递任意数量的参数:>>> def print_everything(*args): for count, thing in enumerate(args):... print '{0}. {1}'.fo...转载 2018-07-30 13:02:48 · 152 阅读 · 0 评论 -
python - list去重
1. 遍历列表lst = [3, 4, 5, 1, 6, 2, 7, 3, 1, 2]new_lst = []for i in lst: if i not in new_lst: new_lst.append(i)>>> print new_lst[3, 4, 5, 1, 6, 2, 7]先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not...原创 2018-07-29 15:48:19 · 826 阅读 · 0 评论 -
Python - 浅拷贝与深拷贝
在 Python 中,通过一个对象向另外一个对象赋值,实际仅仅是赋值了对象的引用,而非创建一个对象并赋值。那如何真正拷贝对象呢?我们看一下两种不同的拷贝方式。先从一个示例看起:>>> Anndy = ['Anndy', ['age', 24]]>>> Tom = Ann原创 2018-07-29 12:32:44 · 175 阅读 · 0 评论 -
ImportError No module named _sqlite3
ImportError No module named _sqlite3我在Ubuntu中另外安装了python2.7.9,django项目用2.7.9的这个python解释器,发现该报错编译安装python,无法导入sqlite3包 解决办法:安装sqlite:1. 下载sqlite:wget http://www.sqlite.org/sqlite-3.6.16.tar....原创 2018-04-10 22:07:21 · 659 阅读 · 0 评论 -
virtualenv搭建python27和python35
virtualenv搭建python27和python35 1. 下载安装python2.7和python3.5 下载地址https://www.python.org/ftp/python/ 2.7: https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz 3.5: https://www.python.org/ftp/pyt...原创 2017-08-02 08:42:28 · 1040 阅读 · 0 评论 -
安装使用celery异步任务
安装使用celery异步任务1. 关于celeryCelery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 celery用典型的生产者-消费者模式,主要由三部分组成:broker(消息队列)、workers(消费者:处理任务)、backend(存储结果)。实际应用中,用户从Web前端发起一个请求,我们只需要将请求所...原创 2017-07-23 11:32:35 · 933 阅读 · 0 评论 -
访问python服务 http://127.0.0.1:8000/ 拒绝了我们的连接请求。的一种解决方式
最新解决方法点击本链接查看上一篇文章中http://blog.youkuaiyun.com/wang725/article/details/73698455,描述了这个问题的情况,经过这几天的尝试,终于找到一种解决发方式。 尝试解决的过程中: 设置了虚拟机的静态ip:【192.168.1.17】,但在windows本机中无法ping通该虚拟机ip,发现,主机ip是【192.168.56.1】,他们两个...原创 2017-06-29 19:31:55 · 102158 阅读 · 1 评论 -
python国际化
当 Web服务搭建好以后,可以接收来自全球不同国家用户访问。这样就要求开发人员调整软件,使之能适用于不同的语言,即国际化和本地化。国际化 -- Internationalization,i和 n之间有 18个字母,简称 I18N,。本地化 -- localization, l 和 n之间有 10个字母,简称 L10N。国际化意味着 Web产品有适用于任何地方的潜力,原创 2015-12-29 20:56:01 · 12723 阅读 · 0 评论 -
python 国际化一词多义翻译
先举个栗子吧 如:申请 1.作为一个名词,翻译为英文是apply 2.作为一个动词,翻译为因为是application 所以,国际化时候这类多义词就要做特殊处理发现喜欢贴官网说明 上图: 将多义词以msgctxt在做个标记msgctxt "apply none"msgid "申请"msgstr "apply"msgctxt "apply verb"msgid "申原创 2016-09-05 20:31:16 · 863 阅读 · 0 评论 -
python调用hbase
python调用hbaseHBaseHBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的原创 2016-07-19 20:38:25 · 5236 阅读 · 0 评论 -
安装 Python 3.5
一.关闭默认的虚拟环境【python-django】输入命令:deactivate可修改【.profile】文件,注释下面这一行,不让默认开启【python-django】这个虚拟环环境进入【.profile】文件:cd ~vim .profile注释文件中的下面这一行source /home/vagrant/python-django/bin/activate二。先执行以下命令:sudo apt原创 2016-06-24 09:30:33 · 2377 阅读 · 0 评论 -
用python访问URL
用python访问URL访问方式异常处理用python访问URL用python访问URL,比如需要访问http://www.oschina.net这个URL,其实就是构造一个合法的HTTP请求,再通过TCP协议发送到www.oschina.net这台主机的TCP80端口。接着会从www.oschina.net等待一个HTTP协议的报文,最后关掉TCP连接。访问方式import urllib2s转载 2016-02-26 09:46:12 · 20861 阅读 · 0 评论