python接口提供

1.Python中怎么写接口啊,我在网上一直找不到

什么是接口 ?

接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能。

个人的理解,多用于协作开发时,有不同的人在不同的类中实现接口中的各个方法。

在python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能。

个人觉得接口在python中并没有那么重要,因为如果要继承接口,需要把其中的每个方法全部实现,否则会报编译错误,还不如直接定义一个class,其中的方法实现全部为pass,让子类重写这些函数。

当然如果有强制要求,必须所有的实现类都必须按照接口中的定义写的话,就必须要用接口。

方法一:用抽象类和抽象函数实现方法

[python] view plain copy

#抽象类加抽象方法就等于面向对象编程中的接口

from abc import ABCMeta,abstractmethod

class interface(object):

__metaclass__ = ABCMeta #指定这是一个抽象类

@abstractmethod #抽象方法

def Lee(self):

pass

def Marlon(self):

pass

class RelalizeInterfaceLee(interface):#必须实现interface中的所有函数,否则会编译错误

def __init__(self):

print '这是接口interface的实现'

def Lee(self):

print '实现Lee功能'

def Marlon(self):

pass

class (interface): #必须实现interface中的所有函数,否则会编译错误

def __init__(self):

print '这是接口interface的实现'

def Lee(self):

pass

def Marlon(self):

print "实现Marlon功能"

方法二:用普通类定义接口,[python] view plain copy

class interface(object): #假设这就是一个接口,接口名可以随意定义,所有的子类不需要实现在这个类中的函数

def Lee(self):,

pass

def Marlon(self):

pass

class Realaize_interface(interface):

def __init__(self):

pass

def Lee(self):

print "实现接口中的Lee函数"

class Realaize_interface2(interface):

def __init__(self):

pass

def Marlon(self):

print "实现接口中的Marlon函数"

obj=Realaize_interface()

obj.Lee()

obj=Realaize_interface2()

obj.Marlon()

2.Python 常用的标准库以及第三方库有哪些

标准库Python拥有一个强大的标准库。

Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的主要功能有:1.文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能2.文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能3.操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志(logging)等功能4.网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能5.网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架6.W3C格式支持,包含HTML,SGML,XML的处理。

7.其它功能,包括国际化支持、数学运算、HASH、Tkinter等Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统多个领域。

第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。

BoostC++Libraries包含了一组函式库,Boost.Python,使得以Python或C++编写的程式能互相调用。Python常被用做其他语言与工具之间的“胶水”语言。

著名第三方库1.Web框架Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。ActiveGrid:企业级的Web2.0解决方案。

Karrigell:简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库PyDBLite。Tornado:一个轻量级的Web框架,内置非阻塞式服务器,而且速度相当快webpy:一个小巧灵活的Web框架,虽然简单但是功能强大。

CherryPy:基于Python的Web应用程序开发框架。Pylons:基于Python的一个极其高效和可靠的Web开发框架。

Zope:开源的Web应用服务器。TurboGears:基于Python的MVC风格的Web应用程序框架。

Twisted:流行的网络编程库,大型Web框架。Quixote:Web开发框架。

2.科学计算Matplotlib:用Python实现的类matlab的第三方库,用以绘制一些高质量的数学二维图形。SciPy:基于Python的matlab实现,旨在实现matlab的所有功能。

NumPy:基于Python的科学计算第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案。3.GUIPyGtk:基于Python的GUI程序开发GTK+库。

PyQt:用于Python的QT开发库。WxPython:Python下的GUI编程框架,与MFC的架构相似。

4.其它BeautifulSoup:基于Python的HTML/XML解析器,简单易用。PIL:基于Python的图像处理库,功能强大,对图形文件的格式支持广泛。

PyGame:基于Python的多媒体开发和游戏软件开发模块。Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。

参考自维基百科。

3.在python中如何调用PCSC中的接口

你找个工具将这个接口API,自动转换成python版本的就可以了。好象是SWIG和Boost。 这两个以前看过,偶尔还试过几次。之所以建议你用自动工具,就是因为python对于C++扩展麻烦些,对于C语言接口可以使用ctypes和cython简单解决。不过C++如果用这些方法有时候被很麻烦。

boost在linux里会经常用到,在windows下也可以使用。SWIG在一般的教程里都会提及到。SIP也是最近出名的。

下面是一些参考资料,搜索来的。

=== 使用工具进行扩展 ===

虽然扩展过程并不复杂,但也可以使用许多已知的工具简化扩展过程。

(1) SWIG

由David Beazley创建,是一个自动的扩展构造工具。它读入注释的C/C++头文件,为python、tcl、perl等多种脚本语言产生wrap代码。SWIG可以包装大量C++特性到Python的扩展模块中。

评价:swig简单,可以支持多种脚本文件,但支持的c++特性不完备。

(2) SIP

由Phil Thompson创建,是一个C++模块构造器,专门为C++的类创造wrapper。它曾经被用于创建PyQt和PyKDE扩展模块,因此比较出名。

评价:支持C++特征很齐全,但比较复杂。

(3) bgen

该工具被包含在标准Python发布包中的模块构建工具集里,由Jack Jansen维护。它用于产生在Macintosh版本可用的Python扩展模块。

(4) pyfort

由Paul dubois创建,用来产生Fortran语言生成的扩展模块。

(5) cxx

也由Paul Dubois创建,是一个库,为Python的C++扩展提供了友好的API。Cxx允许将许多python对象(如list和tuple)使用到STL的运算中。库也提供了C++异常处理到python异常处理的转化。

(6) WrapPy

由Greg Couch创建,通过读入C++头文件来产生扩展模块。

(7) Boost Python Library

由David Abrahams创建。该库提供了更多与众不同的C++ wrap到python扩展中,而只需要对要扩展的C++类写很少的附加信息。

评价:Boost为C++提供了许多实用的库,如Regex(正则表达式库)、Graph(图组件和算法)、concept check(检查泛型编程中的concept)、Thread(可移植的C++多线程库)、Python(把C++类和函数映射到Python之中)、Pool(内存池管理)等等。

Boost总体来说是实用价值很高,质量很高的库。并且强调对跨平台的支持。但是Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。

boost.python支持的c++特性较多,但是比较复杂。

4.python测试接口时需要登录怎么解决

有些网页需要你登录之后才可以访问,你需要提供账户和密码。

只要在发送patible; MSIE 6.0; Windows NT 5.1)')]

#生成Post数据,含有登陆用户名密码。

data = urllib.urlencode({"email":user,"password":password})

#以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie

opener.open(login_page,data)

#以带cookie的方式访问页面

op=opener.open(url)

#读取页面源码

data= op.read()

return data

except Exception,e:

print str(e)

#访问某用户的个人主页,其实这已经实现了人人网的签到功能。

print renrenBrower("httm/home","用户名","密码")

python接口提供

转载请注明出处编程代码网 » python接口提供

资讯

python抓取微博

阅读(6)

本文主要为您介绍python抓取微博,内容包括python如何抓取新浪微博的微博内容,如何使用python根据关键词抓取微博,如何使用python根据关键词抓取微博。作为最近才搞完类似项目的来说一句。基本的套路就是利用微博账号模拟登陆,这个过程比较复

资讯

recvfrompython

阅读(7)

本文主要为您介绍recvfrompython,内容包括python设计UDP通信时,recvfrom()中的参数是什么意思,python怎么用log函数,python中的iterable是什么意思。socket.recvfrom(bufsize[, flags])Receive data from the socket. The r

资讯

python定义宏

阅读(7)

本文主要为您介绍python定义宏,内容包括python有宏定义,或者枚举么,Excel宏定义中怎样生成Python脚本,怎么定义宏,和使用宏。宏指令是指程序员事先定义的特定的单一“指令”,这样指令是一组重复出现的代码的缩写,此后在宏指令出现的地方,汇编

资讯

python浮点数字符串

阅读(7)

本文主要为您介绍python浮点数字符串,内容包括Python如何输入字符串,输入数字,输入浮点数,python如何判断一个字符串是浮点型数据,python怎么将字符串类型转化为浮点数。int函数能够(1)把符合数学格式的数字型字符串转换成整数(2)把浮点数

资讯

python的argsort

阅读(6)

本文主要为您介绍python的argsort,内容包括pythonargsort()究竟如何返回的,pythonargsort没有,pythonargsort在matlab中怎么表示。在Python中使用help帮助>>> import numpy>>> help(numpy.argsort)Help on funct

资讯

pythonplt

阅读(7)

本文主要为您介绍pythonplt,内容包括pythonplt怎么画数据点和标签图,pythonplt怎么画数据点和标签图,pythonplt.imshow怎么用。用法以既步骤:给出一张图片。

资讯

wifi破解python

阅读(7)

本文主要为您介绍wifi破解python,内容包括python怎么破解无线网密码,如何用python轻松破解wifi密码,如何用python轻松破解wif梦幻西游无双开服公告i密码。环境准备python2.7凑合的linux差不多的无线网卡pywifi模块弱口令字典清除系统中的任

资讯

pythonc知乎

阅读(7)

本文主要为您介绍pythonc知乎,内容包括Python和C哪个更好学,学c和python哪个好,大家建议同时学python和c语言吗如果不建议,先学那个比较好呢。C语言:C语言是大学生接触的第一门编程语言,它的重要性也是不言而喻的。2、C语言是一个面向过程的

资讯

python正则表达式空格

阅读(6)

本文主要为您介绍python正则表达式空格,内容包括python正则表达式怎么匹配一个“两端都有空格且内部无空格、横线和,python正则表达式匹配一个空格分隔的所有单词对,为什么python的正则表达式不能匹配前面有空格的。# encoding: UTF-8 impo

资讯

pythonsocketip

阅读(7)

