拥有Python标签的文章
Python

python字符串Intern机制详解

字符串在Python中是最简单也是最常用的数据类型之一,在CPython中字符串的实现原理使用了一种叫做Intern(字符串驻留)的技术来提高字符串效率。究竟什么是intern机制,这种机制又是通过什么方式来提高字符串效率的呢?希望这篇文章能够抛砖引玉。先来看一段代码:>>>s3="hello!">>>s4="hello!">>>s3iss4False>>>id(s3)80325968L>>>id(s4)80326048Ls3和s4虽然值是一样的,但确确实

系统 2019-09-27 17:52:22 2135

Python

Python之NumPy(axis=0 与axis=1)区分详解

python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:>>>df=pd.DataFrame([[1,1,1,1],[2,2,2,2],[3,3,3,3]],\columns=["col1","col2","col3","col4"])>>>dfcol1col2col3col4011111222223333如果我们调用df.mean(axis=1),我们将得到按行计算的均值>>>df.mean(axis=1)0

系统 2019-09-27 17:49:31 2135

Python

Python实现Singleton模式的方式详解

前言使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下python中实现单例模式的几种常见方式和原理。一方面可以加深对python的理解,另一方面可以更加深入的了解该模式,以便实际工作中能更加灵活的使用单例设计模式。本文将介绍常见的实现单例模式的几种方式,这里暂不考虑多线程的情况。为了准备该篇博文,之前写了几篇相关的文章依次完整的介绍了相关的概念,下面会在需要的时候给出链接。装

系统 2019-09-27 17:48:26 2135

Python

python数据结构相关实现【排序、栈、队列、查找】

一、排序【这里介绍冒泡排序、选择排序、快速排序和插入排序】1.冒泡排序(1)原理解释:冒泡排序,分多轮排序。1)每一轮都是从上层的第一个数开始与其下一个数进行对比,如果大于下一个数就进行交换,下次对比就从上面第二个数【不管之前有无交换】再与其下一个数进行比较,依次比较到最后一个数。【如图i的移动变化】2)第一轮比较【j=0】。比较了最底下第二个数和最底下这个数后,即第一轮比较完。所以第一轮比较的次数为n-1次,即从上面第一个数一直比较到底下第二个数。【其中

系统 2019-09-27 17:48:20 2135

Python

python中pip的使用和修改下载源的方法

基本命令显示版本信息pip-V安装指定包pipinstallpipinstall-i'host'指定下载源卸载指定包pipuninstall列出已安装的包piplist显示有关已安装包的信息pipshow查找指定包pipsearch修改下载源Linuxvim~/.pip/pip.conf#编辑用户目录下隐藏的配置文件,没有的话生成一个格式如下:[global]index-url=http://mirrors.aliyun.com/pypi/simple/[

系统 2019-09-27 17:45:41 2135

Python

Python3网络爬虫之解析库pyquery的使用(三)

pyquery的安装:ubtuntu和windows下安装lxml:pip3installpyquery验证安装:安装完成,在python命令行下输入importpyquery没有报错,证明库已经安装好了。pyquery的介绍:PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery是Python仿照jQuery的严格实现。语法与jQuery几乎完全相同,所

系统 2019-09-27 17:55:39 2134

Python

详解pyppeteer(python版puppeteer)基本使用

一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni

系统 2019-09-27 17:52:58 2134

Python

Python pandas用法最全整理

1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用:importnumpyasnpimportpandasaspd2、导入CSV或者xlsx文件:df=pd.DataFrame(pd.read_csv('name.csv',header=1))df=pd.DataFrame(pd.read_excel('name.xlsx'))3、用pandas创建数据表:df=pd.DataFrame({"id":[1001,1002,1003,1

系统 2019-09-27 17:51:16 2134

Python

如何美观地打印 Python 对象?这个标准库可以简单实现

前不久,我写了一篇文章回顾Python中print的发展历史,提到了两条发展线索:明线:早期的print语句带有C和Shell的影子,是个应用程序级的statement,在最初十几年里,经历过PEP-214和PEP-259的改进;再到2009年的大版本3.0,由语句改成了print()函数,还在3.3版本,做过一次功能增强,最终上升成为一等的内置函数。暗线:介绍了print的竞争对手们,像传统的日志模块logging、调试模块pdb、主流IDE的调试功能,

系统 2019-09-27 17:48:34 2134

Python

讲解Python中的标识运算符

下表列出了所有Python语言支持的标识运算符。示例:试试下面的例子就明白了所有Python编程语言提供的标识运算符:#!/usr/bin/pythona=20b=20if(aisb):print"Line1-aandbhavesameidentity"else:print"Line1-aandbdonothavesameidentity"if(id(a)==id(b)):print"Line2-aandbhavesameidentity"else:pri

系统 2019-09-27 17:47:47 2134

Python

python&&多线程多进程及主机管理&&学习笔记

python&&多线程多进程及主机管理&&学习笔记多线程知识回顾关于python"假线程"的说法python是非线程安全的语言基本多进程示例基本多进程示例2多进程之进程间通讯示例1多进程间内存共享示例1多进程之进程间通讯示例2多进程间内存共享示例2多进程间内存共享示例3进程池Pool利用pool产生多进程示例多进程多线程执行示例1IT审计堡垒机的开发示例审计堡垒机的安全控制shellinaboxd异步Select、poll&epoll(异步IO模型)sel

系统 2019-09-27 17:47:38 2134

Python

python实现爬取百度图片的方法示例

本文实例讲述了python实现爬取百度图片的方法。分享给大家供大家参考,具体如下:importjsonimportitertoolsimporturllibimportrequestsimportosimportreimportsysword=input("请输入关键字:")path="./ok"ifnotos.path.exists(path):os.mkdir(path)word=urllib.parse.quote(word)url=r"http:/

系统 2019-09-27 17:47:09 2134

Python

Python2.7版os.path.isdir中文路径返回false的解决方法

问题背景:本来想写一个脚本来处理硬盘里的文件,并进行分类处理,但是发现一个问题,使用python内置os模块里的方法出现一些问题,具体的见示例。主要使用的方法(python2.7版本)示例:在电脑的D盘下建立两个文件夹,并在两个文件夹下分别建立两个文件及目录:a:D:\\test\\test.txtb:D:\测试\测试.txt分别使用a,b路径来测试os.path的几个方法#!/usr/bin/envpython#-*-coding:utf-8-*-imp

系统 2019-09-27 17:46:41 2134

Python

程序员学Python编程或许不知的十大提升工具

与其他大多数编程语言一样,Python拥有强大的第三方支持,它们提供了各种各样的工具。这些工具在创建应用程序的过程中能够大大增强Python的功能。调试器是一种工具,因为它是一种实用程序,而库不是,库是用来创建更好的应用程序的。即使我们把工具和非工具(比如库)区分开,也不能让工具的数量明显减少。Python有大量常规工具和特殊工具的支持,这些工具被分成以下13类:自动化重构工具;Bug跟踪工具;配置和构建工具;部署工具;文档工具;集成开发环境;Python

系统 2019-09-27 17:45:55 2134

Python

知识篇: Python递归函数,二分查找算法

目录一、初始递归二、递归示例讲解二分查找算法一、初始递归递归函数:在一个函数里在调用这个函数本身。递归的最大深度:998正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。但是我们之前已经说过关于函数调用的问题,每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,就会造成名称空间占用太多内存的问题,于是python为了杜绝此类现象,强制的将递归层数控制在了997(只要997!你买不了吃亏,买不了上当...).拿什么来证明这个“99

系统 2019-09-27 17:45:47 2134