본문 바로가기

전체 글

(42)
객체지향 프로그래밍 - 상속 클래스에는 상속이라는 것이 있다. 어떻게 쓰냐면, 상속을 해주는 부모클래스를 소괄호 안에 넣어주면된다. 여기 Person이라는 부모클래스가 있다. class Person: def __init__(self, name): self.name = name print("자기소개 하겄습네다") def introduce2(self): print("나는 {}입니다.".format(self.name)) init메서드는 자기소개 하겄습네다라는 말을 print 해주는 것이고, introduce2라는 함수는 Person 클래스의 이름항목에 담긴 데이터를 담아 나는 ~입니다라고 출력해준다. person = Person("샘알트만") person.introduce2() 자기소개 하겄습네다 나는 샘알트만입니다. 이렇게 출력된다. ..
객체지향프로그래밍은 왜 필요한 것인가 ? 객체지향 프로그램이라는 것은 프로그램을 할 때, 객체들을 모아모아 개발하는 것. 이왕 코드를 짜는거 객체들을 가지고 잘 정리해서 효율성을 높여준다. 코드를 복잡하게 안짜니 쉽게 관리할 수 있는 장점이 있어서 꼭 필요하다. 파이썬에서 유명한 Django프레임워크, 유니티(Unity), 언리얼엔진(Unreal Engine)과 같은 게임인진들도 객체지향 프로그래밍을 통해 구축되어있다. 용어들이 몇 개 나오는데, 정리 - 클래스(class) - 객체지향의 핵심이고, 한 객체가 어떤 역할을 하는지 설계도를 담고 있는 친구다. 하나의 클래스에는 변수(속성)와 메소드(클래스 내의 함수)들이 모여있다. - 객체(Object) - 클래스의 인스턴스라고 표현하고, 실제 메모리상에 할당된 만들어진 클래스. - 인스턴스 - ..
카페에서 쓰는 키오스크 프로그램 만들어보기 import random #추천기능 넣기 위함 # 메뉴와 가격을 저장할 딕셔너리 menu = {} # 재고 딕셔너리 stock = { "에스프레소": 10, "아메리카노": 15, "카페라떼": 8, "카푸치노": 12 } # 매출 정보를 저장할 변수 daily_sales = 0 # 메뉴를 추가하는 함수 def add_menu(item, price): menu[item] = price # 메뉴를 삭제하는 함수 def delete_menu(item): if item in menu: del menu[item] print(f"{item} 메뉴가 삭제되었습니다.") else: print(f"{item} 메뉴는 메뉴 목록에 없습니다.") # 주문을 받는 함수 def take_order(): global daily..
if __name__ == __main__: 이것은 왜 쓰는가 ?? 이 코드의 의미는 __name__ 이라는 애가 __main__ 이랑 같다면 ~ 밑에줄에 나오는 코드를 실행해라 이런거다. __name__이라는 변수는 파이썬의 내장변수이다. 파이썬 공식 사이트에서는 이 내장변수를 이렇게 설명한다. The __name__ attribute must be set to the fully-qualified name of the module. This name is used to uniquely identify the module in the import system. "이 이름은 import system 안에서 모듈의 이름을 식별하기 위해서 사용된다." if __name__ == __main__ 사실 이 조건문은 해당 모듈이 import 된 경우가 아니라 interpreter에..
__init__.py는 왜 사용하는가? 어떤 역할을 하는가 ? 해당 패키지의 디렉토리를 표시하는데 사용됨. 해당 디렉토리가 파이썬의 패키지로 인식되도록. 어떤 폴더를 파이썬이 패키지로 인식하도록 하는데 쓰인다는 것 ! 이 파일은 패키지 관리하는데 도움을 줌. 왜냐면 패키지 초기 설정을 여기서 수행함. 패키지 수준에서 사용할 변수, 함수, 클래스 등을 정의할 수 있음. 파이썬 패키지에서는 항상 __init__.py 안에 있는 내용을 먼저 실행하고 나서 (내가 만약 __init__.py 말고 다른 파이썬파일에 있다면) 내가 현재 있는 위치에 있는 코드를 실행해준다. __init__.py는 my_package라는 폴더 안에있고, main.py는 폴더 바깥에 있는 상황이다. print("my_package의 init 파일 실행됨.") print("패..
파이썬 에서 module. module은 뭐냐면 ... 파이썬에서 .py로 끝나는 파일에 함수, 변수, 클래스 등이 들어있는 파일이다. module을 잘 사용하면 코드의 재사용성을 높이고, 프로그램을 논리적으로 구성할 수 있다. (유지보수 하기도 좋음) 모듈(Module): 파이썬 코드가 담긴 확장자가 .py인 파일. 패키지(Package): 여러 모듈들을 포함. 모듈보다 큰 개념. __init__.py라는 파일을 포함한다. 라이브러리(Library): 모듈-패키지의 집합이고 모듈-패키지보다 큰 개념. 임포트(Import): 특정 모듈, 함수, 클래스, 변수 등을 현재 위치에서 사용하기 위해 가져올 때 쓰는 코드. 유명한 파이썬 프레임워크는 Django, Flask / 데이터 분석할 때 쓰는 pandas, numpy, matplo..
예외처리 흔히 보는 오류 - **`ZeroDivisionError`**: 0으로 나누려고 할 때. - **`NameError`**: 로컬 또는 글로벌 이름을 찾을 수 없을 때. - **`TypeError`**: 연산이나 함수가 부적절한 타입의 객체에 적용될 때. - **`IndexError`** 및 **`KeyError -**: 시퀀스 인덱스나 사전 키가 범위 밖일 때. - **`FileNotFoundError`**: 요청한 파일이나 디렉토리를 찾을 수 없을 때. - **`ValueError`**: 연산이나 함수가 적절한 타입의 객체에 적용되었지만, 그 객체가 부적절한 값을 가지고 있을 때. try: with open("test.txt", "r") as f: content = f.read() print(conte..
함수 파이썬 함수에는 Parameter(매개변수)와 argument(인자)가 있다. parameter는 함수 정의할 때, 함수 내부에서 사용될 변수를 의미한다. 실제로 함수에 어떤 값들이 들어올 때, 이거를 받기 위한 바구니 역할을 한다. 그리고 argument는 함수를 실제로 호출할 때, 함수에 전달되는 구체적인 데이터를 의미한다. 함수의 결과값은 또 변수에 담아서 이용할 수도 있다. def add(a, b): return a + b a와 b는 parameter고, 내가 add(150, 1000)이렇게 구체적인 숫자를 넣어서 부를 때 들어가는 저숫자가 argument. #default 함수는 parameter에 default값을 지정할 수 있다. #당근마켓 #판매자와 구매자가 물품 판매 약속잡기 #판매자 이..