python之list

1.python列表序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,第二个索引是1,依此类推序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现列表的数据项不需要具有相同的类型>>>l1=[1,'name','python',88]#创建列表>>>type(l1)#查看是否为列表类型<class'list'>>>>print(l1[2])#索引列表元素,从0开始,显示第三个元素也就索引2python>>>print(l1[-1])#索引最后一个元素88>>>print(l1[1:3])#元素切片,去序列1到3的值,但不包括3['name','python']>>>print(l1[-3:-1])#取最后三个元素,但不包括最后一个['name','python']>...
ymnets ymnets·2020-03-25

python之Number

1、Pythonnumber数字PythonNumber数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变Number数据类型的值,将重新分配内存空间。创建一个number数据值,改变数据的值,查看内存地址已发生改变:>>>num=123>>>id(num)8743872>>>num=456>>>id(num)13991590095640使用del语句删除number对象,可以删除多个用','逗号分隔:>>>num=123>>>num1=888>>>delnum,num12、python支持四种不同的数据类型:整形(int)-通常被称为整型或整数,是正数或者负整数。长整型(longintegers)-无限大小的整数,整数最后使用大写或小写的L表示。浮点型(floatingpointrealvalues)-浮点型由整数部分和小数部分组成。复数(complexnumbers)-复数由实数部分和虚数部分构成,可以使用a+bj,或者complex(a,b)...
ymnets ymnets·2020-03-25

python函数,模块及eclipse配置python开发环境

(1)最好用的IDE(2)可调式debug(3)查看可执行过程(4)可查看源代码目录安装Pythonpythonforeclipse插件安装配置PyDev插件测试安装Python从网站上下载最新的版本,从http://python.org/download/下载。安装过程与其他Windows软件类似。目前稳定版本为Python2.7.6和Python3.3.4。在Windows命令行中使用Python如果你想要从Windows命令行调用Python,那么需要先设置Python环境变量。对于Windows,点击控制面板->系统->高级->环境变量。在“系统变量”表单中点击叫做PATH的变量,然后编辑这个变量,把;D:devpython2.7.6加到它的结尾。当然,是Python所在的安装目录。测试python环境变量是否设置成功C:Usersjiqinlin>pythonPython2.7.6(default,Nov102013,19:24:24)[MSCv.150064bit(AMD64)]onwin32Type"help","copyr...

python3之rabbitMQ

1、RabbitMQ介绍  RabbitMQ是一个由erlang开发的AMQP(AdvancedMessageQueue)的开源实现。AMQP的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如COBAR的IIOP,或者是SOAP等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的MSMQ,IBM的WebsphereMQ等),因此,在2006年的6月,Cisco、Redhat、iMatix等联合制定了AMQP的公开标准。MQ全称为MessageQueue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。消息队列技术是分布式应用间交换信息的一种技术;消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走;...
ymnets ymnets·2020-03-25

python3之协程

协程,又称微线程,纤程。英文名Coroutine。线程是系统级别的它们由操作系统调度,而协程则是程序级别的由程序根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子程序执行过程中可以中断去执行别的子程序,而别的子程序也可以中断回来继续执行之前的子程序,这个过程就称为协程。也就是说在同一线程内一段代码在执行过程中会中断然后跳转执行别的代码,接着在之前中断的地方继续开始执行,类似与yield操作。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置。协程的优点:  (1)无需线程上下文切换的开销,协程避免了无意义的调度,由此可以提高性能(但也因此,程序员必须自己承担调度的责任,同时,协程也失去了标准线程使用多CPU的能力)  (2)无需原子操作锁定及同步的开销  (3)方便切换控制流,简化编程模型  (4)高并发+高扩展性+低成本:一个C...
ymnets ymnets·2020-03-25

python3之paramiko模块

1、paramiko模块介绍paramiko模块提供了基于ssh连接,进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。2、paramiko的使用方法(1)基于用户名和密码的sshclient方式登陆#!/usr/bin/envpython#coding:utf8importparamiko#创建sshclient对象ssh=paramiko.SSHClient()#允许将信任的主机自动加入到host_allow列表,此方法必须放在connect方法的前面ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#调用connect方法连接服务器ssh.connect(hostname='172.16.32.129',port=2323,username='root',password='123.com')whileTrue:input_command=input('>>>:')ifinput_command=='quit':break#执行命令,输出结果在stdout中,...

python3之redis

1、redis简介redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。1.使用Redis有哪些好处?(1)速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2)支持丰富数据类型,支持string,list,set,sortedset,hash(3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4)丰富的特性:可用于缓存,消息,按key设置过期时间,过期后...
ymnets ymnets·2020-03-25

python3之pymysql模块

