Можно ли избежать зарезервированного слова в Python? - PullRequest
3 голосов
/ 28 июня 2011

Возможно, не стоит называть переменную после зарезервированного слова, но мне любопытно:

Есть ли в Python escape-синтаксис, позволяющий использовать зарезервированное слово в качестве именипеременная?

Например, в C # это можно сделать, поставив перед зарезервированным словом @

Ответы [ 4 ]

12 голосов
/ 28 июня 2011

Это невозможно, однако в Python существует традиция добавлять _ для получения нового идентификатора:

def drive(from_, to):
    pass
4 голосов
/ 28 июня 2011

Нет , это невозможно.

Раздел 2.3.1 «Справочника по языку Python» говорит, что ключевые слова « нельзя использовать в качестве обычных идентификаторов », и не указывает escape-синтаксис.

Вероятно, это хорошо, ради читабельности кода!

3 голосов
/ 28 июня 2011

Если вы не возражаете против префиксов, вы можете «префикс» с подчеркиванием.Конечно, это на самом деле будет частью имени переменной, но оно будет выглядеть как префиксированное зарезервированное словоКроме этого, это невозможно.

1 голос
/ 23 августа 2018

Я получил ошибку при использовании следующего:

for r in db.call ('ReadCashflows',
                  number = number,
                  from = date_from,
                  to = date_to):

Я попытался использовать заглавные буквы, и теперь это работает:

for r in db.call ('ReadCashflows',
                  number = number,
                  FROM = date_from,
                  TO = date_to):

Это было возможно для меня, потому что моя база данных ORACLE(который не зависит от регистра).Обратите внимание на приведенный выше код: в моем программном приложении фактическими параметрами в базе данных являются pFROM и pTO;«p» добавляется в постобработке до вызова базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...