[2주차 Study Note]
변수 & 함수
함수의 종류
함수 선언
인수와 매개변수 사용
def 함수(매개변수):
(들여쓰기) 실행문 ({~})
(들여쓰기) prinnt(인수)
인수 값을 매개변수에 적용
인수와 매개변수 개수는 일치해야 함
(매개변수가 지정되지 않을 때는 매개변수 앞에 추가)
ex. 함수(numbers):
return 문
return (함수 결과 반환 / 반환 받아야할 경우에만 사용)
※ Return 이후 나오는 코드는 실행x (즉시 종료)
전역 변수/ 지역 변수
전역 변수 : 함수 밖에서 선언된 변수
(함수 내외로 다 사용가능 / 그러나 함수 내에서는 수정 불가-동명이인 형태)
※ global 키워드 사용시 함수 내에서도 전역변수 수정 가능
지역변수 : 함수 내에서 선언된 변수 (함수 내에서만 사용 가능)
중첩함수
lambda 함수
모듈 (소스의 개념)
모듈 사용
name 전역변수
: name = 실행파일인 ‘main’ or ‘해당 모듈명’ 으로 저장됨
if name == 'main'
print()
(이렇게 사용시 불필요한거 실행을 막을 수 있음)
패키지
수학 관련 함수
: sum, max, pow(거듭제곱), round(반올림/기본 숫자, 반올림 자리)
자주 쓰이는 모듈
1) 수학 모듈
- import.math
: math.fabs (절댓값) / math.ceil (올림) / math.floor (내림) / math.trune (버림) / math.gcd (최대공약수) / math.factorial (팩토리얼) / math.sqrt (제곱근)
2) random 모듈
3) time 모듈
: time.localtime (현재 날짜의 모든 시간) / tm_year / tm_mon / tm_mday / tm_hour / thm_min / tm_sec (초) / tm_wday (요일)
객체지향 프로그래밍
class
형태) class 키워드:
(class 키워드 첫글자는 대문자)
<예시>
class 클래스명:
def init(self, 속성1, 속성2, •••)
self. 속성1
변수
: 변수는 객체의 메모리 주소를 저장하고,
이를 이용해 객체를 참조함 (레퍼런스 변수라고도 함)
: ¥¥¥ .copy 사용시에는 메모리주소가 아닌 객체 자체가 복사됨!
복사
상속
오버라이딩
-하위(상속받은) 클래스에서 상위 클래스의 메서드를 재정의 (오버라이드) 가능
(like 업그레이드)
-형태 : 클래스 상속 → 함수 재정의
추상클래스
-상위 클래스에서 하위 클래스에 메서드 구현 강요
-상위클래스에는 선언만 함 (실행x)
하위클래스에서 실행
(하위클래스에서 불러온뒤 실행 x 시 에러가 남)