[LG U+ 5기]/Study

[2월][2주차][Python] 11일차 : ch.1/2/3/4/5/6(ft.DO IT 점프 투 파이썬)

jjanggun0930 2025. 2. 11. 16:17

2025.02.11

새로운 교재를 받았다 ! 

(# do it 점프 투 파이썬)

 

파이썬 기초 부분 진행중에 must 기억 또는 new 지식 기록하기! 

 

* f 문자열 포메팅은 Python 3.6 이상 사용 가능

name = '홍길동'
f'나의 이름은 {name}입니다.'

#=> '나의 이름은 홍길동입니다.'

* 파이썬 내장함수에서 upper 뿐 아니라 lower, join, istrip, rstrip, replace, split 함수는 모두 이와 같은 규칙에 적용되어 문자열 자체의 값이 변경되는 것이 아니라 변경된 값을 리턴한다는 사실 !!!!! => 원본 값은 안 변함 !!!!


*

list 리스트는 여러 숫자, 문자 등을 한번에 받을 수 있지만

vs

pandas의 Series는 하나의 자료형만 받을 수 있음. 


lambda 예약어

 

def와 동일한 역할을 함

보통 함수를 한줄로 간결하게 만들 때 사용

[사용법]
함수_이름 = lambda 매개변수1, 매개변수2 ... : 매개변수를_이용한_표현식

 

코드 예시

#lambda
add = lambda a, b : a + b
add(3,4)
#=> 7

#def
def add (a,b):
	return a+b
add(3,4)
#=> 7

오픈함수 f

 

파일 열기 모드에서 

  • r : 읽기 모드, 파일을 읽기만 할 때 사용
  • w : 쓰기 모드, 파일에 내용을 쓸 때 사용
    • => write을 사용하면 새파일이 열리는 개념! 함부로 썼다가 파일 내용들 다 날라감.
  • a : 추가모드, 파일의 마지막에 새로운 내용을 추가할 때 사용
#파일을 쓰기 모드로 열어 내용 쓰기
f = open("C:/doit/새파일.txt", 'w')
for i in range(1,11):
	data = '%d 번째 줄입니다.\n' % i
    f.write(data)  #data를 파일 객체 f에 써라
f.close()  #꼭 닫기

 

  • readline() : 파일의 첫 번째 줄을 읽고 출력
  • readlines() : 모든 줄을 읽는 값
#(\n)줄 바꿈 문자 제거
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines :
	line = line.strip()  #-> 줄 끝의 줄 바꿈 문자를 제거 : strip()
    print(line)
f.close()

매서드 오버라이딩

 

상속 !!!!!!

부모 클래스(상속한 클래스)에 있는 메서드를 동일한 이름으로 다시 만드는 것. 

 

*이 부분은 한 번 더 공부가 필요함 ! *


if__name__ = "__main__"
def add(a,b):
	return a+b
   
def sub(a,b):
	return a-b
 
if__name__ = "__main__":
	print(add(1,4))   #=> 5
    	print(sub(4,2))   #=> 2

 

if__name__ = "__main__"을 사용하면, C:\doit\mm.py 처럼 직접 이 파일을 사용했을 때는 __name__ = "__main__"이 참(TRUE)가 되어 if 문 다음 문장이 수행된다.

 

이와 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러 사용하면 거짓이 되어 문장이 수행되지 않음

 

**__name__** 변수란?

: 파이썬이 내부적으로 사용하는 특별한 변수 이름이다. 만약 직접 파일을 실행하면  __name__변수에는  __main__값이 저장된다. 


 

 

  • game / sound / graphic / play 는 디렉터리
  • 그 안에 .py 가 붙은 건 모듈



  • __init__.py의 용도
    해당 디렉터리(폴더) => 패키지의 일부임을 명시
    패키지의 버전 설정 : VERSION = 3.5
    패키지의 초기화 코드 작성

 

 

 

  • from game.sound.echo import echo_test  # 절대경로
  • from ..sound.echo import echo_test    # 상대경로
  • => relative 패키지 : ( .. ) -> 부모 디렉터리 의미 / ( . ) -> 현재 디렉터리 의미

예외 처리 (*ch 5-4 / 231p)

 

=> 오류가 발생했을 경우,
=> 방지 : 
=> 특히, 사용자 화면에서 오류 처리

 -------------------------------------------
try :
    할 일들
except :
    할 일들 중 오류발생시
 -------------------------------------------
try :
    할 일들
except 오류클래스명 as 변수명:
    할 일들 중 오류발생시
    변수를 통해 사용자에게 오류 전달 가능.
 -------------------------------------------
try :  
    할 일들
finally : 
    try가 일을 마치면...
 -------------------------------------------    
try : 
    할 일들(0으로 나누기, index 오류, )
except 0으로 나누기 :   
except index 오류 : 
except :
    
 -------------------------------------------   
try : 
    할 일들
except :
    오류 발생 했을 경우
else : 
    오류가 발생하지 않았을 경우
#앞서 했던 상속도 있음
class Bird:
    def fly(self):
        raise NotImplementedError #반드시 뜯어 고쳐서 사용해 
        						  #부모를 상속받은 아이는 무조건 함수를 바꿔서 사용해.
                                  #한마디로 상속조건!
        
    
class Eagle(Bird):  #bird 상속 받은 eagle
    pass

eagle = Eagle()
eagle.fly()
#=> NotImplementedError


class Bird:
    def fly(self):
        raise NotImplementedError 
        
    
class Eagle(Bird):  
    def fly(self):
        print('very fast')

eagle = Eagle()
eagle.fly()
#=> very fast

 


2024년도 파이썬 알고리즘 STUDY 진행할 때 썼던 블로그..ㅎ 참고 ! 

 

자료구조와 배열 [ study 1일차 (#자료구조와 배열) : 네이버 블로그 ]

스택과 큐 [ study 2일차 (#스택과 큐) : 네이버 블로그 ]

알고리즘 기초 [ study 5일차(# 알고리즘 기초) : 네이버 블로그 ]

정렬 알고리즘 [ study 7일차(#정렬 알고리즘) : 네이버 블로그 ]

문자열 검색 [ study 8일차(#문자열 검색) : 네이버 블로그 ]

재귀 알고리즘 [ study 9일차 (#재귀 알고리즘) : 네이버 블로그 ]