Python

基于python 字符编码的理解

一、字符编码简史:美国:1963年ASCII(包含127个字符占1个字节)中国:1980年GB2312(收录7445个汉字,包括6763个汉字和682个其它符号)1993年GB13000(收录20902个汉字)1995年GBK1.0(收录21003个汉字)2000年GB18030(收录70244个汉字)世界:1991年unicode(‘万国码'也就统一编码,通常占2字节,复杂的汉字占4字节)UTF-8(可变长的字符编码)二、python中的编码解码应用Py

系统 2019-09-27 17:53:49 2283

Python

Python数据分析之思维导图汇总

关于Python数据分析,其实网上能够找到的学习资源很多,主要分为两类:一类是提供各种资源的推荐,比如书单、教程、以及学习的先后顺序;另一类是提供具体的学习内容,知识点或实际案例。但很多繁琐而又杂乱的内容,除了给初学者增加理解和认识的噪音外,真正能够起到明确的方向指引导的,确实不多。以至于很多人一开始没有明确的方向就一头扎进去,学了很久却不知道自己到底在学什么,或者自己学了很久不知道能够做什么。学习一门技术之前,你应该知道,你想要达成的目标是什么样的。也就

系统 2019-09-27 17:53:42 2283

Python

python爬虫第6关csv&excel

前面讲到json是特殊的字符串。其实,csv也是一种字符串文件的格式,它组织数据的语法就是在字符串之间加分隔符——行与行之间是加换行符,同列之间是加逗号分隔。它可以用任意的文本编辑器打开(如记事本),也可以用Excel打开,还可以通过Excel把文件另存为csv格式(因为Excel支持csv格式文件)。将我们刚刚写入的csv文件下载到本地电脑,再用记事本打开,你会看到:用Excel打开,则是这样的:发现了吗?csv文件里的逗号可以充当分隔同列字符串的作用。

系统 2019-09-27 17:53:37 2283

Python

Python当中的array数组对象实例详解

计算机为数组分配一段连续的内存,从而支持对数组随机访问;由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)importarray#array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,

系统 2019-09-27 17:53:12 2283

Python

python中第三方库的安装方法

第一步:建立一个setup.py的文件,文件内容如下:fromsetuptoolsimportsetup,find_packagessetup(name='',version='',packages=find_packages(),#必填author='',author_email='',url='',license='',description='',platforms='Windows',#需要安装的依赖install_requires=[],#此项需

系统 2019-09-27 17:52:53 2283

Python

Python hexstring-list-str之间的转换方法

在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:hexstring如:'1C532145697A8B6F'str如:'\x1C\x53\x21\x45\x69\x7A\x8B\x6F'list如:[0x1C,0x53,0x21,0x45,0x69,0x7A,0x8B,0x6F]各种第三方模块(如pyDes),或者自己写的接口中,可能存在由于类型不统一需要在这3种数据中来回切换的情况。需要用到的核心的方法如下:list()将对象转换为

系统 2019-09-27 17:52:42 2283

Python

python统计指定目录内文件的代码行数

python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比这符合一些公司的小需求,实际代码量的统计工作效果如图代码如下:#coding:utf-8importos,re#代码所在目录FILE_PATH='./'defanalyze_code(codefilesource):'''打开一个py文件,统计其中的代码行数,包括空行和注释返回含该文件总行数,注释行数,空行数的列表:param

系统 2019-09-27 17:51:01 2283

Python

使用Python进行图像处理,调整图片大小

注释PIL是python的一个图像处理库,功能非常强大,可以实现图片的格式转换、旋转、裁剪、改变尺寸、像素处理、图片合并等等操作。PIL已经更名为pillow所以在终端输入pip3installpil会报错,而应该输入pip3installpillow进行安装。源码fromPILimportImagedefImage_PreProcessing():#待处理图片存储路径im=Image.open('UnprocessImage.jpeg')#Resize图

系统 2019-09-27 17:50:56 2283

Python

python基础知识学习——装饰器

**装饰器**1.装饰器的概念装饰器的本质就是一个函数,它的作用是为其他函数添加一个新的功能,但是不改变原函数的源代码和调用方式。装饰器的两大原则:不修改被修饰函数的源代码不修改被修饰函数的调用方式2.装饰器的知识储备(或者我们可以理解成,一个装饰器是由什么组成)装饰器=高阶函数+函数嵌套+闭包3.装饰器的实现首先我们定义一个累加求和的函数importtimedefcal():res=0foriinrange(100):res+=itime.sleep(1

系统 2019-09-27 17:50:53 2283

Python

详解Python打包分发工具setuptools

Python打包分发工具setuptools:曾经Python的分发工具是distutils,但它无法定义包之间的依赖关系。setuptools则是它的增强版,能帮助我们更好的创建和分发Python包,尤其是具有复杂依赖关系的包。其通过添加一个基本的依赖系统以及许多相关功能,弥补了该缺陷。他还提供了自动包查询程序,用来自动获取包之间的依赖关系,并完成这些包的安装,大大降低了安装各种包的难度,使之更加方便,将程序打包以后可以可以安装到自己的虚拟环境中,也可以

系统 2019-09-27 17:50:39 2283

Python

Python爬虫:现学现用xpath爬取豆瓣音乐

爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能三种爬虫方式的对比。抓取方式性能使用难度正则表达式快困难Lxml快简单BeautifulSoup慢简单这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式!好了现在来讲讲xpath由于Xpath属于lxml模块

系统 2019-09-27 17:49:52 2283

Python

python学习笔记之内置函数

#reversed()#l=[1,2,3,4,5]#l.reverse()#print(l)#l=[1,2,3,4,5]#l2=reversed(l)#print(l2)#保留原列表,返回一个反向的迭代器#l=(1,2,23,213,5612,342,43)#sli=slice(1,5,2)#print(l[sli])#print(l[1:5:2])#print(format('test','<20'))#print(format('test','>40'

系统 2019-09-27 17:49:17 2283

Python

一个计算身份证号码校验位的Python小程序

S=Sum(Ai*Wi),i=0,.......16(现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了)Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下:7910584216379105842经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下:0-----11-----02-----x3-----94---

系统 2019-09-27 17:46:48 2283

Python

python多线程同步实例教程

前言进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清。一方面除了工作中可能用的比较少,另一方面就是这些概念牵涉到的东西比较多,而且相对较深。网络编程,服务端编程,并发应用等都会涉及到。其开发和调试过程都不直观。由于同步通信机制的原理都是想通的,本文希通过望借助python实例来将抽象概念具体化。阅读之前可以参考之前的一篇文章:python多线程与多进程及其区别,了解一下线程和进程的创建。python多线程同步pytho

系统 2019-09-27 17:46:39 2283

Python

python 插件架构 多线程多任务

目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(

系统 2019-09-27 17:46:02 2283