在蟒蛇中返回函数

时间:2017-08-22 04:51:10

标签: python function

kk = ['kj','jk',5200,49]

def test_func1(kj):
    for i in kj: 
        value= i
        return value

def mainn_func(kk):
    v = test_func1(kk)
    print(v)

在上面的函数中,我的print(v)语句没有打印任何东西,我可以做出哪些改变,return语句有什么问题吗?

4 个答案:

答案 0 :(得分:0)

你没有打电话给任何职能。

在脚本底部,您需要执行mainn_func(kk)

答案 1 :(得分:0)

如果你调用函数mainn_func(kk),你将只获得列表的第一个值,因为你在第一个循环中返回值。

如果您想打印列表的每个值。试试这个:

Classification

答案 2 :(得分:0)

此代码非常简单,只返回第一个值。

kk = ['kj','jk',5200,49]

def test_func1(kj):
    for i in kj: 
        value= i
        return value

def mainn_func(kk):
    v = test_func1(kk)
    print(v)

问题似乎是你没有调用这个函数调用,如: -

mainn_func(kk)

如果你只想打印第一个值然后使用,不要写这么多代码,只需写: -

print kk[1]

如果要打印所有值,请写入: -

def test_func1(kj):
    for i in kj:
        print i

def mainn_func(kk):
     test_func1(kk)

mainn_func(kk)

它将解决您的问题。

答案 3 :(得分:0)

这就是为什么Python在某些方面被称为脚本语言。它只是运行程序中的内容,就好像它被输入命令行解释器一样。

如果您来自C语言,这很难习惯。在这些语言中,函数main(argc,argv)是代码的入口点。您还需要转发声明函数。因此,在C中,您会看到如下模式:

float square(float);   /* C forward declaration so the compiler is happy*/

main(argc, argv) {
    int argc; char**argv;

    float z = 2;
    q = square(w);
    printf("%d", q);

}

float square (a) {
    float a;

    return a*a;
}

Python不需要main()。如果你只是给它一个'脚本'它只是贯穿它并做你说的。

所以,Python脚本说:

def square(a) :
    return a*a

def main() :
    z = 2
    q = square(z)
    print q

除了定义函数之外什么也没做。但是,其中任何一个都可行:

选项1:只说出你想要的东西:

def square(a) :
    return a*a

z = 2
q = square(z)
print q

在这种情况下,它定义' square'然后(之后)设置z = 2;叫方;然后打印结果。

选项2是在脚本中制作单个命令,如果你愿意的话,调用main以使事情顺利进行':

def square(a) :
    return a*a

def main() :
    z = 2
    q = square(z)
    print q

main()

这种方法(1)定义了两个函数,并且(2)调用其中一个函数(即main),然后滚动。

Python程序不需要主程序。但是,看看这个成语的用法:

if (__name__ == '__main__').....

对于将测试代码放在每个文件中非常有用。