try except 에러라인 출력하기파이썬에서는 try except로 예외 오류 처리를 함으로써 프로그램이 정지되지 않고 무사히 끝내는 장치가 마련되어 있습니다. 에러를 넘기고 무사히 프로그램을 끝낼 수 있어서 너무 좋은데 프로그램 고도화를 위해서는 에러를 일으키거나 어떤 에러가 주로 나오는지 알고 있어야 합니다.이번 포스팅에서는 try except를 이용해 에러를 일으키고 에러라인을 출력하는 방법에 대해 알아보도록 하겠습니다.에러 일으키기파이썬에서 try와 except 블록을 사용할 때, except 블록에서 에러를 다시 발생시키려면 raise 를 사용할 수 있습니다. 이렇게 하면 현재 예외를 다시 던져서 상위 호출 스택으로 전달할 수 있습니다. 나눗셈시 0으로 무언가를 나누면 에러가 발생합니다. 이런..
클래스 연결 메서드 오버라이딩(Method Overriding)은 객체 지향 프로그래밍에서 하위 클래스가 상위 클래스로부터 상속받은 메서드를 재정의하는 개념입니다. 이는 상속 관계에 있는 클래스 간에 동일한 메서드 이름을 사용하면서 각 클래스에서 특정 메서드의 동작을 변경하고자 할 때 사용됩니다. 메서드 오버라이딩의 주요 특징은 다음과 같습니다: 상속 관계 필요: 메서드 오버라이딩은 부모 클래스와 자식 클래스 간의 상속 관계에서만 발생합니다. 메서드 시그니처 동일: 오버라이딩되는 메서드는 메서드 시그니처(이름, 매개변수 형식, 반환 형식)가 부모 클래스의 메서드와 동일해야 합니다. 동적 바인딩: 어떤 메서드가 호출될지는 객체의 실제 타입에 따라 동적으로 결정됩니다. 즉, 실행 시간에 객체의 실제 타입을 ..
딕셔너리 합치기 딕셔너리 합치는 방법입니다. 간단합니다만 딕셔너리 특성상 key 가 같은 경우에는 덮어쓰기가 되니깐 그부분을 잘 조작하면 내가 원하는대로 딕셔너리를 다룰 수 있습니다. 딕셔너리 합치는 방법 2개의 딕셔너리를 합치는 방법은 간단합니다. update()라는 함수를 쓰면 됩니다. test1 = {'A':1,'B':2,'C':3} test2 = {'A':2,'D':4,'E':5} test1.update(test2) print(test1) 3개 이상일 때도 update를 이용해서 반복하면 됩니다. 한꺼번에 하려면 다음과 같이 합니다. dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} dict3 = {'d': 5} merged_dict = {**dict1, *..
데이터의 타입을 일일히 확인한다고? 파이썬은 객체니깐 type 함수를 쓰면 언제든지 확인할 수 있습니다. 그런데 데이터가 많으면 일일이 확인할 수 없어서 for문이나 while을 돌리고 있는데 예상치 못한 타입이 나온다면 대처하기가 어렵습니다. 이럴 때 물론 type()을 활용할 수 있지만 루프를 한다면isintance()를 쓰는 걸 추천드립니다. isinstance란? 파이썬은 동적 타이핑(dynamic typing) 언어로, 변수의 타입이 실행 시간(runtime)에 결정됩니다. isinstance 함수는 이러한 특성을 활용하여 객체가 특정 클래스의 인스턴스인지를 동적으로 확인하는 데 사용됩니다. isinstance 함수 개요 isinstance 함수는 객체가 특정 클래스의 인스턴스인지를 확인하는 파..
해상도마다 달라지는 프로그램 크기 Pyqt를 이용해 프로그램을 종종 만드는데요. 컴퓨터마다 해상도가 달라서 내 컴퓨터에는 괜찮게 나오는데 다른 컴퓨터에 적용시키면 창 크기가 달라지는 걸 볼 수 있습니다. 다만, 창 크기만 달라질 뿐 안에 있는 위젯의 크기는 달라지지 않습니다. 해결방법 코드로 하기 직접 코딩으로 한다면 QgridLayout을 사용하면 됩니다. QgridLayout은 그리드 내에 있는 위젯을 확장 또는 축소하여 창의 크기에 맞게 배치하는 레이아웃 매니저로 창의 크기가 변경되면 위젯도 동적으로 크기가 조정되어 창의 크기게 맞게 정렬됩니다. 다음 예제는 버튼 4개를 만들어 GridLayout을 적용한 예제입니다. import sys from PyQt5.QtWidgets import QAppli..
파이썬 대소문자 변경 대소문자 변경하는 방법에 대해 알아보겠습니다. 어째 대소문자는 간단한데 자주 쓰지 않아서 자꾸 까먹게 되는 것 같습니다. 문자열 대문자로 변경 대문자로 변경하려면 upper() 함수를 쓰면 됩니다. 다들 그러는지 모르겠지만 저도 모르게 파라미터 자리에 문자열을 넣어서 오류 한번 나서야 기억이 나는데 대문자로 바꿀 문자열은 upper 앞에 넣어야 합니다. s = 'PipeMime' print(s) print(s.upper()) 숫자가 섞여있어도 알아서 알파벳을 인식해줍니다. s = 'Pipe 123 Mime' print(s) print(s.upper()) 문자열 소문자로 변경 소문자는 lower() 함수를 쓰면 됩니다. 마찬가지로 str.lower()순으로 써줘야 합니다. s = 'P..
현금콤마 표시하기 돈을 숫자로 표지할 때 숫자 3자리(천단위) 마다 콤마를 찍는데요. 콤마로 이 돈이 얼마인지 한눈에 알 수 있도록 해줍니다. 파이썬으로 이런 숫자표기를 하는 방법에 대해 알아볼까 합니다. str.format() 메서드 사용 숫자콤마를 하려면 str.format()에서 format_spec이라는 인자를 쓰면 되는데요. value 값이 자동으로 콤마를 표시해서 나옵니다. formatted_value = format(value, format_spec) value: 콤마를 찍을 숫자입니다. format_spec: value 형태를 변경해주는 기능을 포맷 스펙이라고 합니다. 현재는 콤마를 사용해야 하니 format_spec에 콤마(,) 입력합니다.format_spec에 대한 자세한 내용은 가이드..
문자열 이스케이프 문자열을 다룰 때 특수 문자를 처리하기 위해 이스케이프 문자라는 걸 사용합니다. 특수한 의미를 갖는 문자를 일반 문자처럼 쓰거나 줄바꿈을 하기 위해서 씁니다. 이스케이프의 뜻은 탈출이라는 뜻인데 말 뜻대로 문자열에서 탈출하거나 원래의 쓰임에서 탈출해서 일반 문자가 되는 것을 의미합니다. 주로 쓰는 이스케이프 문자 사실 더 있지만 그나마 사용할만한 것만 소개하겠습니다. 그외의 것은 파이썬 책이나 파이썬 튜토리얼에서 확인하시면 될 것 같습니다. Escape Meaning \\ Backslash(stores one \ ) \' Single quote(stores ') \" Double quot(stores '') \f Formfeed \n Newline(linefeed) \r Carriage..
문자열 패딩 파이썬에서는 f-string이나 문자열 포맷팅으로 변수를 문자열에 삽입할 수 있는데 부등식 기호를 잘 쓰면 패딩 기능이 가능합니다. 즉, 문자열의 최소 길이를 내가 지정할 수도 있고 패딩된 문자열 정렬을 지정할 수 있습니다. 패딩정렬 문자열로써 패딩을 하는 경우 컴퓨터는 부등식을 정렬로 받아들입니다. f-string으로 패딩을 쓰면 다음과 같이 쓰면 됩니다. f"{변수 또는 표현식:패딩정렬}" 각 요소는 다음과 같습니다. 변수 또는 표현식 : 포맷팅하고자 하는 값 또는 표현식 패딩 : 필드의 최소 길이 지정. 길이를 넘지 않는 한도내에서 문자열이 채워집니다. 정렬 : 패딩된 문자열을 어떻게 정렬할지 지정. '' : 오른쪽 정렬 '^': 가운데 정렬 예제를 보면 이해가 되실 겁니다. name ..