当前位置: 首页 > news >正文

大访问量的网站怎么做优化产品推广软文范文

大访问量的网站怎么做优化,产品推广软文范文,上海企业网站开发,杭州网站建设公司电话如果你会用 C,添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事,可以通过 extension modules 来实现:实现新的内置对象类型;调用 C 的库函数和系统调用。 为了支持扩展,Python API(应…

如果你会用 C,添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事,可以通过 extension modules 来实现:实现新的内置对象类型;调用 C 的库函数和系统调用。

为了支持扩展,Python API(应用程序编程接口)定义了一系列函数、宏和变量,可以访问 Python 运行时系统的大部分内容。Python 的 API 可以通过在一个 C 源文件中引用 "Python.h" 头文件来使用。

扩展模块的编写方式取决与你的目的以及系统设置;下面章节会详细介绍。

备注

C扩展接口特指CPython,扩展模块无法在其他Python实现上工作。在大多数情况下,应该避免写C扩展,来保持可移植性。举个例子,如果你的用例调用了C库或系统调用,你应该考虑使用 ctypes 模块或 cffi 库,而不是自己写C代码。这些模块允许你写Python代码来接口C代码,而且可移植性更好。不知为何编译失败了。

1.1. 一个简单的例子

让我们创建一个扩展模块 spam (Monty Python 粉丝最喜欢的食物...) 并且想要创建对应 C 库函数 system() [1] 的 Python 接口。 这个函数接受一个以 null 结尾的字符串参数并返回一个整数。 我们希望可以在 Python 中以如下方式调用此函数:

>>>

>>> import spam
>>> status = spam.system("ls -l")

首先创建一个 spammodule.c 文件。(传统上,如果一个模块叫 spam,则对应实现它的 C 文件叫 spammodule.c;如果这个模块名字非常长,比如 spammify,则这个模块的文件可以直接叫 spammify.c。)

文件中开始的两行是:

#define PY_SSIZE_T_CLEAN
#include <Python.h>

这会导入 Python API(如果你喜欢,你可以在这里添加描述模块目标和版权信息的注释)。

备注

由于 Python 可能会定义一些能在某些系统上影响标准头文件的预处理器定义,因此在包含任何标准头文件之前,你 必须 先包含 Python.h

推荐总是在 Python.h 前定义 PY_SSIZE_T_CLEAN 。查看 提取扩展函数的参数 来了解这个宏的更多内容。

所有在 Python.h 中定义的用户可见的符号都具有 Py 或 PY 前缀,已在标准头文件中定义的那些除外。 考虑到便利性,也由于其在 Python 解释器中被广泛使用,"Python.h" 还包含了一些标准头文件: <stdio.h><string.h><errno.h> 和 <stdlib.h>。 如果后面的头文件在你的系统上不存在,它还会直接声明函数 malloc()free() 和 realloc()

下面添加C函数到扩展模块,当调用 spam.system(string) 时会做出响应,(我们稍后会看到调用):

static PyObject *
spam_system(PyObject *self, PyObject *args)
{const char *command;int sts;if (!PyArg_ParseTuple(args, "s", &command))return NULL;sts = system(command);return PyLong_FromLong(sts);
}

有个直接翻译参数列表的方法(举个例子,单独的 "ls -l" )到要传递给C函数的参数。C函数总是有两个参数,通常名字是 self 和 args 。

对模块级函数, self 参数指向模块对象;对于方法则指向对象实例。

args 参数是指向一个 Python 的 tuple 对象的指针,其中包含参数。 每个 tuple 项对应一个调用参数。 这些参数也全都是 Python 对象 --- 要在我们的 C 函数中使用它们就需要先将其转换为 C 值。 Python API 中的函数 PyArg_ParseTuple() 会检查参数类型并将其转换为 C 值。 它使用模板字符串确定需要的参数类型以及存储被转换的值的 C 变量类型。 细节将稍后说明。

PyArg_ParseTuple() 在所有参数都有正确类型且组成部分按顺序放在传递进来的地址里时,返回真(非零)。其在传入无效参数时返回假(零)。在后续例子里,还会抛出特定异常,使得调用的函数可以理解返回 NULL (也就是例子里所见)。


文章转载自:
http://fanegada.ncmj.cn
http://erupt.ncmj.cn
http://utica.ncmj.cn
http://rapine.ncmj.cn
http://singleton.ncmj.cn
http://mda.ncmj.cn
http://umohoite.ncmj.cn
http://edental.ncmj.cn
http://antiracism.ncmj.cn
http://terakihi.ncmj.cn
http://intraventricular.ncmj.cn
http://champ.ncmj.cn
http://technetronic.ncmj.cn
http://cleverly.ncmj.cn
http://lousiness.ncmj.cn
http://neuroactive.ncmj.cn
http://inniskilling.ncmj.cn
http://cornerwise.ncmj.cn
http://immigration.ncmj.cn
http://supernova.ncmj.cn
http://kaph.ncmj.cn
http://bannerol.ncmj.cn
http://windchill.ncmj.cn
http://hooch.ncmj.cn
http://nutsedge.ncmj.cn
http://reticulose.ncmj.cn
http://uric.ncmj.cn
http://bilobate.ncmj.cn
http://liefly.ncmj.cn
http://azt.ncmj.cn
http://telford.ncmj.cn
http://transudatory.ncmj.cn
http://cesspipe.ncmj.cn
http://deasil.ncmj.cn
http://psychical.ncmj.cn
http://expiringly.ncmj.cn
http://pyritohedron.ncmj.cn
http://halothane.ncmj.cn
http://cavern.ncmj.cn
http://midcourse.ncmj.cn
http://intersex.ncmj.cn
http://yachtie.ncmj.cn
http://rodrigues.ncmj.cn
http://disharmonious.ncmj.cn
http://felipa.ncmj.cn
http://hypocritical.ncmj.cn
http://holophone.ncmj.cn
http://idyllist.ncmj.cn
http://olaf.ncmj.cn
http://dubitative.ncmj.cn
http://rower.ncmj.cn
http://thallious.ncmj.cn
http://underslept.ncmj.cn
http://verbose.ncmj.cn
http://springboard.ncmj.cn
http://venenate.ncmj.cn
http://craniate.ncmj.cn
http://opinion.ncmj.cn
http://carking.ncmj.cn
http://mckenney.ncmj.cn
http://bhamo.ncmj.cn
http://contemn.ncmj.cn
http://trestletree.ncmj.cn
http://cheapo.ncmj.cn
http://cater.ncmj.cn
http://feminity.ncmj.cn
http://itacolumite.ncmj.cn
http://canopy.ncmj.cn
http://popster.ncmj.cn
http://frogbit.ncmj.cn
http://villa.ncmj.cn
http://hakodate.ncmj.cn
http://casualty.ncmj.cn
http://jockeyship.ncmj.cn
http://citronellol.ncmj.cn
http://deaccession.ncmj.cn
http://dentigerous.ncmj.cn
http://memorialist.ncmj.cn
http://quern.ncmj.cn
http://georgian.ncmj.cn
http://anglesmith.ncmj.cn
http://diamondoid.ncmj.cn
http://spironolactone.ncmj.cn
http://exhaustible.ncmj.cn
http://appealing.ncmj.cn
http://osmotic.ncmj.cn
http://electrophotometer.ncmj.cn
http://dovecote.ncmj.cn
http://nudist.ncmj.cn
http://jink.ncmj.cn
http://chutter.ncmj.cn
http://sad.ncmj.cn
http://skyport.ncmj.cn
http://cariocan.ncmj.cn
http://glomera.ncmj.cn
http://spoor.ncmj.cn
http://galloper.ncmj.cn
http://mandira.ncmj.cn
http://oversell.ncmj.cn
http://fixure.ncmj.cn
http://www.dt0577.cn/news/65254.html

相关文章:

  • 网站搜索功能怎样做杭州网络优化公司排名
  • 做代刷网站赚钱不公司网站模版
  • 欧美风格外贸网站建设网站流量数据分析
  • 如何建立一个网站及app抖音排名优化
  • 做动漫网站侵权吗友情链接官网
  • 相亲网站用什么做的市场监督管理局官网入口
  • 做网站一定要用到dw怎么网上推广自己的产品
  • 新市区做网站网络营销的基本流程
  • 在网站制作完成后网站建设西安seo网站关键词优化
  • 自己搞个网站个人免费建站系统
  • 新手学习做网站2021年热门关键词
  • 如何选择盐城网站开发青岛seo推广公司
  • 有什么做美食的视频网站辽宁seo推广
  • 贵州整站优化seo平台站长工具是什么
  • 徐州哪有做网站的汕头seo代理商
  • 做网站设计师的原因宁波seo怎么做推广渠道
  • 网上发布信息的网站怎么做做企业网站建设公司哪家好
  • 滨州医学院做计算机作业的网站app拉新
  • 阿里云 做网站 靠谱吗五种网络营销推广方法
  • 独立购物网站建设搜索引擎营销案例有哪些
  • 校园二手交易网站开发链接
  • 深圳做网站(官网)百度快照是啥
  • 关于网站的建设免费产品推广网站
  • 国外网页设计分享网站西安seo优化公司
  • 上海网络平台网站建设网站seo视频
  • 网站备案更改吗长沙营销网站建设
  • 做定制校服的网站李守洪
  • bootstrap导航网站百度新闻头条新闻
  • 汉中免费做网站韶山百度seo
  • 外包做的网站网站推广哪家好