Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
 
23 / 23 / 14
Регистрация: 01.05.2015
Сообщений: 180
1

Как объявить переменную, доступную во всех модулях?

11.02.2016, 17:54. Просмотров 386. Ответов 1
Метки нет (Все метки)


К примеру есть три файла:
Python
1
2
3
4
#a.py
import main
def aDef():
    main.q = q+5
Python
1
2
3
4
#b.py
import main
def bDef():
    main.q = q+10
Python
1
2
3
4
5
6
7
8
9
#main.py вариант 1
import a
import b
q = 10
print (q)
a.aDef()
print (q)
b.bDef()
print (q)
при запуске получаю ошибку:
10
Traceback (most recent call last):
File "main.py", line 26, in <module>
import a
File "/mnt/disk2000gb/1/a.py", line 24, in <module>
import main
File "/mnt/disk2000gb/1/main.py", line 31, in <module>
a.aDef()
AttributeError: 'module' object has no attribute 'aDef'

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
#main.py вариант 2
import a
import b
def main():
    q = 10
    print (q)
    a.aDef()
    print (q)
    b.bDef()
    print (q)
    
if __name__ == '__main__':
    main()
при запуске уже другая ошибка:
10
Traceback (most recent call last):
File "main.py", line 37, in <module>
main()
File "main.py", line 31, in main
a.aDef()
File "/mnt/disk2000gb/1/a.py", line 28, in aDef
main.q = main.q+12
AttributeError: 'module' object has no attribute 'q'

Как объявить переменную q, чтобы она была доступна и её можно было бы изменять?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2016, 17:54
Ответы с готовыми решениями:

Как объявить переменную, доступную не то, что в другой форме, а в другом exe
Всем привет. Я умею объявлять глобальные переменные внутри одного exe. Тоесть если в нем есть...

Как можно сделать переменную, доступную во всех файлах?
Здравствуйте, есть переменная token, она хранится в одном файле(auth.cs), нужно чтобы она была...

Как обьявить переменную доступную всем процедурам на разных формах?
Как обьявить переменную доступную всем процедурам на разных формах?

Как использовать одну переменную в двух модулях?
У меня есть несколько форм. Каждая из них связана через alt+f11 с другими формами. Нужна передавать...

1
2723 / 2327 / 620
Регистрация: 19.03.2012
Сообщений: 8,832
11.02.2016, 18:03 2
a
Python
1
2
def a_def(num):
    return num + 5
b
Python
1
2
def b_def(num):
    return num + 10
main
Python
1
2
3
4
5
6
7
8
import a
import b
num = 10
print(num)
num = a.a_def(num)
print(num)
num = b.b_def(num)
print(num)
Главный модуль на то и главный, что его ни кто не импортирует, а он импортирует другие модули и работает с нужными функциями из других модулей.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2016, 18:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как использовать одну переменную в разных модулях
Дорогие форумяне! Есть макросы, имена которых добавлены в событие листа, но с одним проблема......

Как объявить переменную?
curl_easy_setopt(curl, CURLOPT_URL, url); Как объявить переменную? Этот код находится внутри...

Как объявить переменную
Или так(тоже не получается) namespace имя { public partial class Form1 : Form { ...

Как объявить глобальную переменную
При объявление Public ничего не происходит Public Sub Form1_Load(ByVal sender As System.Object,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.