2017-02-10 102 views
-2

可调用的函数在C++的语句,如果(函数()) 收益或真或假如果在蟒蛇

但如何在Python中是做了什么? 我试过了:

if function() == True: 

帮助!

为什么自我需要?

def func(self,word): 
    if word == 'Hello': 
     return True 
word = 'Hello' 
if func(word): 
    print(word) 

为什么要问自己?如果func(自我,单词)?

+1

你不是有翻译吗?如果是控制流程声明。它不会返回任何东西。如果'function():'中的'function'的值是真的,则该块执行。 '如果function()== True'只会在函数返回的值== True时执行。 –

+1

“在C++ if(function())返回false或true_”是完全错误的。 – DyZ

回答

0

下面的代码工作得很好:

def return_true(): 
    return True 

if return_true(): 
    print("It's true!") 

if return_true() == True: 
    print("It's also true!") 

只要确保你的功能是否正确返回True,也许要修改它,因此回报率仅仅是return True检查它的if声明,而不是函数本身。

+0

def func(self,word): return True – tharmund

+0

是的,该函数应该按预期工作(即返回true)。你也可以使用tildes(\')在注释中做代码:'def func(self,word):return True'。请记住像在Python中一样正确缩进,空格是重要的(返回应该在另一行)。 – Darkstarone

+0

我编辑了一个例子的帖子,似乎工作你提供的,但为什么它要我把“自我”的话,而不仅仅是如果func(arg):,而是想要如果func(self,arg)? – tharmund

0

你想转换还是你想获得函数的布尔值?

价值观工作以布尔含蓄:

if function(): 
    # do stuff 

如果你想获得一个布尔值,你可以通过铸造做到这一点:

result = bool(function()) 
+0

强制转换,但在调用函数时,不需要“self”,但在IF语句中调用某个函数时,它要求我放置“self”,为什么? – tharmund

+0

这些是相当低级别的Python问题。我认为,对于您来说,咨询一个指南并从概念上理解概念是一个更好的主意。 – JackCC

+0

@tharmund如果函数实际上是一个方法(意味着它被绑定到一个类),它只会让你放入'self'。如果你正在创建一个函数(不绑定到类),除非它是函数的参数,否则你不能传递'self'。 –