python常用封装函数 python怎么封装函数( 七 )


例如函数:
!-- lang: cpp --
string Repeat(const string s)
{
return s+s;
}
只要在swig中加入这样几行:
!-- lang: cpp --
%include "std_string.i"
using namespace std;
string Repeat(const string s);
运行结果:
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import cchar
cchar.Repeat('123')
'123123'
使用起来很方便,但需要注意的是 , 假如函数的参数的内容是可以被修改,就不能用这种方式封装 。
例如:
!-- lang: cpp --
void repeat(string s)
{
s+=s;
}
这样的函数直接使用 'std_string.i' 就是无效的 。遇到这种函数,只能用C语言封装成 void repeat(chars, int maxsize), 再用swig调用 'cstring_output_withsize' 这个宏再封装一次了 。
python常用封装函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python怎么封装函数、python常用封装函数的信息别忘了在本站进行查找喔 。

推荐阅读