首页 > 编程语言 > 详细

python中将main函数写成接口后main函数中的参数不能传递问题

时间:2020-02-24 11:50:22      阅读:161      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

在main函数这种定义了一些参数,但是将main函数改写成普通函数供其他py文件调用的时候,我们发现原来的参数在ide中变成了灰色,而且不能顺利的传递给普通函数调用的函数。

在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量

在普通的def函数A里面,在调用其他函数B的时候,要一起把B函数需要的参数传递进去:

看例子:

gl_count = 500  # 全局变量


def my_fun_local():
    gl_count = 0  # 这个count是局部变量,外面的 全局变量与其虽然同名但是无关
    print("my_fun_local ", gl_count)  # 打印局部变量


def my_fun_global():
    global gl_count
    print("my_fun_global ", gl_count)  # 打印全局变量
    gl_count = 5  # 这个count是全局变量,在函数内部进行的修改 会影响到函数外部
    print("my_fun_global ", gl_count)  # 打印全局变量


def main():
    my_fun_local()
    print("main ", gl_count)  # 打印的是全局变量
    my_fun_global()
    print("main ", gl_count)  # 打印的是全局变量


if __name__ == __main__:
    main()

最方便的解决方法就是把变量提到函数外作为全局变量或者加上global

技术分享图片

 

python中将main函数写成接口后main函数中的参数不能传递问题

原文:https://www.cnblogs.com/wangzhihang/p/12355787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!