如何在python中访问另一个模块的成员

时间:2018-08-28 05:08:30

标签: python module

Demo1.py
--------
   ph=10
   def ph():
        print("Phone")
   def email():
        print("Email")

Demo2.py
---------
from Demo1 import ph,email
      print(email)
      print(ph)

output: Email 
    <function ph at 0x0000021E81BC3158>

当我在 demo2.py 模块中打印变量ph时,它将调用函数,但不会调用变量ph。如何访问变量ph

2 个答案:

答案 0 :(得分:4)

您的变量和函数在Demo1.py, ph 中相同。由于该函数是在脚本的后面定义的,因此 ph 引用了该函数。更改其中一个的名称,这应该可以解决问题:

# Demo1.py
ph = 10
def phone():
    print("Phone")
def email():
    print("Email")

此外,由于您已经在 Demo1.py 中的函数内部进行了打印,因此无需在 Demo2.py 中再次打印它们,但是您需要打印变量 ph

的值
# Demo2.py
from Demo1 import ph, phone, email
print(ph)
email
phone

输出:

10
Phone
Email

答案 1 :(得分:1)

ph的定义被函数声明覆盖。

要访问该变量,只需重命名ph中的任何一个即可。