본문 바로가기

TIL

[TIL 2024. 02. 21]

오늘 한 일

  • 오전 팀 회의
  • 파이썬 기본 문법 복습(함수 심화, 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