1、python3MySQL数据库链接模块PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2中则使用mysqldb。PyMySQL遵循Python数据库APIv2.0规范,并包含了pure-PythonMySQL客户端库。PyMySQL模块下载地址:https://github.com/PyMySQL/PyMySQL安装PyMySQL模块的方法:#(1)pip方式安装$pipinstallPyMySQL#(2)克隆安装$gitclonehttps://github.com/PyMySQL/PyMySQL  $cdPyMySQL  $python3setup.pyinstall#(3)源码安装$curl-Lhttps://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X|tarxz  $cdPyMySQL*  $python3setup.pyinstall2、PyMySQL的API参考(1)链接对象API:classpymysql.connections.Connection(host=None,&nbs...

python3之线程与进程

我们都知道CPU的根本任务就是执行指令,对计算机来说最终都是一串由“0”和“1”组成的序列。CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来:控制单元:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(InstructionRegister)、指令译码器ID(InstructionDecoder)和操作控制器OC(OperationController)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单...
ymnets ymnets·2020-03-25

python3之异常处理,断言和反射

1、异常基础python在运行过程中,程序解释机制会测试代码,如检测不通过则会抛出异常。try:aa=10bb='10'cc=aa+bbexceptExceptionase:print('error:',e)#output输出异常,数字不能与字符向加error:unsupportedoperandtype(s)for+:'int'and'str'try:aa=10bb='10'cc=aa+bbexceptTypeErrorase:print('错误信息;',e)2、异常种类python中的异常种类非常多,每个异常专门处理某个项的异常!AttributeError试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationError语法错误(的子类);代码没有正确对齐IndexError下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]KeyError试图访问字典里不存在的键KeyboardInterruptCtrl+C被按下NameE...

python3之socket&socketserver网络编程

套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象。它们允许程序接受并进行连接,如发送和接受数据。为了建立通信通道,网络通信的每个端点拥有一个套接字对象极为重要。套接字为BSDUNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。许多非BSDUNIX系统(如ms-dos,windows,os/2,macos及大部分主机环境)都以库形式提供对套接字的支持。三种最流行的套接字类型是:stream,datagram和raw。stream和datagram套接字可以直接与TCP协议进行接口,而raw套接字则接口到IP协议。但套接字并不限于TCP/IP。套接字模块是一个非常简单的基于对象的接口,它提供对低层BSD套接字样式网络的访问。使用该模块可以实现客户机和服务器套接字。要在python中建立具有TCP和流套接字的简单服务器,需要使用socket模块。利用该模块包含的函数和类定义,可生成通过网络通信的程序。python提供了两个级别访问的网络服务:低级的网络服务支持基本的socket...

python3之面向对象

1、面向对象术语类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类属性(类变量):类属性在整个实例化的对象中是公用的。类属性定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。实例变量:定义在方法中的变量,只作用于当前实例的类。继承:即一个派生类(derivedclass)继承基类(baseclass)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系。实例化:创建一个类的实例,类的具体对象。方法:类中定义的函数。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。2、类定义Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的...
ymnets ymnets·2020-03-25

python3之xml&ConfigParser&hashlib&Subprocess&logging模块

1、xml模块XML指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。python对XML的解析:常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同。python有三种方法解析XML,SAX,DOM,以及ElementTree:使用xml.etree.ElementTree模块来解析XML文件,ElementTree模块中提供了两个类用来完成这个目的:ElementTree表示整个XML文件(一个树形结构)Element表示树种的一个元素(结点)示例xml文件:<collectionshelf="NewArrivals"><movietitle="EnemyBehind"><type>War,T...

python3之shutil高级文件操作

1、shutil高级文件操作模块shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。2、shutil模块的拷贝方法>>>importshutil>>>shutil.chown('test.txt',user='mysql',group='mysql')#改变文件的属主和属组>>>shutil.copy('test.txt','test_copy.txt')#拷贝文件>>>shutil.copy2('test.txt','test_copy2.txt')#拷贝文件并复制所有统计信息,如修改时间等。>>>shutil.copyfile('test_ln.txt','test_copyfile.txt')#如果是链接文件,将复制新文件,不复制链接>>>dstf=open('test_copyfileobj.txt','r+')>>>srcf=open('test.txt','r')...

python3之序列化(pickle&json&shelve)

1、pickle模块python持久化的存储数据:python程序运行中得到了一些字符串,列表,字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中pickle模块就排上用场了,他可以将对象转换为一种可以传输或存储的格式。pickle模块将任意一个python对象转换成一系统字节的这个操作过程叫做串行化对象。python的pickle模块实现了python的所有数据序列和反序列化。基本上功能使用和JSON模块没有太大区别,方法也同样是dumps/dump和loads/load。cPickle是pickle模块的C语言编译版本相对速度更快。与JSON不同的是pickle不是用于多种语言间的数据传输,它仅作为python对象的持久化或者python程序间进行互相传输对象的方法,因此它支持了python所有的数据类型。importpickledata2=[1,2,3,4]det_str=pickle.dumps(data2)print(det_str)#output:输出为二进制格式b'x80x03]qx00(Kx01Kx02Kx03...
首页上一页...381382383384385...下一页尾页