如何在Python中实现相同的外部C ++效果?

时间:2015-07-20 08:36:08

标签: python

有没有办法像这样编写Python?我想在同一文件中分配值之前使用它:

extern ws2
def myfunc(ws2)
   print(ws2)
ws2= '''
    more than 200 chars
    more than 200 chars
    '''

在C ++中我们可以编写这样的代码 (以下代码位于同一文件中)

extern std::wstring ws2;
void func()
{
  std::wcout << ws2 << std::endl;
}
std::wstring ws2(L"...more than 200 chars");

1 个答案:

答案 0 :(得分:4)

完全相同的东西可以使用,只要你在时间上使用字符串比定义时使用字符串。在函数内部使用它并在模块级别声明它通常是这样的:

def func():
    print(ws2)

ws2 = 'more than 200 chars...'

会正常工作。

那就是说,这将是更难来阅读,而不是惯用的,并且如果你在定义字符串之前在模块级调用该函数,它将会中断。

我会使用这样一个事实:紧接着的多个字符串文字被解析为单个字符串文字(就像在C中一样),并且总是在模块的顶部定义常量:

WS2 = (
   "some part of the string"
   "another part"
   "on and on until we have all 200 characters."
)

def func():

(我还将名称放在大写字母中,因为它是模块级别常量)