Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 드림핵
- 리눅스
- it자격증
- 보안용어
- Linux
- 기록
- IT
- 복습
- webhacking
- 자격증
- Security
- 위험관리
- 정보처리기사
- Shell
- 클라우드
- 케이쉴드주니어
- 워게임
- 취약점진단
- 웹해킹
- keyword
- DreamHack
- 공부
- 보안
- 자격증공부
- reivew
- wargame
- study
- 리눅스마스터2급
- Review
- 정리
Archives
- Today
- Total
IT Memory Note
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(3) 본문
7️⃣ 함수(Function)
☆☆
(1) 사용자 정의 함수(User-Defined Function)
2. 사용자 정의 함수의 개념
- 사용자가 직접 새로운 함수를 정의하여 사용하는 방법
- 사용자 정의 함수에서 매개변수나 생성된 변수는 사용자 정의 함수가 종료되면 없어짐
2. 사용자 정의 함수의 선언
def 함수명(변수명, ...):
명령어
return 반환값
3. 디폴트 매개변수
- 기본값이 정의된 매개변수
- 함수를 호출할 때, 매개변수가 명시되어 있지 않으면 디폴트 매개변수 값이 전달됨
def 함수이름(매개변수=디폴트값):
명령문
(2) 람다 함수(Lambda Function)
1. 람다 함수의 개념
- 함수 이름 없이 동작하는 함수
- 매개변수에 값을 전달하면 표현식에서 연산을 수행함
2. 람다 함수의 문법
⓵ 일반 람다 함수
lambda 매개변수 : 표현식
- 콜론(:) 앞에서 매개변수를 입력받고, 콜론 뒤에서 표현식을 처리함
⓶ 변수를 이용한 람다 함수
- 람다 함수를 변수에 할당하여 재사용할 수 있음
⓷ 사용자 정의 함수를 이용한 람다 함수
- 사용자 정의 함수로 구현할 수 있음
⓸ 내장 함수를 이용한 람다 함수
- 파이썬 map 함수, filter 함수와 같이 사용할 수 있음
함수 | 형태 | 설명 |
map | map(함수, 리스트) | • 첫 번째 매개변수에는 함수, 두 번째 매개변수에는 리스트를 전달 • 리스트 요소를 함수에 전달하여 반복을 수행하는 함수 |
filter | filter(함수, 리스트) | • 첫 번째 매개변수에는 함수, 두 번째 매개변수에는 리스트를 전달 • 리스트 요소를 함수에 전달하여 조건이 참인 값을 반환하는 함수 |
8️⃣ 클래스(Class)
☆☆
(1) 클래스의 개념
- 객체 지향 프로그래밍(OOP, Object-Oriented Programming)에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 틀
(2) 클래스의 정의
- 클래스에서 변수는 변수 선언과 동일하고, 메서드는 사용자 정의 함수와 문법이 동일함
class 클래스명:
def 메서드명(self, 변수명, ...):
명령어
return 반환값
- 파이썬에서는 함수명에 입력받을 값(매개변수) 앞에 self라는 키워드를 적어야 함
class A:
def fn(self): # 입력받는 값이 없을 경우 self만 사용
print(5)
(3) self
- 현재 객체를 가리키는 키워드
- 클래스 내부의 변수와 함수를 가리킬 수 있음
self.변수명
self.함수명(매개변수)
(4) 생성자(Constructour)
- 해당 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메서드
- __init___이라는 메서드명을 사용하고, 첫 번째 매개변수로 self를 작성하며, 반환값이 없음
구분 | 코드 |
생성자 정의 | class 클래스명: def __init__(self, 매개변수): 명령어 |
생성자 호출 | 클래스변수 = 클래스(매개변수) |
(5) 소멸자(Destructor)
- 객체의 수명이 끝났을 때 객체를 제거하기 위한 목적으로 사용되는 메서드
- __del__이라는 메서드명을 사용하고, 첫 번째 매개변수에 self를 작성하며, 반환값이 없음
구분 | 코드 |
소멸자 정의 | class 클래스명: def __del__(self): 명령어 |
소멸자 호출 | del 클래스변수 |
클래스변수 = 클래스(매개변수) # 생성자
del 클래스변수 # 소멸시
(6) 클래스 접근 제어자
- 파이썬은 private, public 등의 접근 제어자 키워드가 존재하지 않고, 작명법(Namming)으로 접근 제어를 함
종류 | 규칙 | 설명 |
public | 밑줄이 접두사에 없어야 함 | 외부의 모든 클래스에서 접근이 가능한 접근 제어자 |
protected | 1개의 밑줄(_)이 접두사여야 함 | • 같은 패키지 내부에 있는 클래스, 하위 클래스(상속받은 경우)에서 접근이 가능한 접근 제어자 • 자기 자신과 상속받은 하위 클래스 둘 다 접근이 가능한 접근 제어자 |
private | 2개의 밑줄(__)이 접두사여야 함 | 같은 클래스 내에서만 접근이 가능한 접근 제어자 |
9️⃣ 클래스 상속(Inheritance)
☆
(1) 클래스 상속의 개념
- 어떤 객체가 있을 때 그 객체의 변수와 메서들르 다른 객체가 물려받는 기능
class 부모클래스명:
...
class 자식클래스명(부모클래스명):
...
(2) 메서드 오버라이딩(Overriding)
- 하위 클래스에서 상위 클래스 메서드를 재정의할 수 있는 기능
< 오버라이딩의 특징 >
• 오버라이드하고자 하는 메서드가 상위 클래스에 존재하여야 함 • 메서드 이름은 같아야 함 • 메서드 매개변수 개수, 데이터 타입이 같아야 함 |
< 오버라이딩 구문 >
class 부모클래스명
def 메서드명(self, 변수명):
명령어
class 자식클래스명(부모클래스명):
def 메서드명(self, 변수명): # 부모 클래스와 메서드명, 매개변수가 같아야 함
명령어
※ 파이썬은 상속을 받는 경우 자바와 다르게 부모 클래스 생성자를 호출하지 않고, 호출해야 하는 경우 super().__init__()와 같이 직접 호출해야 함
(3) 부모 클래스 접근
- 파이썬은 super 키워드를 이용하여 상위 클래스의 변수나 메서드에 접근할 수 있음
super().메서드명()
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] SQL 응용 : 데이터베이스 기본(2) (0) | 2024.08.20 |
---|---|
[정보처리기사] SQL 응용 : 데이터베이스 기본(1) (0) | 2024.08.18 |
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(2) (0) | 2024.08.14 |
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(1) (1) | 2024.08.14 |
[정보처리기사] 프로그래밍 언어 활용 : 자바(3) (0) | 2024.08.14 |