Search

반응형

'파이썬프로그래밍'에 해당되는 글 12건

  1. 2020.10.25 [HOW]파이썬에서 예외처리 하는 방법, 에러처리, python, 왕초보, exception, error
  2. 2020.10.20 [HOW]파이썬 프로그래밍 문자열 포맷팅 사용하는 방법, python formatted string, 왕초보
반응형

안녕하세요. 신기한 연구소입니다.

프로그램을 잘 만드는 것도 중요하지만 

예기치 못한 오류가 발생했을 경우 시스템이 왜 멈췄는지 모른다면

정말 난해할 것입니다.

 

또한 업무적으로나 개발 시 필요한 예외가 있을 겁니다.

그런 경우 프로그램 언어에서는 예외처리 기능을 제공하고 있답니다.

파이썬 역시 예외처리를 지원하고 있으니 어떻게 사용하는지 확인해보겠습니다.

 

 

먼저 파이썬에서 제공하는 예외 형태를 살펴보겠습니다.

 

오류가 발생했습니다.

이유는 숫자와 문자를 이용해 곱셈을 시도했기 때문입니다.

우선 시도를 하는 경우니 실행하기 전까지는 오류가 발생할지 모를 수 있습니다.

 

지금은 간단하게 3줄로 코딩했지만

실전에서는 수십에서 수천 라인의 코딩을 할 수 있습니다.

그러다 보면 실수를 할 수도 있고

변수로 값이 넘어오는 경우 잘못 전달해서 오류를 발생할 수 있습니다.

입력부에서 미리 값을 체크할 수도 있지만

시스템 통신을 하는 경우 예상 못한 변수가 발생한 수 있답니다.

 

그런 경우 예외처리를 해서 어디서 어떤 문제가 있는지 

로그를 확인해서 처리할 수도 있고

시스템이 멈추는 현상을 미리 방지할 수도 있습니다.

즉, 서비스의 지속성에 중요한 역할을 할 수 있답니다.

 

그럼 파이썬은 이런 경우 어떻게 예외처리하는지 알아봅니다.

구현부는  try:를 사용합니다.

시도를 해본다는 의미겠네요.

당연히 들여 쓰기를 해야 합니다.

 

그리고 try: 내의 구현부에 오류가 발생하면 (예외라고 하죠)

except로 이동합니다.

예외의 형태가 같으면 진입해서 해당 구현부를 실행하고

아니면 다른 except를 찾습니다.

그 또한 없다면 예외처리가 잘못된 것으로

기존처럼 오류가 발생합니다.

 

위 예제는 TypeError임을 알고 미리 지정했습니다.

개발자는 try구현부가 어떤 예외가 발생할지 예측을 하고

해당 예외마다 적절한 처리를 할 수 있게 됩니다.

 

import sys를 사용해서 sys.exc_info()[0]로 

예외의 형을 볼 수 있습니다.

 

이번 예제는 except에 형을 지정하지 않고 Exception이라고만 지정했습니다.

이유는 어떤 예외가 발생할지 모르는 경우에 사용할 수 있습니다.

그리고 그 예외가 어떤 것인지 sys.exc_info()[0]를 사용해서

확인할 수 있답니다.

 

이번 예제는 as를 사용해서 오류 정보를 좀 더 사용자 입장에서 

확인할 수 있는 방법을 보여줍니다.

오류를 살펴보니 k를 정의하지 않았다는 정보를 보여줍니다.

개발자가 s1을 사용해야 하는데 상수값인 k를 변수로 착각했을 경우를

예상해 본 것입니다.

 

모듈을 만드는 경우 개발자 입장에서는 어떤 예외가 발생할지 예측하고

미리 지정해서 사용할 수도 있고

혹시 그 외 예외가 발생할 수도 있기에 

다양하게 구성할 수 있습니다.

 

except를 2개 사용해 봤습니다.

위 예제처럼 다양하게 예외를 처리할 수 있습니다.

지금까지 파이썬의 기본적인 예외처리 방법을 알아봤습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

문자열의 출력하다 보면 중간에 원하는 변수의 값을 넣고 싶은 경우가 있습니다.

파이썬 프로그램에서 사용하는 방법에 대해 알아봅니다.

포맷팅이라고 해서 어려운 것은 아닙니다.

보통 프로그래밍 언어에서 다 사용하거든요.

파이썬 프로그램은 어떻게 사용하는지 보겠습니다.

 

위 예제를 보면 2가지 특이한 점이 있습니다.

사실 처음 보는 구조이긴 합니다.

바로 파란색으로 표시된 'f'와 '{ }'입니다.

파이썬에서는 외부 변수를 문자열에서 호출하는 경우

먼저 제일 앞에 'f' 또는 'F'를 표시해서 포맷팅임을 알려줍니다.

그리고 문자열 내 원하는 위치에 중괄호 { }를 사용해서

그 안에 원하는 변수명을 넣어주면 됩니다.

결과가 잘 나왔습니다.

 

이번 예제는 문자열 뒤에. format()을 사용했습니다.

원하는 위치에 중괄호{}만 넣고. format() 함수를 사용하고

함수의 입력 인자로 문자열의 {}에 들어갈 값을 순서대로 넣어주면 됩니다.

 

이번 예제는 숫자와 관련된 파이썬 포맷팅입니다.

중괄호는 이미 설명은 했고 :5.2는 자연수 자리는 5개, 소수점 이하 2개까지

표시하라는 의미입니다.

:2는 소수점 자리를 표시하는 것이고 :.2로 사용해도 됩니다.

자릿수 표시를 하지 않은 경우는 중괄호만 사용하거나 {:}로 사용해도 됩니다.

결과가 잘 나왔습니다.

 

여기까지 정리하면 문자열 내에 변수를 사용하는 방법은

시작할 때 f 또는 F를 붙인 뒤 중괄호에 변수명을 넣어주거나

문자열 내에 중괄호를 사용하고 .format()을 사용하는 방법입니다.

 

위 예제는 인덱스를 사용한 방법입니다.

중괄호 안에 .format()함수 내 인자의 인덱스 값을 넣으면

해당 위치에 값이 출력됩니다.

인덱스 {0}을 여러 번 사용해도 됩니다.

변수명과 인덱스를 혼용해서 사용해도 잘 되더군요.

 

마지막으로 정렬하는 방법을 보겠습니다.

{0:#>5}를 분석하면 >는 오른쪽으로 정렬을 의미하며

5는 공간이 5라는 의미이며

빈 공간은 #으로 채우라는 의미입니다.

그럼 <는 왼쪽 정렬을 의미하고

^는 가운데 정렬을 의미한다고 보면 되겠네요.

결과는 깔끔하게 잘 나왔습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형