拥有Python标签的文章
Python

使用Protocol Buffers的C语言拓展提速Python程序的示例

ProtocolBuffers(类似XML的一种数据描述语言)最新版本2.3里,protoc―py_out命令只生成原生的Python代码。尽管PB(ProtocolBuffers)可以为C++语言生成快速解析和序列化代码,但是这种方式对于Python不适用,并且手动生成的已包装的代码需要非常大的维护工作。在讨论组里,这是一个常见的功能要求,由于一个必备的客户端组件―AppEngine(根据团队介绍名称为AppEngine),生成原生的Python代码有更

系统 2019-09-27 17:49:21 2126

Python

property在python2和python3中的区别

问题背景:源于公司的原来的代码是python2开发的,后来改为python3开发,设计到的property的用法有点不一样直接上代码公司原来的python2的代码classLineItem:def__init__(self,description,weight,price):self.description=descriptionself.__weight=weightself.price=price@propertydefweight(self):ret

系统 2019-09-27 17:49:16 2126

Python

“学了半年后,我要揭开Python 3宗罪!”

有人曾说,未来只有2种人,会Python的人和....不懂Python的小学生,虽有夸张,这也意味着Python越来越重要了,究竟这门语言厉害在哪里?以下为你总结了Python3宗“罪”!Python凭啥这么优秀?作为一个计算机初级爱好者,据笔者这些年敲过的代码所反馈(是的,我的代码是有灵魂的),他们还是比较喜欢Python,因为Python干净利索,简单直接。Python代码简洁易懂,同样的内容按照代码量计算,C++:Java:Python=1000:1

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

Python

python基础5-字典

python基础5-字典数据类型字典字典定义、创建字典是一种可变容器类型,且可以存储任意类型对象。字典和列表的最大的区别是字典强调的是“键值对”,key与value一一对应,字典中的存放顺序并不重要,重要的是“键”和“值”的对应关系。在字典中,要求key是唯一的,且不可变的。所以字典的特点如下:查找速度快key-value序对没有顺序key键不可变且唯一字典的创建,使用{},每个键值对用:隔开,每对之间用,分割。还有使用dict和使用fromkeys的方法

系统 2019-09-27 17:48:21 2126

Python

使用rpclib进行Python网络编程时的注释问题

