Python - --> if ((main_paned = gtk.HPaned())) 中的语法错误:
Python - SyntaxError in --> if ((main_paned = gtk.HPaned())):
我有问题。我在 C++ 中工作,我不知道我在 python.
中做错了什么
我有一个C++代码:
if ((main_paned = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)))){
std::cout << "created" << std::endl;
}
我在 python 中创建了这段代码:
if ((main_paned = gtk.HPaned())):
print "created";
但 return:语法错误:语法无效。
我做错了什么?以及如何在 if
?
中创建添加到变量
C++ 版本使用副作用同时进行赋值和比较。这是有效的,因为赋值运算符恰好也 return 它分配的值,这是 if
用于真实性比较的值。把它分成两步,就像做:
main_paned = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL));
if (main_paned)
{
// rest of code
}
Python 不允许这种行为,所以你必须做类似的事情
main_paned = gtk.HPaned()
if main_paned:
# code
或者只是
if gtk.HPaned():
这当然是假设您的 C++ 代码是正确的,并且您并不打算执行逻辑比较 (==
) 而不是赋值 (=
)
if (main_paned == GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)))
{
// rest of code
}
我有问题。我在 C++ 中工作,我不知道我在 python.
中做错了什么我有一个C++代码:
if ((main_paned = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)))){
std::cout << "created" << std::endl;
}
我在 python 中创建了这段代码:
if ((main_paned = gtk.HPaned())):
print "created";
但 return:语法错误:语法无效。
我做错了什么?以及如何在 if
?
C++ 版本使用副作用同时进行赋值和比较。这是有效的,因为赋值运算符恰好也 return 它分配的值,这是 if
用于真实性比较的值。把它分成两步,就像做:
main_paned = GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL));
if (main_paned)
{
// rest of code
}
Python 不允许这种行为,所以你必须做类似的事情
main_paned = gtk.HPaned()
if main_paned:
# code
或者只是
if gtk.HPaned():
这当然是假设您的 C++ 代码是正确的,并且您并不打算执行逻辑比较 (==
) 而不是赋值 (=
)
if (main_paned == GTK_PANED(gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)))
{
// rest of code
}