成都网站建设设计

将想法与焦点和您一起共享

python函数调用自身 Python的函数调用

python怎么调用自己写的函数

函数调用的基本语法格式如下所示:

博山网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联建站成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

[返回值] = 函数名([形参值])

其中,函数名即指的是要调用的函数的名称;形参值指的是当初创建函数时要求传入的各个形参的值。如果该函数有返回值,我们可以通过一个变量来接收该值,当然也可以不接受。

python中怎么调用自己的方法

C/C++对Python的调用层次可以分为三个层次, (1) 高层次的调用, (2)纯Python调用, (3) Python方法的扩展(也就使向Python输出调用函数). 这里我主要讨论(1)和(2)两种方法.

1 高层次的调用

这是最简单的一种在C/C++中调用Python的方法. 它直接的调用Python提供的C调用接口函数, 这些函数主要有: PyRun_SimpleString(), PyRun_SimpleStringFlags(), PyRun_SimpleFile(), PyRun_SimpleFileEx()和PyRun_SimpleFileExFlags()几个. 函数的具体用法参考Python的文档.

这里举个例子来说明这种层次的用法:

由这个例子可见, 在C/C++中调用Python的内容非常简单, 只要构造一个简单的Python调用字符串.这里要注意的就是, Python调用串语句之间要用'/n'来分开, 且语句之间不能有空格, 如上面的Python字符串不能写成: "import sys/n print sys.path" , 否则要出错的.

// c/c++ 中 Python 调用必须的头文件

#include Python.h

//

int main(int argc, char* argv[])

{

// 初始化Python解析环境

Py_Initialize();

// 构造Python执行脚本

char szPyScript[128];

sprintf(szPyScript, "import sys/nprint sys.path");

if(PyRun_SimpleString(szPyScript) != 0)

{

sprintf(stderr, "execute /'%s/'failed!", szPyScript);

return -1;

}

// 清除Python解析环境

Py_Finalize();

}

//

//

以上的例子也表明了在C/C++中调用Python的基本结构, 就是

(1) 先初始化Python环境然: Py_Initialize()

(2) 具体对Python的操作

(3) 清除Python环境

更复杂的一个使用高层调用的例子, 这个例子用PyRun_SimpleFile的例子.

这里值得注意是, 在Window中:

(1) 链接debug版本的时候会自动链接PythonXX(_d).lib库, PythonXX_d安装时是没有安装的, 所以要显示的指定链接PythonXX.lib库, 不知道VC6.0为什么还会去找PythonXX_d.lib, 在vs7.0不会.

(2) 编译时要以 /MD(多线程DLL) 选项编译(不论时debug版本还时release版本都一样).

以上我在VC7.0中可以正确的运行, 在VC6.0这样还不行, 可能和我使用的版本有关系(我用的版本是:Python24.lib). 有知道的请赐教!!

// c/c++ 中 Python 调用必须的头文件

#include Python.h

//

int main(int argc, char* argv[])

{

// 初始化Python解析环境

Py_Initialize();

//

char szFile[] = "PyFile.py";

//sprintf(szPathFile, "%s//%s", szPath, szFile);

FILE* fp = fopen(szFile, "r");

if(PyRun_SimpleFile(fp, szFile) != 0)

{

fclose(fp);

sprintf(stderr, "PyRun_SimpleFile(%s) failed!", saFile);

return -1;

}

fclose(fp);

// 清除Python解析环境

Py_Finalize();

}

2 纯Python调用

python函数怎么调用自身

def fun(a):

if a==0: 

print('The End!')

return a

else:

print('a: ', a)

a = a-1

fun(a)

fun(10)

输出结果:

a:  10

a:  9

a:  8

a:  7

a:  6

a:  5

a:  4

a:  3

a:  2

a:  1

The End!


本文标题:python函数调用自身 Python的函数调用
文章位置:http://chengdu.cdxwcx.cn/article/hgijhd.html