
Tishka17
24.04.2019
10:41:48
Глобальные переменные, удобно
Неконтролируемый жизненный цикл - это же так круто

Tynuk
24.04.2019
10:42:29
какой цикл?

?? Eugene
24.04.2019
10:42:32
Зачем тебе такая кривая либа когда ровных полно?

Google

Tishka17
24.04.2019
10:43:00
какой цикл?
Жизненный. Вот ты поменял токен, а вдруг его старое значение кто-то уже юзает

Tynuk
24.04.2019
10:43:14

Tishka17
24.04.2019
10:43:20

Tynuk
24.04.2019
10:43:36
и обе юзают

Tishka17
24.04.2019
10:43:52
Ну я и говорю
Глобальные переменные допустимы только в одном случае - если они константы. Если у тебя хоть где-то они меняются после создания, это уже говнокод

Tynuk
24.04.2019
10:44:58
токен можно считать константой

Tishka17
24.04.2019
10:45:04
Нельзя

Tynuk
24.04.2019
10:45:08
че?
он всегда один и тот же

Prunkles
24.04.2019
10:45:50

Google

Tishka17
24.04.2019
10:46:21
Сделай такой код.
file.py:
from lib import token
def debug():
print(token)
main.py:
...
lib.token="xxx"
file.debug()
У тебя у токен два значения: дефолтное и то, которое ты туда записал.
Он уже не константа
Выше пример, на котором все сломается

Prunkles
24.04.2019
10:47:46
Но он же может сделать отдельный файл, куда будет записывать токен, типа конфигурационный файл. И вот тебе константа

Alex
24.04.2019
10:47:47
супер, я так же раньше делал =)
я когда это увидел, думал что это кто то такой план себе сделал, а потом как дошло что это рабочий код ваще в осадок выпал...=)

Tynuk
24.04.2019
10:47:53

Tishka17
24.04.2019
10:48:19
понять бы что это делает
Ну ожидается, что функция debug будет выводить токен. Но она не будет этого делать, она будет выводить дефолтное значение

Tynuk
24.04.2019
10:49:09

Tishka17
24.04.2019
10:49:11

Tynuk
24.04.2019
10:49:30
их полно

Tishka17
24.04.2019
10:49:44
Ну а почему нельзя взять нормальную либу?

Prunkles
24.04.2019
10:49:52

Tynuk
24.04.2019
10:50:04

Tishka17
24.04.2019
10:50:49
потому что я лох
Скажи хоть название этой кривой штуки, запишу, буду всех отговаривать

Tynuk
24.04.2019
10:51:36
ты про мою либу?

Google

Tishka17
24.04.2019
10:51:44
А, ты сам написал либу?

Tynuk
24.04.2019
10:51:45
Я не собираюсь ее заливать

Prunkles
24.04.2019
10:51:47

Tishka17
24.04.2019
10:51:51
Так напиши нормально

Tynuk
24.04.2019
10:52:01

Tishka17
24.04.2019
10:52:03
Я думал ты взял готовое говно
А ты его сам делаешь

Tynuk
24.04.2019
10:52:16

Tishka17
24.04.2019
10:52:17
Ну так не юзай глобальные переменные

Tynuk
24.04.2019
10:52:26

Tishka17
24.04.2019
10:52:39
Сделай блин класс, в который ты будешь его при создании передавать

Tynuk
24.04.2019
10:52:49
Ну так не юзай глобальные переменные
def getUpdates(offset= 0, limit = 100, timeout = 0, allowed_updates = []):
#global TOKEN
a = {'offset': offset, 'limit': limit, 'timeout': timeout, 'allowed_updates': allowed_updates}
b = get(f'https://api.telegram.org/bot{TOKEN}/getUpdates', params = a).json()
return b
фу

?? Eugene
24.04.2019
10:53:04
Сделай класс-обертку, который принимает токен аргументом

Tynuk
24.04.2019
10:53:04
ФП
Я хочу попробывать для начала ФП либу запилить
а потом другую сделать с классами

Tishka17
24.04.2019
10:53:43
ФП?

Prunkles
24.04.2019
10:53:57
ФП?
Функицональнео Программирование, наверное

Google

?? Eugene
24.04.2019
10:54:12
Ты хотел сказать "структурное"

Tishka17
24.04.2019
10:54:14
Ну сделай функцию, которая получает токен и возвращает другую функцию получения апдейта с этим токеном

?? Eugene
24.04.2019
10:54:26
Да, процедурное

Tynuk
24.04.2019
10:55:18

Tishka17
24.04.2019
10:55:27

Tynuk
24.04.2019
10:55:34
Функицональнео Программирование, наверное

Tishka17
24.04.2019
10:55:52

Tynuk
24.04.2019
10:55:53
да я лох
а что?
а бля

Stuber
24.04.2019
10:56:52
Как сделать чтобы колонка процент была глобальной в бд mysql для всех юзеров? По дефолту, например, стоит 10 процентов, потом этот процент меняется и при добавлении нового юзера, чтоб не выводился дефолтные 10 процентов, а бралось из глобального?

Prunkles
24.04.2019
10:57:12
percent*

Tishka17
24.04.2019
10:57:55
def get_updater(token):
return lambda *a, **k: get_update(*a, **k, token=token)

Tynuk
24.04.2019
10:58:29
та я увидел

Tishka17
24.04.2019
10:58:39
Вот тебе функциональное программирование

Google

Tynuk
24.04.2019
10:58:40
теперь кол-во О увеличелось

Aragaer
24.04.2019
10:58:46
functools.partial(get_update, token=token)

Tishka17
24.04.2019
10:58:51
Можно через partial конечно
Ну вот, да

?? Eugene
24.04.2019
10:59:06

Stuber
24.04.2019
10:59:20
тоже так подумал

?? Eugene
24.04.2019
10:59:27
Да

Stuber
24.04.2019
10:59:37
просто думал мб есть какой нибудь другой способ, чтоб не делать отдельную таблицу с одним полем

Tishka17
24.04.2019
11:00:21
да я лох
Просто запомни: глобальные переменные - зло и не должны использоваться если есть хоть одно присваивание после ее создания