클래스 연결 메서드 오버라이딩(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 함수는 객체가 특정 클래스의 인스턴스인지를 확인하는 파..
리스트를 복사하는 이유 파이썬으로 데이터분석에서 가장 중요한게 데이터입니다. 데이터를 보존해놔야 다른 모델을 쓰거나 다른 아이디어를 적용할 수 있기 때문에 반드시 복사를 해놔야합니다. 가끔 리스트로서 데이터를 가지고 있을 때가 있는데 다른것도 마찬가지겠지만 코드 진행을 하다보면 리스트 내용이 바뀌면서(다중 참조) 어그러지기 때문에 원본 구분을 잘 해놓는게 중요합니다. 리스트 복사하기 슬라이싱을 사용한 복사 보통 copy 매쏘드를 쓰는데 슬라이싱을 통해서도 할 수 있습니다. 전체를 슬라이싱하면 복사본으로 인식합니다. original_list = [1,2,3,4,5] copied_list = original_list[:] copy를 이용한 복사 copy 매쏘드를 이용한 방법입니다. 리스트 뒤에 copy()를..
파이썬 대소문자 변경 대소문자 변경하는 방법에 대해 알아보겠습니다. 어째 대소문자는 간단한데 자주 쓰지 않아서 자꾸 까먹게 되는 것 같습니다. 문자열 대문자로 변경 대문자로 변경하려면 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 ..
파이썬의 강력한 도구 데코레이터 파이썬은 다양한 프로그래밍 기술을 지원하는 다재다능한 언어입니다. 그 중에서도 파이썬의 데코레이터는 코드 재사용과 함수 감싸기를 간편하게 해주는 강력한 도구입니다. 데코레이터란? 데코레이터는 함수나 메서드의 동작을 변경하거나 확장하기 위해 사용되는 파이썬 함수입니다. 데코레이터를 사용하면 함수의 코드를 수정하지 않고도 함수의 동작을 변경할 수 있습니다. 이는 코드의 재사용성을 높이고, 가독성을 향상시키는 데 큰 도움이 됩니다. @ 기호를 사용하여 함수 위에 표시됩니다. def my_decorator(func): def wrapper(): print("Something is happening before the function is called.") func() print(..
Json 파일 만들기 Json은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합으로 몇 가지 표기법에 의해 구조가 구성됩니다. Json 데이터는 '키 : 값' 의 딕셔너리 형태로 이루어집니다. 콜론으로 구분됩니다. 여러 '키:값'은 쉼표(,)로 데이터를 구분합니다. 객체(object)는 중괄호({})로 표현합니다. 배열(array)은 대괄호([])로 표현합니다. 예를 들어, 어떤 사람의 정보를 객체로 json으로 표현하다고 하면 다음과 같이 할 수 있습니다. { "name": "John", "age": 30, "city": "New York" } 대괄호로 둘러쌓인 값들은 주로 리스트로 표현되는데 이 배열을 쉼표로 구분해서 표현합니다. { "name": "John", "age": 30, "city": ..
파이썬의 os 모듈에 대해 정리합니다. 세세한것까지는 다 할 수 없고 쉽고 자주 쓰이는 것 위주로 정리합니다. 이 포스팅에 없다면 아래 파이썬 공식가이드에서 찾아보시기 바랍니다. 다 한글로 되어있어서 영어로 있었던 때보다는 훨씬 보기 편합니다. https://docs.python.org/ko/3/library/os.html os — Miscellaneous operating system interfaces Source code: Lib/os.py This module provides a portable way of using operating system dependent functionality. If you just want to read or write a file see open(), if you..
파이썬의 문자열을 html 파일로 저장하는 방법입니다. 사실 문자열에는 HTML 코드를 의미하고 저장하는 것입니다. 파이썬의 open(), write(), close()를 이용해서 html 파일을 작성할 수 있습니다. HTML 코드 준비하기 사실 막막할 수 있는데 html코드를 문자열화만 하면 됩니다. 글자 그대로 띄어쓰기 등 모든 것을 그대로 반영하려면 큰따옴표 3개를 앞에 써놓고 시작하면 됩니다. html_text = """ This is a Heading This is a paragraph. """ open(), write() 사용하기 저런 문자열은 open,write를 이용해서 파일로써 저장하면 됩니다. 이때 파일확장자로 html로 정의하면 html 파일이 만들어집니다. html_file = op..
리스트에서 특정 문자 있는 경우 제거하는 방법입니다. 조건 걸어서 하나씩 지우면 되긴 하는데 이게 될 때가 있고 안 될 때가 있더군요. 그래서 다른 방법을 추천하는 글입니다. 보통 for문으로 제거하려고 할텐데 if 문 써서 리스트 원소의 문자열에 해당 문자가 있으면 remove를 통해 지우려고 할 겁니다. 저도 그렇게 했고요. 그래서 아래와 같이 for문으로 합니다. 그럼 그냥 안된다고 봐야 합니다. search = 'temp' for word in file_list: if search in word: print('원소 제거: ' + word) file_list.remove(word) print(file_list) 전혀 지워지지 않습니다. 그 이유는 인덱스 문제로 remove의 방식 때문인데 인덱스가 ..
가상환경 내에서 파이썬 업그레이드하는 방법입니다. 참고로 모듈 버전이 상호호환이 되어야 해서 여러가지 충돌이 있으니 권장하진 않습니다. 파이썬만 덩그러니 버전이 높아지면 특정 모듈은 아예 안될수도 있습니다. 그래도 버전이 크게 변하지 않는다면 가상환경에서 업그레이드 하는게 가장 간편하긴 합니다. 반면에, 버전업 차이가 크면 새로 가상환경을 만드는게 빠를수도 있습니다. 가상환경 만드는 방법은 아래 포스팅에서 확인하시기 바랍니다. 2020.08.14 - [Python/기초] - [Anaconda]가상환경 설치,삭제(32bit 포함) [Anaconda]가상환경 설치,삭제(32bit 포함) 보통 우리는 64bit 환경에서 개발을 합니다만 증권사 api를 쓰기 위해서는 32bit 개발환경이 필요합니다. 물론 다시..
여러문자 한꺼번에 치환하기 파이썬에서 문자열을 다루다보면 특정 문자열을 한꺼번에 다른 문자열로 치환해야 하는 경우가 있습니다. 이번에는 파이썬에서 여러 문자열을 한꺼번에 치환해주는 방법에 대해 알아보겠습니다. replace() 메소드 replace() 메소드는 문자열에서 특정 문자열을 다른 문자열로 치환하는 함수입니다. 다음은 replace() 메소드를 사용하여 문자열 내의 여러 문자열을 한꺼번에 치환하는 방법입니다. text = "apple banana cherry apple banana cherry" text = text.replace("apple", "orange").replace("banana", "kiwi") print(text) 위의 코드에서는 text 문자열에서 "apple"을 "orange..