Здесь есть несколько проблем, как только вы начинаете копать:
Этот предмет называется «element_index», который определен как целое.
Проблема 1: если пользователи следуют ссылке из «integer» в справочное руководство по языку, они не будут знать, что -1 считается выражением, а не целочисленным. Кстати, любой соблазн сказать «работает как задокументированный» должен сначала увидеть пропозицию 7: -)
Предпочтительное решение: измените определение так, чтобы «element_index» мог иметь необязательный «-» перед целым числом.
Это целое число, верно? Не так быстро ... позже документы говорят, что «выражение формы [index]» выполняет поиск по индексу с помощью __getitem__()
»
Задача 3: Должен сказать« [element_index] »(индекс не определено).
Задача 4: Не все знают, что делает __getitem__()
. Нужны более четкие документы.
Таким образом, мы можем использовать здесь dict, а также целое число, не так ли? Да, с проблемой или двумя:
Элемент_индекс - целое число? Да, это работает с dict:
>>> "{0[2]}".format({2: 'int2'})
'int2'
Кажется, что мы также можем использовать нецелые строки, но для этого требуется более явная документация (проблема 5):
>>> "{0[foo]}".format({'foo': 'bar'})
'bar'
Но мы не можем использовать dict с ключом типа «2» (проблема 6):
>>> "{0[2]}".format({'2': 'str2'})
Traceback (most recent call last):
File "", line 1, in
KeyError: 2
>>> "{0['2']}".format({'2': 'str2'})
Traceback (most recent call last):
File "", line 1, in
KeyError: "'2'"
Проблема 7: «Целое число» должно быть документировано как «десятичное целое» ... 0x22 и 0b11 обрабатываются как str, а 010 («окталинтегер») обрабатывается как 10, а не 8:
>>> "{0[010]}".format('0123456789abcdef')
'a'
Обновление: PEP 3101 сообщает истинную историю: «« Правила для разбора ключа элемента очень просты. Если он начинается с цифры, тогда он рассматривается как число, в противном случае он используется как строка.
Поскольку ключи не являются котировками, в ограничительной форме невозможно указать произвольные словарные ключи (например, строки «10» или «: -]») из строки формата. »" "
Если у вас есть пользователи, значит, у вас есть система входа в систему, поэтому с того момента, как пользователь использует функции или какое-либо действие, сохраните атрибут в своей модели на сервере с датой начала, после чего вы можете контролировать показ / скрыть содержимое и соответственно представить оплату непотребляемых IAP