13

Python

Я, пытающийся получить доступ к текущему значению счетчика:

Python, который показывает мне его в консоли:

Я:

Подробнее о вопросе: https://stackoverflow.com/q/38101507/11277611

Вкратце:
реализация модуля написана на C и Python просто не удосужился написать API для доступа к нему (кроме метода __repr__). Возможно причина кроется в потоко-небезопасном (?) доступе, - не знаю.

Для всех остальных:
в языке питон есть встроенный (импортируемый) удобный счетчик, который бесконечно возвращает следующее значение. Проблема в том, что вы не можете прямо получить его текущее значение, однако при этом питон его успешно отображает в консоле при описании.

P.S. подборка мемов не совсем удачная, лично я представлял это по другому, но использовал то, что нашел в сети (изначально вообще текстом хотел). Если кто-то умеет лучше - дерзайте :)

IT-юмор

7.1K постов53.2K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Автор поста оценил этот комментарий
Чем вас аргументы по ссылке на SO в посте не устраивают? Перевести надо? itertools.counter() - это питоновский генератор, со всеми вытекающими отсюда последствиями. Если программист хочет от генератора текущее, предыдущее или ещё какое кроме следующего значение - это говорит не о том, что питон плохой, а о том, что матчасть надо изучать.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Токсичный ты невероятно. Как тебя команда терпит?
показать ответы
0
Автор поста оценил этот комментарий
Что надо аргументировать? Рассказать, что такое генераторы и итераторы в питоне?
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я думаю, стоит аргументировать свое утверждение.
показать ответы
0
Автор поста оценил этот комментарий
Запили обёртку поверх count().

from itertools import count
class MyCount():
----def __init__(self):
--------self.count = count()
--------self.val = 0
----def __next__(self):
--------self.val = next(self.count)
--------return self.val
----def __iter__(self):
--------return self
----def __repr__(self):
--------return repr(self.count)

c = Mycount()

c.val  # <-- Тут берёшь текущее значение счётчика

for i in range(10):

----print(next(c))

c.val

раскрыть ветку (1)
Автор поста оценил этот комментарий
Мне не актуально.
6
Автор поста оценил этот комментарий

Средняя картинка очень подходит для программиста, пытающегося получить текущее значение функции-генератора.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Аргументируйте тогда, коли начали.
Я вот не вижу проблемы представить генератор в виде графика-функции. Для меня странно, что так не делают.
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества