Проверьте, определена ли переменная в Python
В этом посте мы обсудим, как проверить, определена ли переменная в Python.
1. Использование locals() функция
Чтобы проверить, определена ли переменная в локальной области, вы можете использовать locals() функция, которая возвращает словарь, представляющий текущую локальную таблицу символов.
if ‘x’ in locals ( ) :
print ( ‘Variable exist.’ )
print ( ‘Variable don\’t exist.’ )
if __name__ == ‘__main__’ :
foo ( ) # Переменная существует.
2. Использование vars() функция
В качестве альтернативы вы можете использовать no-arg vars() функция, которая действует как locals() функция.
if ‘x’ in vars ( ) :
print ( ‘Variable exist.’ )
print ( ‘Variable don\’t exist.’ )
if __name__ == ‘__main__’ :
foo ( ) # Переменная существует.
3. Использование dir() функция
Без аргументов, dir() функция возвращает список имен в текущей локальной области видимости.
if ‘x’ in dir ( ) :
print ( ‘Variable exist.’ )
print ( ‘Variable don\’t exist.’ )
if __name__ == ‘__main__’ :
foo ( ) # Переменная существует.
4. Использование globals() функция
Наконец, чтобы проверить существование глобальной переменной, вы можете использовать globals() функция. Он возвращает словарь, представляющий текущую глобальную таблицу символов.
if ‘x’ in globals ( ) :
print ( ‘Variable exist.’ )
print ( ‘Variable don\’t exist.’ )
if __name__ == ‘__main__’ :
foo ( ) # Переменная существует.
Это все, что касается определения того, определена ли переменная в Python.
Оценить этот пост
Средний рейтинг 4.84 /5. Подсчет голосов: 25
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Как проверить существует ли переменная python
Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
Например, создадим переменную:
name = "Tom"
Здесь определена переменная name , которая хранит строку «Tom».
В пайтоне применяется два типа наименования переменных: camel case и underscore notation .
Camel case подразумевает, что каждое новое подслово в наименовании переменной начинается с большой буквы. Например:
userName = "Tom"
Underscore notation подразумевает, что подслова в наименовании переменной разделяются знаком подчеркивания. Например:
user_name = "Tom"
И также надо учитывать регистрозависимость, поэтому переменные name и Name будут представлять разные объекты.
# две разные переменные name = "Tom" Name = "Tom"
Определив переменную, мы можем использовать в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print :
name = "Tom" # определение переменной name print(name) # вывод значения переменной name на консоль
Например, определение и применение переменной в среде PyCharm:

Отличительной особенностью переменной является то, что мы можем менять ее значение в течение работы программы:
name = "Tom" # переменной name равна "Tom" print(name) # выводит: Tom name = "Bob" # меняем значение на "Bob" print(name) # выводит: Bob
Типы данных
Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. В данном случае рассмотрим только самые базовые типы: bool , int , float , complex и str .
Логические значения
Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False , наоборот, показывает, что что-то ложно. Пример переменных данного типа:
isMarried = False print(isMarried) # False isAlive = True print(isAlive) # True
Целые числа
Тип int представляет целое число, например, 1, 4, 8, 50. Пример
age = 21 print("Возраст:", age) # Возраст: 21 count = 15 print("Количество:", count) # Количество: 15
По умолчанию стандартные числа расцениваются как числа в десятичной системе. Но Python также поддерживает числа в двоичной, восьмеричной и шестнадцатеричной системах.
Для указания, что число представляет двоичную систему, перед числом ставится префикс 0b :
a = 0b11 b = 0b1011 c = 0b100001 print(a) # 3 в десятичной системе print(b) # 11 в десятичной системе print(c) # 33 в десятичной системе
Для указания, что число представляет восьмеричную систему, перед числом ставится префикс 0o :
a = 0o7 b = 0o11 c = 0o17 print(a) # 7 в десятичной системе print(b) # 9 в десятичной системе print(c) # 15 в десятичной системе
Для указания, что число представляет шестнадцатеричную систему, перед числом ставится префикс 0x :
a = 0x0A b = 0xFF c = 0xA1 print(a) # 10 в десятичной системе print(b) # 255 в десятичной системе print(c) # 161 в десятичной системе
Стоит отметить, что в какой-бы системе мы не передали число в функцию print для вывода на консоль, оно по умолчанию будет выводиться в десятичной системе.
Дробные числа
Тип float представляет число с плавающей точкой, например, 1.2 или 34.76. В качесте разделителя целой и дробной частей используется точка.
height = 1.68 pi = 3.14 weight = 68. print(height) # 1.68 print(pi) # 3.14 print(weight) # 68.0
Число с плавающей точкой можно определять в экспоненциальной записи:
x = 3.9e3 print(x) # 3900.0 x = 3.9e-3 print(x) # 0.0039
Число float может иметь только 18 значимых символов. Так, в данном случае используются только два символа — 3.9. И если число слишком велико или слишком мало, то мы можем записывать число в подобной нотации, используя экспоненту. Число после экспоненты указывает степень числа 10, на которое надо умножить основное число — 3.9.
Комплексные числа
Тип complex представляет комплексные числа в формате вещественная_часть+мнимая_часть j — после мнимой части указывается суффикс j
complexNumber = 1+2j print(complexNumber) # (1+2j)
Строки
Тип str представляет строки. Строка представляет последовательность символов, заключенную в одинарные или двойные кавычки, например «hello» и ‘hello’. В Python 3.x строки представляют набор символов в кодировке Unicode
message = "Hello World!" print(message) # Hello World! name = 'Tom' print(name) # Tom
При этом, если строка имеет много символов, ее можно разбить на части и эти части разместить на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части — в кавычки:
text = ("Laudate omnes gentes laudate " "Magnificat in secula ") print(text)
Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки:
''' Это комментарий ''' text = '''Laudate omnes gentes laudate Magnificat in secula Et anima mea laudate Magnificat in secula ''' print(text)
При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.
Управляющие последовательности в строке
Строка может содержать ряд специальных символов — управляющих последовательностей. Некоторые из них:
- \\ : позволяет добавить внутрь строки слеш
- \’ : позволяет добавить внутрь строки одинарную кавычку
- \» : позволяет добавить внутрь строки двойную кавычку
- \n : осуществляет переход на новую строку
- \t : добавляет табуляцию (4 отступа)
Применим несколько последовательностей:
text = "Message:\n\"Hello World\"" print(text)
Консольный вывод программы:
Message: "Hello World"
Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:
path = "C:\python\name.txt" print(path)
Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы «\n», которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод:
C:\python ame.txt
Чтобы избежать подобной ситуации, перед строкой ставится символ r
path = r"C:\python\name.txt" print(path)
Вставка значений в строку
Python позволяет встравивать в строку значения других переменных. Для этого внутри строки переменные размещаются в фигурных скобках <>, а перед всей строкой ставится символ f :
userName = "Tom" userAge = 37 user = f"name: age: " print(user) # name: Tom age: 37
В данном случае на место будет вставляться значение переменной userName. Аналогично на вместо будет вставляться значение переменной userAge.
Динамическая типизация
Python является языком с динамической типизацией. А это значит, что переменная не привязана жестко к определенному типу.
Тип переменной определяется исходя из значения, которое ей присвоено. Так, при присвоении строки в двойных или одинарных кавычках переменная имеет тип str . При присвоении целого числа Python автоматически определяет тип переменной как int . Чтобы определить переменную как объект float, ей присваивается дробное число, в котором разделителем целой и дробной части является точка.
При этом в процессе работы программы мы можем изменить тип переменной, присвоив ей значение другого типа:
userId = "abc" # тип str print(userId) userId = 234 # тип int print(userId)
С помощью встроенной функции type() динамически можно узнать текущий тип переменной:
userId = «abc» # тип str print(type(userId)) # userId = 234 # тип int print(type(userId)) #
Проверка является ли переменная строковой в Python
Иногда мы хотим проверить, является ли переменная или входной аргумент String, а затем выполнять только дальнейшие действия. Мы можем использовать функцию isinstance(), чтобы проверить, является ли переменная строковой или нет.
Давайте посмотрим на простой пример, чтобы проверить, является ли переменная строкой или нет.
i = 5 # not str print(isinstance(i, str)) s = 'abc' # string print(isinstance(s, str))
False True
Ввод функции
Если вы посмотрите на пример выше, мы создаем переменную, поэтому мы уже знаем ее тип. Однако, если нам нужно определить функцию для обработки входной строки, рекомендуется проверить, является ли введенный вход строкой или нет.
Допустим, у нас есть функция, определенная как:
def process_string(input_str): print('Processing', input_str)
Если у нас есть следующий фрагмент кода для выполнения этой функции:
process_string('abc') process_string(100)
Processing abc Processing 100
Поскольку у нас нет проверки для входного аргумента, наша функция также обрабатывает нестроковые аргументы.
Если мы хотим, чтобы наша функция выполняла свою логику только для строкового аргумента, мы можем добавить проверку с помощью функции isinstance().
def process_string(input_str): if (isinstance(input_str, str)): print('Processing', input_str) else: print('Input Must be String')
Теперь, когда мы вызываем эту функцию как:
process_string('abc') process_string(100)
Processing abc Input Must be String
Мы можем использовать функцию isinstance() для проверки типа любой переменной или аргументов функции.
Проверка существования переменной в Python
Существование переменной является важным аспектом при написании кода на Python. Иногда возникает необходимость проверить, была ли переменная объявлена до использования.
Например, представим ситуацию, где необходимо выполнить определенные действия, если переменная уже определена, и другие действия, если это не так.
if 'myVar' in locals(): # выполнить действия, если переменная существует else: # выполнить действия, если переменная не существует
Здесь используется встроенная функция Python locals() , которая возвращает словарь текущих пространств имен. Затем проверяется наличие переменной в этом словаре.
Обратите внимание, что эта проверка работает только для локальных переменных, т.е. переменных, объявленных в текущей области видимости. Для глобальных переменных следует использовать функцию globals() .
Но что, если попытаться обратиться к несуществующей переменной напрямую? Python сгенерирует исключение NameError .
try: myVar except NameError: # выполнить действия, если переменная не существует
В данном случае используется блок try/except для обработки исключений. Если переменная myVar не существует, произойдет исключение NameError , и код внутри блока except будет выполнен.
В заключение, в Python есть два основных способа проверки существования переменной: использование функций locals() или globals() и обработка исключения NameError . Выбор способа зависит от конкретной ситуации и предпочтений разработчика.