오늘 한 일
- 오전 팀 회의
- 파이썬 기본 문법 복습(함수 심화, class)
- 파이썬 문법 심화 강의(~패킹, 언패킹)
- TIL 작성
오늘의 리뷰
파이썬 기본 문법
1. 함수 심화
- 함수 생성시 매개변수는 각각 특정한 값으로 지정할 수 있음 ->순서에 무관하게 동일한 값 출력.
- 매개 변수에 인자를 입력하지 않은 경우에 사용할 수 있도록 기본값도 미리 설정할 수 있음.
- 매개변수 != 인자
- => 매개변수: 함수 호출시 전달될 데이터의 자리표시자 역할. (ex) def add(x, y):
- => 인자: 함수 호출시 전달되는 실제값 (ex) add(5, 3)
2. class
- class는 게임 속 뱀 or 쿠키(객체)를 만들기 위한 통제장치, 쿠키틀로 이해하면 직관적임.
- class에는 생성자(__init__)과 메서드(클래스 내의 함수)를 포함함.
class Monster():
hp = 100
alive = True
def damage(self, attack):
self.hp = self.hp - attack
if self.hp < 0:
self.alive = False
def status_check(self):
if self.alive:
print('살아있다')
else:
print('죽었다')
m = Monster() # Monster 클래스의 인스턴스 생성
m.damage(120) # 몬스터에게 120만큼의 공격을 가함
m.status_check() # 몬스터의 상태를 확인하여 출력
class Monster():
def __init__(self):
self.hp = 100 # 생성자를 이용하여 인스턴스가 생성될 때 hp를 100으로 초기화
self.alive = True # 생성자를 이용하여 인스턴스가 생성될 때 alive를 True로 초기화
첫 번째 코드 블럭에서의 2, 3째줄 =__init__(두 번째 코드 블럭)
*여러가지 방법을 알아두기
파이썬 문법 심화
1. 가상환경
- 터미널에서 파이썬 파일 실행하기
방법1: 터미널에서 직접 코드 작성 (python main.py(=파일이름))
-> 만약 오류나면 python --version으로 파이썬 버전 확인하기
방법2: 마우스 우클릭->running in terminal클릭.
(=새 터미널 열어서 실행하는 것과 같음)
방법3: extension 설치(ex. code runner)=> 단축키로 파이썬 파일 실행 가능.
- 가상환경 활성화
=> bash 터미널: source .venv/Scripts/activate
=> cmd 터미널: .venv\Scripts\activate
*슬래쉬, 백슬래쉬 주의, Scripts
2. 코드 컨벤션 in 파이썬
기본: snake, pascal
-변수, 함수: snake
-class: pascal
예외: 상수(=한 번 선언하면 바뀌지 않는 값)
=>상수는 모든 알파벳을 대문자로. 만약 긴 단어의 상수 선언시에는 대문자+언더바를 사용함.
(cf. snake: 소문자+언더바)
==========================================================================================
- 대문자+언더바: (기본적으로)파이썬에서 존재할 수 없는 네이밍임.
- microsoft는 소문자 시작만 camel, 대문자 시작은 pascal로 봄.
- 코드 컨벤션이 틀려도 실행은 됨(=문법이 틀린 게 아니니까). But, 코드 컨벤션은 기본이므로, 지켜야 함!
- => 확장(autopep8)을 이용하면 됨!!
3. 변수의 유효범위: 전역/지역
[다른 함수에서 사용된 결과값을 가져와서 사용하고 싶은 경우]
1. global 키워드 사용
->but, global키워드는 가능한 쓰지 않는 것을 권장함. 작성하는 코드 수가 늘어나면 오류 발생 가능성.
2. 코드 구조 수정(권장)
결과값을 가져오고 싶은 함수():_return 결과값
새로 만든 변수 = 결과값을 가져오고 싶은 함수()
새로 만든 변수를 활용하면 됨.
4. 자주 쓰는 모듈, 패턴
- type() : 자료형 확인
- split(): 문자열 대상
- join(): 리스트 대상
- replace(): 새로운 변수 = 변경 대상 변수.replace('변경 전 문자', '변경 후 문자')
- pprint()와 datetime은 from, import 필요함.
- random, time은 import 필요함.
- 특히, datetime 사용시에는 자료형(문자열인지, datetime인지)을 확인할 것!
- => datetime strptime(변경 대상 변수, '변경할 문자열의 time형식') || 즉, 문자열=>datetime
- => datetime strftime(변경할 datetime, '어떤 date타입의 문자열로 바꿀지') ||즉, datetime=>문자열
- (참고) 변수와 문자열을 함께 사용: 백틱/ 빈 문자열 만들기(빈 통): 따옴표/ 빈 리스트 만들기(빈 리스트, 반복문): [ ]
5. 조건문 심화
조건문의 동작 원리
: if 뒤의 조건이 'true'이면 통과. if이하를 출력.
6. 함수의 인자, return
- return해주는 함수는 따로 변수로 담아줘야 함.
- => if not? 반환된 함수의 결과가 새 변수에 저장되지 않으면 기본적으로 삭제되거나 무시됨.
- 함수 사용시_특히 그 함수가 어떤 데이터를 return(반환)하는지에 신경써야 함.
[함수가 반환 여부, 반환하는 데이터 형식을 확인하는 방법]
1.구글링(가능하면 영어로)
2.gpt
3.docstring 확인
4.함수 구현 코드 자체를 확인(특히_외부 라이브러리의 경우. 가장 권장함_배울 수 있음.) => 함수 구현부 코드 확인 방법: import 함수_ctrl+클릭
:이 때 '->'는 return을 의미. 즉, def에 ->가 있으면, 그 함수는 return을 하는 함수임.
(참고) int()는 숫자(int(5.7)), 문자열(int('10'))이면 정수를 반환함.
하지만 문자열에 숫자가 아닌 문자(알파벳)나 소수점이 포함되면 에러(ValueError)가 발생함.
'TIL' 카테고리의 다른 글
[TIL 2024. 02. 23] (0) | 2024.02.23 |
---|---|
[TIL 2024. 02. 22] (0) | 2024.02.23 |
[TIL 2024. 02. 20] (0) | 2024.02.20 |
[TIL 2024. 02. 19] (0) | 2024.02.19 |
[TIL 2024. 02. 16] (0) | 2024.02.19 |