как получить доступ к членам других модулей в Python

1
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>

Когда я печатаю переменную ph в модуле demo2.py, она вызывается функцией, но не переменной ph. Как получить доступ к переменной ph?

  • 2
    Зачем определять переменную и функцию с одинаковым именем в первую очередь?
  • 0
    я новичок в Python, у меня нет особых требований. но если у меня есть такой случай, то как получить доступ к переменной ph,
Показать ещё 1 комментарий
Теги:
module

2 ответа

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
  • 0
    если я изменяю имя переменной или имя функции, то я могу получить доступ, но меня интересует не изменение имени переменной или имени функции, как получить доступ к переменной ph в другом модуле.
1

определение ph перезаписывается объявлением функции.

Чтобы получить доступ к переменной, просто переименуйте любой из ph s.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню