В версии C ++ используется побочный эффект для одновременного выполнения как назначения, так и сравнения.Это работает, потому что оператор присваивания также возвращает присвоенное ему значение, которое 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
}