Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Как программист, вы можете столкнуться с ситуациями, когда ваш код может столкнуться с ошибками или исключениями, поэтому очень важно понимать, как обрабатывать различные типы ошибок в вашем коде. Обработка ошибок является важной частью цикла кодирования. Одним из распространенных способов обработки ошибок в Python является использование метода try-except.
Техника try-except в Python состоит из блока try и блока exclude. Блок try содержит код, который может генерировать ошибку или исключение, а блок exclude содержит код для обработки этих ошибок или исключений.
Когда ваш код работает без каких-либо проблем в блоке try, блок exclude игнорируется. Однако, если в блоке try возникает ошибка или исключение, код, который вы написали в блоке exclude, будет выполняться для решения проблемы.
В этой статье мы обсудим блок try-expect в Python , различные типы ошибок и исключений, с которыми вы можете столкнуться при написании кода, и то, как вы можете обрабатывать их с помощью операторов try-except.
Давайте погрузимся в это!
Оглавление
Каковы типы ошибок в Python?
В Python ошибки можно условно разделить на два основных типа:
1. Синтаксические ошибки : они также известны как ошибки синтаксического анализа, вызванные неправильной грамматикой в коде. Синтаксические ошибки обнаруживаются интерпретатором Python и останавливают выполнение вашей программы.
Ниже приведен пример синтаксической ошибки в Python:
print("Hello, world!"
В этом примере отсутствует закрывающая скобка, поэтому Python не понимает эту инструкцию, и, следовательно, это синтаксическая ошибка.
Исключения : Исключения возникают, когда что-то идет не так во время выполнения программы, даже если код синтаксически правильный. К ним могут относиться логические ошибки или ошибки времени выполнения, такие как недопустимые входные данные или деление на ноль.
Следующая функция является примером исключения в Python:
print(5 / 0)
Эта строка кода вызовет исключение ZeroDivisionError, которое возникает при попытке разделить число на ноль.
На изображении выше вы можете видеть, что при делении 5 на 0 возникло исключение.
Теперь, когда вы понимаете, какие исключения существуют в Python, мы увидим, как мы можем обрабатывать исключения с помощью оператора Try-Except в Python. Давайте рассмотрим синтаксис блоков Try и Except в Python в следующем разделе.
Каков синтаксис блоков Try и Except?
Синтаксис функции определяет, как вы должны использовать эту функцию в своем коде, в том числе какие аргументы она принимает и что возвращает.
Мы перечислили синтаксис предложения try и блоков исключений вместе с предложением else и блоками finally ниже.
1. Синтаксис оператора Try
Оператор try позволяет проверить блок кода на наличие ошибок. Когда вы пишете код в блоке try , Python выполняет его как обычную часть вашей программы.
Чтобы использовать оператор try , просто поместите свой код в блок try :
try: # Your code here
2. Синтаксис пункта Except
Предложение exclude обрабатывает ошибки, которые могут возникнуть во время выполнения блока try . Вы можете указать тип исключения, которое хотите перехватить, или использовать общий оператор exclude для обработки всех исключений.
Следующий синтаксис показывает определенный тип исключения:
try: # Your code here except ValueError: # Handle ValueError exception
Для обработки классов исключений в целом или нескольких исключений вы можете использовать приведенный ниже синтаксис:
try: # Your code here except Exception: # Handle any exception
3. Синтаксис предложения/блока Else
Предложение else позволяет выполнить блок кода, когда в блоке try нет ошибок .
Чтобы использовать предложение else , вы можете поместить его после блока exclude , как показано ниже:
try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors
4. Синтаксис блока finally
Блок finally позволяет выполнять код независимо от результата блоков try и exclude . Это может быть полезно для действий, которые вы хотите выполнить независимо от того, было ли возбуждено исключение.
Чтобы использовать блок finally , вы можете поместить его после блока else :
try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors finally: # Code to execute regardless of the result of the try and except blocks
Чтобы увидеть приведенный выше синтаксис в действии, мы рассмотрим пример обработки исключений с помощью блока try-except в Python.
Обработка исключений с помощью Try-Except в Python
При возникновении ошибки Python обычно останавливается и генерирует сообщение об ошибке. Вы можете обрабатывать несколько исключений, используя блок try и exclude .
В приведенном ниже примере мы обрабатываем ошибку деления на ноль, ранее сгенерированную при делении 5 на 0.
try: print(5 / 0) except ZeroDivisionError: print("You can't divide by zero!")
В этом коде возникает исключение, но программа продолжает работать и выводит «Нельзя делить на ноль!» вместо остановки с ошибкой.
Использование блоков try и кроме позволяет вам контролировать поток вашей программы. Обрабатывая определенные исключения , вы можете предоставить пользователю полезную обратную связь и поддерживать работу программы при появлении ошибки.
В приведенном выше примере вы можете видеть, что мы использовали встроенное исключение ZeroDivisionError для обработки случая. Аналогично этому, существуют и другие типы встроенных исключений.
Знакомство с этими типами исключений поможет вам решить, какое ожидание использовать при возникновении ошибки в коде Python, поэтому давайте рассмотрим некоторые исключения в следующем разделе.
Каковы типы встроенных исключений?
В Python исключения — это экземпляры класса, производного от класса BaseException. При обнаружении ошибок Python вызывает исключение. Существует несколько встроенных исключений, с которыми вы, вероятно, столкнетесь при написании программ на Python.
Давайте рассмотрим некоторые из наиболее распространенных:
ZeroDivisionError: Это происходит, когда вы пытаетесь разделить число на ноль.
NameError: это возникает, когда вы пытаетесь использовать переменную или функцию, которая не была определена.
ValueError : происходит, когда вы передаете аргумент правильного типа, но с недопустимым значением.
TypeError : это происходит, когда вы передаете аргумент неправильного типа данных.
FileNotFoundError : возникает, когда вы пытаетесь открыть или получить доступ к несуществующему файлу.
ImportError : Возникает при попытке импортировать модуль или пакет, который не существует или не может быть найден.
Другие соответствующие исключения включают:
OverflowError: эта ошибка возникает, когда результат вычисления слишком велик для представления.
FloatingPointError: возникает при сбое операции с плавающей запятой.
IndexError: происходит, когда вы пытаетесь получить доступ к индексу, находящемуся вне диапазона последовательности (например, списка или кортежа).
KeyError: возникает при попытке доступа к ключу, которого нет в словаре.
EOFError: возникает, когда Python встречает конец файла (EOF) при чтении ввода, обычно при вызове read().
ArithmeticError: суперкласс для арифметических исключений, таких как ZeroDivisionError, OverflowError и FloatingPointError.
Иногда может быть необходимо использовать определяемые пользователем исключения, такие как оператор pass в блоке, где ожидается исключение. Это должно быть сделано разумно, так как это может подавить другие исключения.
Мы предоставили вам приведенный выше список распространенных ошибок исключений, чтобы вы могли использовать его в качестве руководства по обработке возможных исключений при написании программ на Python.
Обратите внимание, что большинство исключений можно перехватить и обработать, но следует позаботиться об обработке самого последнего вызова, чтобы избежать вложенной обработки других случаев исключения.
В следующем разделе мы рассмотрим некоторые варианты использования блока try-except в Python. Давайте погрузимся в это!
5 вариантов использования блока Try-Except
Блок Try Except — один из широко используемых методов обработки ошибок. Ниже приведены некоторые варианты использования блока Try Except в Python:
1. Обработка файлов с помощью Try Except
При работе с файлами всегда есть шанс, что файл не существует или находится не в том месте, откуда ваш скрипт пытается получить к нему доступ.
Следующий код вызовет исключение, когда мы попытаемся открыть несуществующий файл.
try: with open('file.txt', 'r') as file: print(file.read()) except FileNotFoundError: print('Sorry, this file does not exist.')
В этом коде мы пытаемся открыть и прочитать файл с именем «file.txt». Если «file.txt» не существует, возникает исключение, но вместо ошибки, останавливающей вашу программу, она печатает «Извините, этот файл не существует».
2. Обработка пользовательского ввода с помощью Try Except
Пользовательский ввод — еще одна область, где часто возникают исключения. Пользователи могут предоставлять данные в неожиданном формате или вводить данные за пределами допустимого диапазона.
В следующем примере показано, как обрабатывать пользовательский ввод с помощью блока try-except:
try: age = int(input("Enter your age: ")) except ValueError: print("That's not a valid age. Please enter a number.")
В этом коде мы просим пользователя ввести свой возраст. Если они вводят что-то, что не может быть преобразовано в целое число (например, слово или букву), возникает исключение, но вместо сбоя программы она печатает «Это неверный возраст». Пожалуйста, введите номер.'
3. Доступ к несуществующим ключам словаря
В Python словарь — это изменяемый неупорядоченный набор пар ключ-значение , где каждый ключ должен быть уникальным.
Когда вы пытаетесь получить доступ к ключу, которого нет в словаре, Python выдает ошибку KeyError. Вы можете использовать try и кроме для обработки этого исключения, как показано в примере ниже:
dictionary = {"key1": "value1", "key2": "value2"} try: print(dictionary["key3"]) except KeyError: print("The key does not exist in the dictionary.")
В этом коде вы пытаетесь вывести значение «key3» из словаря. Если 'key3' не существует в словаре, возникает исключение, но программа не останавливается с ошибкой, а печатает 'Ключ не существует в словаре'.
4. Преобразование строки в целое число
Могут быть случаи, когда вы хотите преобразовать строку в целое число. Но если строка не представляет допустимое целое число, Python выдаст ошибку ValueError.
Вы можете использовать try и кроме для обработки этого случая:
try: num = int("hello") except ValueError: print("That string can't be converted to integer.")
В этом случае «привет» нельзя преобразовать в целое число, поэтому Python выдает ошибку ValueError и печатает «Эта строка не может быть преобразована в целое число».
5. Импорт модуля
При импорте модуля в Python возможно, что модуль не существует или не установлен. В таких случаях Python вызовет ошибку ImportError.
Для обработки этого случая вы можете использовать следующий код:
try: import some_module except ImportError: print("The module 'some_module' is not installed.")
В приведенном выше примере, если «some_module» не установлен или не существует, Python выдаст ошибку ImportError и напечатает «Модуль «some_module» не установлен».
Чтобы узнать больше о написании кода на Python и обработке ожиданий, посмотрите следующее видео:
Далее мы рассмотрим некоторые из лучших практик обработки исключений. Давайте погрузимся в это!
Рекомендации по обработке исключений
В этом разделе мы перечислили некоторые из лучших практик обработки исключений с помощью блока Try Except. Некоторые рекомендации по обработке исключений:
1. Будьте конкретны с исключениями
Когда вы пишете свой код, крайне важно как можно точнее перехватывать исключения. Это означает, что вместо того, чтобы просто перехватывать общее имя исключения, вы должны перехватывать фактический тип исключения, который вы ожидаете.
Таким образом, вы будете точно знать, какая ошибка произошла, и сможете правильно с ней справиться.
2. Не подавляйте исключения
Когда вы имеете дело с исключениями, у вас может возникнуть соблазн просто перехватить их с помощью обработчика исключений и ничего с ними не делать. Это вообще плохая идея.
Если происходит ошибка, обычно это происходит потому, что есть что-то, что нужно исправить. Если вы подавите класс исключений, ошибка может остаться незамеченной и позже вызвать проблемы.
3. Используйте finally для очистки кода
Иногда у вас есть код, который нужно запустить независимо от того, произошла ошибка или нет. Это может быть что-то вроде закрытия файла или освобождения некоторых ресурсов.
В этих случаях вы можете использовать блок finally . Код внутри блока finally будет выполняться несмотря ни на что, так что это отличное место для размещения кода очистки.
try: # Some code here finally: # This code will run no matter what
4. Создавайте исключения, когда это необходимо
Могут быть ситуации, когда вам нужно сообщить пользователю вашего кода, что что-то пошло не так.
В этих случаях вы можете вызвать исключение. Это немедленно остановит выполнение вашего кода и сообщит пользователю, что произошла ошибка.
if not valid_input: raise ValueError("Your input was not valid!")
Понимание и внедрение этих рекомендаций сделает ваш код более надежным, его будет легче отлаживать, а также предотвратите неожиданные сбои.
Последние мысли
Подводя итог, знание того, как использовать try и exclude в Python, действительно помогает, когда вы пишете свой код и сталкиваетесь с исключениями в нем.
Они позволяют вашей программе плавно обрабатывать ошибки, а не просто внезапно останавливаться. Это способ убедиться, что ваш код справляется с неожиданностями и продолжает работать.
Кроме того, когда вы используете try и кроме, это показывает, что вы действительно думаете о том, что может пойти не так, и готовитесь к этому. Так что найдите время, чтобы изучить эти инструменты — они очень полезны, когда вы пишете код на Python!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.