首先是python的一个简单函数
class Hello:
def __init__(self, x):
self.a = x
def print(self, x=None):
print(x)
def xprint():
print("hello world")
if __name__ == "__main__":
xprint()
h = Hello(5)
h.print()1
下面是C语言
#include <python3.4m/Python.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
Py_Initialize()
// 将当前目录加入sys.path
PyRun_SimpleString("import sys")
PyRun_SimpleString("sys.path.append('./')")
// 导入hello.py模块
PyObject *pmodule = PyImport_ImportModule("hello")
// 获得函数xprint对象,并调用,输出“hello world\n”
PyObject *pfunc = PyObject_GetAttrString(pmodule, "xprint")
PyObject_CallFunction(pfunc, NULL)
// 获得类Hello并生成实例pinstance,并调用print成员函数,输出“5 6\n”
PyObject *pclass= PyObject_GetAttrString(pmodule, "Hello")
PyObject *arg = Py_BuildValue("(i)", 5)
PyObject *pinstance = PyObject_Call(pclass, arg, NULL)
PyObject_CallMethod(pinstance, "print", "i", 6)
Py_Finalize()
return 0
}
编译命令如下:
gcc pyapi.c -lpython3.4m -o pyapi
方法如下。
1、打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。脚本第一行一定要写上 #!usr/bin/python,表示该脚本文件是可执行python脚本,如果您的python目录不在usr/bin目录下,则替换成当前python执行程序的目录。
2、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中。
3、在CMD命令行中,输入 “python” + “空格”,即 ”python “;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。
扩展资料
python和C语言的差别:
1、C语言是编译语言,Python是脚本语言,C语言会比Python快。
2、C语言中的数组,里面的都是数字,而list中可以包含很多不同的数据元素。
3、在C语言中使用那个库函数,需要引入头文件用include引入,而在python中需要引入别的模块或者函数时需要用import引入。两者的不同机制是,C语言中include是告诉预处理器,这个include指定的文件的内容,要当作本地源文件出现过,而python中的import可以通过简单的import 导入,或者是 import numpy as np。
参考资料Python_百度百科
C语言和Python语言虽然均可用于编写计算机程序,但它们在执行方式上略有不同。C语言是一种编译型语言,程序需要先经过编译器的编译过程,将源代码转换为机器语言,在计算机上运行时直接执行机器语言程序。与之不同,Python是一种解释型语言,可以直接执行Python程序,无需先按照C语言那样进行编译。Python解释器将Python代码作为输入,边解释边执行,直到程序结束。相比较而言,编译型语言的程序一般更高效,但执行之前需要额外的编译过程;而解释型语言的程序则更加灵活,但需要消耗更多的计算资源。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)