2015-07-20 16 views
0

有没有办法像这样写Python?我想在同一文件中指定值之前使用它:如何在Python中实现相同的extern C++效果?

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"); 
+0

@MartijnPieters,你能取消你的downvote吗?我认为我的问题现在已经很清楚了。 –

+0

@ O'Skywalker:谁说我投了票?请不要要求人们投票或改变投票。投票是个人选择,并*通常*反映人们对你帖子不同方面的看法。 –

+0

@ O'Skywalker没有倒下 – RvdK

回答

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(): 

(我也把这个名字放在caps里,因为它是一个模块级常量)

相关问题