如何在另一个python脚本里使用本脚本里的变量?

各位大虾好!我有一个需求,假设我目前有一个脚本a.py,内容如下:

#!/usr/bin/env python
#coding=utf-8

def aaa():
    Mode = "1"
    KeyWord = "hello"
    return Mode,KeyWord

def bbb(p):
    m=1
    n=2
    z=m+n+p
    return z

print (aaa())

现在有两个问题:
1)有一个b.py想要获取a.py里的Mode和m,n应该怎么做?
2)为什么下面这个脚本,执行效果是('1', 'hello')?而不是
('1', 'hello')
103

#!/usr/bin/env python
#coding=utf-8
from a import aaa,bbb
aaa()
bbb(100)

阅读 4k
3 个回答

你这个好初级.
第二个问题的答案('1', 'hello')print (aaa())打印出来的,来自于a.py,你的b.py虽然执行了但是并没有输出结果(print).python中import一个包会先运行这个包也就是a.py.

第一个问题:做不到.外部无法获得作用于函数内部作用域的变量,你只能定义在外边,或者使用类,或者使用全局变量.

def function():
    global a
    return a

这时候可以从另一个文件from thatfile import a

这种情况直接使用类不就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题