티스토리 뷰
[1] 객체 지향 프로그래밍 OOP(Object Oriented Programming)
- 만들어 놓은 코드를 재사용 하고 싶다 => 객체
- 객체 : 실생활에서 일종의 물건, 속성(변수,variable)과 행동(함수, method)을 가짐
- 파이썬 역시 객체 지향 프로그램 언어
- 클래스(붕어빵틀)와 인스턴스(붕어빵)
(1) class
- 사용법: class class이름(상속받는 객체명, python3는 자동상속되어 생략가능):
- 작명법: 함수와 변수명은 snake_case, 클래스는 CamelCase
구분 | 예시 |
(1) 속성 (attribute) * 파이썬에서 __는 특수한 예약함수, 변수, 함수명 변경(맨글링)으로 사용(매직메소드) __init__(self와 함께 사용, 속성 추가), __main__, __add__, __eq__ 등 |
class SoccerPlayer(object): def __init__(self, name:str, position:SystemError, back_number:int): self.name = name # ②self : 생성된 인스턴스, abc,park self.position = position self.back_number = back_number def __str__(self): return "Hello, My name is %s. My back number is %d" % (self.name, self.back_number) def __add__(self, other): return self.name + other.name def change_back_number(self, new_number): print("선수의 등번호를 변경합니다: From %d to %d" % (self.back_number, new_number)) self.back_number = new_number (1) 속성, 매직메소드 1) __init__ : 속성값(name 등)을 추가해 줘야함 abc= SoccerPlayer("son","FW",7) park = SoccerPlayer("park","WF",13) # ① abc, park라는 인스턴스 생성 print(abc is park) # False 틀만 같고, 메모리주소는 다름 2) __str__ : print시 특정 값을 return해줌 print(abc) # Hello, My name is son. My back number is 7 *만약 __str__이 없으면, 메모리 주소값만 출력됨 <__main__.SoccerPlayer object at 0x0000014B96C3BDC0> 3) __add__ : 두개를 더해줌, 빼기와 곱하기도 됨 print(abc+park) # sonpark (2) 함수 1) 함수 호출 park.change_back_number(5) # 선수의 등번호를 변경합니다: From 13 to 5 print(park) # Hello, My name is park. My back number is 5 2) 함수 호출 없이 속성 값 직접 변경 가능(but 권장X) park.back_number = 10 print(park) # Hello, My name is park. My back number is 10 |
(2) 함수(method) - 기존 함수 처럼 def로 추가 가능 - 반드시 self를 추가해야만 class함수로 인정됨 |
※ 출처 : 네이버 부스트코스 - 인공지능 기초 다지기(https://www.boostcourse.org/ai100)
반응형
'AI > Python' 카테고리의 다른 글
[python] 클래스와 객체 -2(상속, 다형성, 가시성, 데코레이터) (2) | 2024.06.17 |
---|---|
[프로그래머스 기초] 헷갈리는 개념 정리(문자열, 리스트 : 원본 변경 함수, 새로운 값 return 해주는 함수, 메모리 주소 값 출력, 값 출력) (2) | 2024.06.16 |
[프로그래머스 기초] Day25 이차원배열 - 기초 문제 풀이 완료 (0) | 2024.06.15 |
[프로그래머스 기초] Day 20,21,22,23,24 함수, 딕셔너리, 리스트, 문자열 (0) | 2024.06.14 |
[프로그래머스 기초] Day 16,17,18,19 문자열, 리스트 (2) | 2024.06.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 영어회화
- 운동
- 스크랩
- C언어
- 갓생
- 오블완
- ChatGPT
- 루틴
- 프로그래머스
- Python
- 다이어트
- opic
- SQL
- 고득점 Kit
- 티스토리챌린지
- IH
- 경제
- 30분
- 뉴스
- llm
- 기초
- 습관
- 실기
- 미라클모닝
- Ai
- 오픽
- 빅데이터 분석기사
- 아침운동
- 아침
- 줄넘기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함