분류 전체보기
-
85 - (파이썬) 스택과 큐study with Q - 파이썬 2024. 9. 9. 19:56
# 스택:선입후출(First in Last out)(FILO) / 후입선출(Last in Fisst out)(LIFO) 구조를 갖는 자료 구조 박스에 책을 넣을때는 빨>파>초>노의 순으로 넣지만 다시 뺄 때는 노>초>파>빨의 순서로 빼게 된다. 푸시(push) : 스택에 자료를 넣는 행위팝(pop) : 스택에서 자료를 꺼내는 행위 #스택stack = Stack()stack.push("red") # ["red"]stack.push("blue") # ["red", "blue"]stack.push("green") # ["red", "blue", "green"]stack.push("yellow") # ["red", "blue", "green", "yellow"]stack.pop() # "yellow" ["..
-
83, 84 - (파이썬) 오버라이드와 super() 함수 / 상속과 컴포지션study with Q - 파이썬 2024. 9. 9. 19:26
83강 # 오버라이드 (oevrride): 재정의: 부모에 정의되어 있는 함수를 자식에서 다시 정의하는 것 #오버라이드class 부모: def 함수(self): print("부모의 함수")class 자식(부모): def 함수(self): print("자식의 함수")child = 자식()child.함수()>>>자식의 함수 파이썬에서는 먼저 자신의 클래스에 그 함수가 있는지를 확인하고 없다면 부모 클래스에 그 함수가 있는지 찾는다. # 자식 함수에서 부모 함수 호출하기class 부모: def 함수(self): print("부모의 함수")class 자식(부모): def 함수(self): super().함수() print("자식의 함수") super().함수()child ..
-
81 - 83 (파이썬) 강의 정리 포기, 코드 복붙study with Q - 파이썬 2024. 9. 1. 19:22
추가적인 요청1) 비교연산자를 사용하게 해주쇼2) + 연산자를 사용하게 해주쇼3) print() 함수를 일반적인 형태로 사용할 수 있게 해주쇼 물론 이런 요청은 터무니 없기에 무시해야 하지만... 실습을 위해 꾹 참고 해봅시다. 참고로) 특수 메소드메소드사용뜻__eq__self = otherequals__ne__self != othernot equals__gt__self > othergreater than__ge__self >= othergreater than or equal to__lt__self less than__le__self less than or equal to # 81강 코드 - 코드 복사class Student: def __init__(self, 이름, 국어, 영어, 수학, 과학)..
-
80 - (파이썬) 클래스 문법 기본study with Q - 파이썬 2024. 8. 27. 09:50
# 클래스 : 함수(와 변수)를 묶어 놓은 것→ 객체를 만들어내기 위한 설계도 클래스 (설계도)이름귀여움야옹함양말사냥객체 = 인스턴스"레오", 100, 100, 100, 0"미루", 100, 30, 90, 80"별이", 100, 10, 0, 20"여름", 100, 60, 10, 60그런데 클래스는 변수 뿐만 아니라 함수까지 가져야 진정한 클래스라고 할 수 있다.이름귀여움야옹함양말사냥def create_cat(이름, 귀여움, 야옹함, 양말, 사냥): return {"이름":이름, "귀여움":귀여움, "야옹함":야옹함, "양말":양말, "사냥":사냥}def sum_cat(애옹): return 애옹["귀여움"] + 애옹["야옹함"] + 애옹["양말"] + 애옹["사냥"]def average_cat(애옹):..
-
79 - (파이썬) 클래스 등장 이전study with Q - 파이썬 2024. 8. 26. 21:37
#클래스 등장 이전에는 어떤 코드를 사용하고, 그로 인해 어떤 문제가 있었나 eg) 학생들의 성적을 저장해두고 평균과 합계를 출력하는 프로그램 B.C. code (Before Class)야옹들 = [ {"이름":"레오", "귀여움":100, "야옹함":100, "양말":100, "사냥":0}, {"이름":"미루", "귀여움":100, "야옹함":30, "양말":90, "사냥":80}, {"이름":"별이", "귀여움":100, "야옹함":10, "양말":0, "사냥":20}, {"이름":"여름", "귀여움":100, "야옹함":60, "양말":10, "사냥":60}]print("이름", "총점", "평균", sep="\t")for 애옹 in 야옹들: 총점 = 애옹["귀여움"] + 애옹["야옹함"..
-
78 - (파이썬) 객체 지향 프로그래밍study with Q - 파이썬 2024. 8. 26. 19:04
# 1. 프로그래밍 이념: 더 좋은 프로그램을 향해서 다가가는 접근 방법: 어떻게 하면 프로그램을 더 좋게 만들 수 있을 것인가 강의에서는 종교라고도 했는데 날으는 스파게티 괴물교도 아니고... 그냥 열정 넘치는 신념 정도로 생각하면 되지 않을까약간... 부먹파 찍먹파.. 막먹파 정도나 붕당정치 정도... ## 1-1. 객체 지향 프로그래밍- 변수와 함수를 묶어서 하나의 묶음으로 만들면 더 좋은 프로그램(aka 규모가 큰 프로그램)을 만들 수 있을 것이다. ## 1-2. 절차적 프로그래밍: 서브루틴, 프로시저, 함수- 같은 코드를 여러 번 작성하지 말고 함수를 만들어서 사용하자!- GOTO 구문, JUMP 구문을 사용하지 말고 함수를 사용하자! (파이썬 라잌댓) ## 1-3. 함수형 프로그래밍- 함수..
-
77 - (파이썬) 예외 강제 발생study with Q - 파이썬 2024. 8. 21. 18:40
# raise 구문: 다음과 같은 3가지 형태로 예외를 강제로 발생시킬 수 있다.raise 예외객체raise 예외객체() - aka 생성자raise 예외객체(메세지)raise Exception("예외를 강제로 발생시킵니다.")>>>Exception: 예외를 강제로 발생시킵니다. 근데... 예외를 왜 강제로 발생시켜요...? → 다른 개발자에게 '정보'를 전달하기 위해서 # 활용 예1) 미구현 상태인 정보 전달하기코드의 범위가 큰 경우, pass 만으로는 코드가 제대로 실행되고 있는지 확인하기 어려운 경우가 있음number = input("판별할 정수를 입력하세요> ")number = int(number)if number > 0: print("입력할 정수는 양수입니다.")elif number == 0: ..
-
76 - (파이썬) 예외 객체와 예외 구분study with Q - 파이썬 2024. 8. 21. 16:49
# 예외 객체 : 예외와 관련된 정보를 담고 있는 객체try:except 예외의_종류 as 예외_객체의_변수_이름: #NameError as e #IndexError as exeption #ValueError #Exception (aka 모든 예외들의 부모) #예외_객체의_변수_이름은 exeption이나 e를 사용한다 try: 변수없다[0] #NameError가 발생할 수 있게 존재하지 않는 변수의 0번째 인덱스에 접근except Exception as e: print(type(e)) print(e)>>>name '변수없다' is not defined 뭐 사실 e는 객체로 단순한 문자열이 아닌 여러 개의 속성들을 가지고 있는데, print 함수로 출력할 때 자동으로 문자열로 변환해서 ..