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일차 (#재귀 알고리즘) : 네이버 블로그 ]
'[LG U+ 5기] > Study' 카테고리의 다른 글
[2월][2주차] 13일차 (통계적 가설 검정) (0) | 2025.02.14 |
---|---|
[2월][2주차][Python] 12일차 (이터레이터/제너레이터/sav실습) (0) | 2025.02.12 |
[2월][1주차][Python] 7,8일차 (csv.reader()/Matplotlb) (0) | 2025.02.06 |
[2월][1주차][Python] 5,6일차 (IDLE/함수/module/class) (0) | 2025.02.04 |
[1월][4주차][Python] 4일차 (Jupyter/folium/GUI) (0) | 2025.01.24 |