rpclib是一个非常好用的pythonwebservice库,可以动态的生成wsdl,不过这个项目已经基本停止,并被一个新的项目取代spyne,由于旧的项目工作已经比较稳定,所以我没有贸然升级到spyne。我在rpclib编写service方法时,遇到一个奇怪的错误:访问wsdl(http://localhost:9898/?wsdl)页面,返回502BadGateway。在日志中看到如下错误信息:复制代码代码如下:ValueError:Allstrin

系统 2019-09-27 17:48:07 2126

Python

跟老齐学Python之私有函数和专有方法

在任何语言中,都会规定某些对象(属性、方法、函数、类等)只能够在某个范围内访问,出了这个范围就不能访问了。这是“公”、“私”之分。此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用class,def等,这就是保留字。除了保留字,python中还为类的名字做了某些特殊准备,就是“专有”的范畴。私有函数在某些时候,会看到有一种方法命名比较特别,是以“__”双划线开头的,将这类命名的函数/方法称之为“私有函数”。所谓私有函数,就是:私有函数不可

系统 2019-09-27 17:47:33 2126

Python

Python下singleton模式的实现方法

很多开发人员在刚开始学Python时,都考虑过像c++那样来实现singleton模式,但后来会发现c++是c++,Python是Python,不能简单的进行模仿。Python中常见的方法是借助global变量,或者class变量来实现单件。本文就介绍以decorator来实现singleton模式的方法。示例代码如下:##-----------------------codebegin-----------------------#-*-coding:u

系统 2019-09-27 17:47:23 2126

Python

一篇文章了解Python中常见的序列化操作

0x00marshalmarshal使用的是与Python语言相关但与机器无关的二进制来读写Python对象的。这种二进制的格式也跟Python语言的版本相关,marshal序列化的格式对不同的版本的Python是不兼容的。marshal一般用于Python内部对象的序列化。一般地包括:基本类型booleans,integers,floatingpointnumbers,complexnumbers序列集合类型strings,bytes,bytearray

系统 2019-09-27 17:47:22 2126

Python

对python中基于tcp协议的通信(数据传输)实例讲解

阅读目录tcp协议:流式协议(以数据流的形式通信传输)、安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信)tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层、数据链路层、物理层。可以说很多安全数据的传输通信都是基于tcp协议进行的。为了让tcp通信更加方便需要引入一个socket模块(将网络层、数据链路层、物理层封装的模块),我们只要调用模块中的相关接口就能实现传输层下面的繁琐操作。简单的tcp协议通信模板:(需

系统 2019-09-27 17:47:19 2126

Python

在Python中处理字符串之isdigit()方法的使用

isdigit()方法检查字符串是否只包含数字(全由数字组成)。语法以下是isdigit()方法的语法:str.isdigit()参数NA返回值如果字符串中的所有字符都是数字,并至少有一个字符此方法返回true,否则返回false。例子下面的例子显示了isdigit()方法的使用。#!/usr/bin/pythonstr="123456";#Onlydigitinthisstringprintstr.isdigit();str="thisisstringe

系统 2019-09-27 17:47:18 2126

Python

python字符串连接方式汇总

在python中有很多字符串连接方式,今天就在这里具体总结一下:①.最原始的字符串连接方式:str1+str2②.python新字符串连接语法:str1,str2③.奇怪的字符串方式:str1str2④.%连接字符串:‘name:%s;sex:'%('tom','male')⑤.字符串列表连接:str.join(some_list)下面具体分析一下:第一种,想必只要是有编程经验的人,估计都知道,直接用“+”来连接两个字符串:'Jim'+'Green'='J

系统 2019-09-27 17:46:32 2126

Python

Python入门篇之字典

字典由多个键及与其对应的值构成的对组成(把键值对成为项),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典由一对大括号括起来。空字典由两个大括号组成:{}dict函数可以用dict函数,通过其他映射或者(键,值)这样的序列对建立字典复制代码代码如下:>>>items=[('name','Gumby'),('age',42)]>>>d=dict(items)>>>d{'age':42,'name':'Gumby'}>>>d['name'

系统 2019-09-27 17:38:11 2126

Python

Python中的self用法详解

在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对象,可以调用当前类中的属性和方法。class是面向对象的设计思想,instance(也即是object,对象)是根据class创建的。一个类(class)应该包含数据和操作数据的方法,通俗来讲就是属性和函数(即调用方法)。类class中为啥用使用self?在类的代码(函数)中,需要访问当前的实例中的变量和函数,即访问I

系统 2019-09-27 17:37:38 2126

Python

Python异常处理

在编写计算机程序时,通常能够区分正常和异常(不正常)情况。异常事件可能是错误(如试图除以零),也可能是通常不会发生的事情。Python使用异常对象来表示异常状态,并在遇到错误时引发异常。异常对象未被处理(或捕获)时,程序将终止并显示一条错误消息(traceback)。#试图除以零的报错print(1/0)#Traceback(mostrecentcalllast):#print(1/0)#ZeroDivisionError:divisionbyzero正如

系统 2019-09-27 17:56:38 2125

Python

Python入门系列(七)

>>>fromsysimportargv>>>import这是将Python的功能引入你的脚本方法,如果我们学习过C#或者Java等语言,在C#中我们需要引入命名空间,引入类库,Java也一样,我们需要针对我们需要使用的函数或者对象引入包,Python语言也一样,不会将所用功能都给我们,我们需要什么就需要引入什么。在Python中,我们对引入的包称之为:模组(modules),或者叫库(libraries)argv是什么呢?argv是sys模块下的方法用于

系统 2019-09-27 17:56:22 2125