本文主要为您介绍pythonsocketip,内容包括python聊天室socket的ip怎么设置,(pythonsocket伪造client的ip地址)有一python写的socket服务端只接,用python写了一个服务器,这么知道它的ip。import socketlocalIP = socket.gethostbyname(socke

资讯

pythonfor计数器

阅读(7)

本文主要为您介绍pythonfor计数器,内容包括python的for循环怎么用,求大神给我一个python计算器以便学习,python怎么让下面代码循环5次。def cal(): numA = float(raw_input(Please enter a number: )) op = raw

资讯

python类引用

阅读(6)

本文主要为您介绍python类引用,内容包括python怎么引用其他文件的类,python怎么在一个类中调用另一个类的方法,python如何调用类的方法。在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含

资讯

python概率分布

阅读(6)

本文主要为您介绍python概率分布,内容包括如何在Python中实现这五类强大的概率分布,如何在Python中实现这五类强大的概率分布,如何在Python中实现这五类强大的概率分布。R编程语言已经成为统计分析中的事实标准。但在这篇文章中,我将告诉你

资讯

python中文手册2.7

阅读(7)

本文主要为您介绍python中文手册2.7,内容包括请问Python2.7的IDLE(PythonGUI)、ModuleDocs、Python(command,请教如何用python2.7开发具有中文菜单的界面,python是2.7还是3.5。这个是idle:

资讯

python抓取微博

阅读(6)

本文主要为您介绍python抓取微博,内容包括python如何抓取新浪微博的微博内容,如何使用python根据关键词抓取微博,如何使用python根据关键词抓取微博。作为最近才搞完类似项目的来说一句。基本的套路就是利用微博账号模拟登陆,这个过程比较复

资讯

recvfrompython

阅读(7)

本文主要为您介绍recvfrompython,内容包括python设计UDP通信时,recvfrom()中的参数是什么意思,python怎么用log函数,python中的iterable是什么意思。socket.recvfrom(bufsize[, flags])Receive data from the socket. The r

资讯

python定义宏

阅读(7)

本文主要为您介绍python定义宏,内容包括python有宏定义,或者枚举么,Excel宏定义中怎样生成Python脚本,怎么定义宏,和使用宏。宏指令是指程序员事先定义的特定的单一“指令”,这样指令是一组重复出现的代码的缩写,此后在宏指令出现的地方,汇编

资讯

python浮点数字符串

阅读(7)

本文主要为您介绍python浮点数字符串,内容包括Python如何输入字符串,输入数字,输入浮点数,python如何判断一个字符串是浮点型数据,python怎么将字符串类型转化为浮点数。int函数能够(1)把符合数学格式的数字型字符串转换成整数(2)把浮点数

资讯

python的argsort

阅读(6)

本文主要为您介绍python的argsort,内容包括pythonargsort()究竟如何返回的,pythonargsort没有,pythonargsort在matlab中怎么表示。在Python中使用help帮助>>> import numpy>>> help(numpy.argsort)Help on funct

资讯

pythonplt

阅读(7)

本文主要为您介绍pythonplt,内容包括pythonplt怎么画数据点和标签图,pythonplt怎么画数据点和标签图,pythonplt.imshow怎么用。用法以既步骤:给出一张图片。

资讯

wifi破解python

阅读(7)

本文主要为您介绍wifi破解python,内容包括python怎么破解无线网密码,如何用python轻松破解wifi密码,如何用python轻松破解wif梦幻西游无双开服公告i密码。环境准备python2.7凑合的linux差不多的无线网卡pywifi模块弱口令字典清除系统中的任

资讯

python虚拟主机

阅读(7)

本文主要为您介绍python虚拟主机,内容包括哪些支持python的虚拟主机值得推荐,python虚拟机是什么意思,请问哪有支持modpython的虚拟主机。九州我以前买过一个月,但存在的安全问题不得不考虑.九州的确可以支持python,php,perl,客服也还行,但安

资讯

python读取汉字

阅读(2)

本文主要为您介绍python读取汉字,内容包括python读取的中文怎么使用,python怎么读取文本中的汉字,python怎么读取文本中的汉字。在python脚本的第一行加上#encoding=utf-8即可。程序如下:Created on 2011-9-24@author: l

资讯

python数组行列

阅读(2)

本文主要为您介绍python数组行列,内容包括python3如何把由坐标构成的一维数组转换成行列分别为xy值的二维数组,python中怎样让数据列转置,python怎么输入一个数组矩阵。需求:你需要转置一个二维数组,将行列互换.讨论:你需要确保该数组的行列数

资讯

跳板机python

阅读(2)

本文主要为您介绍跳板机python,内容包括如何直接通过跳板机ssh到服务器,如何无视跳板机,如何直接通过跳板机ssh到服务器。公司连上远程游戏服需要先ssh登到跳板机,再在跳板机上ssh到远程,不能直连,如:自己的系统(Mac OS) ===> 跳板机 =

资讯

python公开课

阅读(2)

本文主要为您介绍python公开课,内容包括Python教学视频实用型的哪里有,哪的Python视频教程比较好,有什么比较好的Python学习教程。随着人工智能时代呼声渐起,Python凭借其入门简单、应用广泛的优势成为很多想要入行互联网行业的人们的首选编

资讯

python二进制文件读取

阅读(2)

本文主要为您介绍python二进制文件读取,内容包括在python中如何从二进制文件中读取信息,在python中如何从二进制文件中读取信息,python二进制文件的读取与写入可以分别使用和方法。你是指读入二进制文件吧?可以使用numpy.fromfile(),也可以使

资讯

python黑客pdf

阅读(2)

本文主要为您介绍python黑客pdf,内容包括为什么很多关于python的黑客书,我想成为一名黑客,我在学python,可是里面讲的多是游戏设计,能否,求黑客书籍资源。学习是循序渐进的过程最常见的有两本python和黑客相关的书《python灰帽子:黑客与逆向

资讯

pythonexcel中文

阅读(2)

本文主要为您介绍pythonexcel中文,内容包括python怎么读excel中文,python怎么将中文写入excel文档,python怎么输出中文文件名excel。简单的介绍一下这两个库,先说xlrd,这个库读excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workboo

资讯

apachepythonlinux

阅读(2)

本文主要为您介绍apachepythonlinux,内容包括请教一个关于linux下APACHE关于PYTHON的设置问题,linux配置apache和python的环境,modpython在安装的报错处理,在线,如何在Apache下设置Python。二、linux下apache配置python 一.安装apache apac

资讯

chainPython

阅读(2)

本文主要为您介绍chainPython,内容包括ord在python是什么意思怎么使用,Python大神解释一下吧,python中round函数怎么用。>>>help(ord)Help on built-in function ord in module builtins:ord() #

资讯

python添加一行

阅读(2)

本文主要为您介绍python添加一行,内容包括python怎么实现数组增加一行或多行,python如何将字符串增加一行,python怎么实现数组增加一行或多行。把文档全部作为一个字符串,字符串可以相加, 如在1.doc里添加s 和d,用>>>file=open(1.doc,r)>>>str