파이썬 18

파이썬 -상속 및 함수

1. 상속# 상속# 상속이라는 것은 상위 개념을 적용받은 하위 개념을 만들 때# 사용하는 것이다.(하향식)# 상속을 하는 클래스는 부모 클래스라고 부르며,# 상속을 함으로써 상속받는 자식 클래스는# 부모 클래스가 정의한 속성, 메서드 등등을# 그대로 (재)사용할 수 있게 된다.# 혹은 상속받은 것을 수정하거나# 자식 클래스만의 새로운 무언가를 추가할 수도 있다.# 부모 클래스, 슈퍼 클래스, 상위 클래스# 상위 클래스를 먼저 만들고 하위 클래스를 만드는 것을# 하향식 클래스 작성이라고 부른다.# 이런 방식은 기초 개념(공통 개념)을 정립한 후# 구체적인 개념을 추가하는 방식에서 주로 쓰인다.class Person: def __init__(self, name) -> None: self.n..

파이썬-함수

# 함수를 선언하는데, # 숫자값 두 개를 전달 받아# 그 합을 반환하는 함수 작성# 작성한 함수 테스트 실행해보기if __name__ == "__main__": result = test(13, 15) print(result) # 281. 함수 선언방법# 상단은 임포트 하는 공간이다# 중단은 코드를 작성하는 곳이다.# 함수(function), 메서드(method)# 기능을 미리 정의해두는 하나의 기능 부품이다.# 1. define -> def를 작성한 뒤, 함수의 이름을 작성# 2. 함수명 뒤에는 소괄호를 연다.# 3. 소괄호 안에는 기능을 수행하는 데 필요한 값을 담을 변수명을 적는다.(파라미터)# 4. 함수 작성 공간을 구분하기 위해 콜론(:)을 적고# 5. 줄바꿈 한 뒤, 들여쓰기를 한 ..

파이썬 연산자-논리 연산자

# 연산자- 논리 연산자 - 논리값과 논리값을 연산하여 그 결과 논리값이 나오는 연산자를 의미한다. ## 논리연산자의 종류 1. 두 논리값이 모두 참이면, 그 결과 참을 반환하는 연산자   1. and 연산자(논리곱 연산자)   - 두 값이 모두 참이면 참 반환(T T T)   - 두 값 중 하나라도 거짓이면 거짓 반환(T F F)   - 두 값 모두 거짓이면 거짓 반환(F F F) 2, 두 논리값 중 하나라도 참이면, 그 결과 참을 반환하는 연산자  or 연산자(논리합 연산자)     - 두 값이 모두 참이면 참 반환(T T T)     - 두 값 중 하나라도 참이면 참 반환(T F T)     - 모든 값이 거짓이어야 거짓 반환(F F F)     - 특징: *앞의 값이 참이면 뒤의 값은 확인하지 않..

카테고리 없음 2024.12.01

파이썬 형변환

1. 정수형으로의 형변환# 정수형으로의 형변환input_text = input() #3.14 float_text = float(input_text)int_text = int(float_text)# "30" --> ok: int()# "3.14" --> error -> 해결:float() -> int()print(int_text) #3 2. 실수형으로의 형변환#float(실수형)로의 형변환input_text = input() # 3.14float_text = float(input_text)print(float_text) # 3.14 3. 문자열로의 형변환# 문자열로의 형변환str_text = str(30)str_text2 = f"{str_..

5. 암호화와 복호화, 입력함수

1. 문자 형변환#%% 문자 형변환# chr(정수) : 정수를 문자로# ord(문자) : 문자를 정수로print("%c" %65) # Aprint(chr(ord('A') * 3)) # Ã####형번환을 통해 암호화된 비밀번호를 알아보자pw = "a1b2c3"en_pw=""de_pw=""for i in pw: en_pw += chr(ord(i) * 9)print("기존 비밀번호 : %s" %pw) # a1b2c3print("암호화된 비밀번호 : {pw}".format(pw=en_pw)) #ƹͲǂͻNj##다시 복호화된 비밀번호를 만들어보자for i in en_pw: de_pw += chr(ord(i) // 9) print("암호화된 비밀번호 : {en_pw}\n복호화된 비밀번호 : {d..

2. 출력함수와 변수의 사용

#제어 문자#반드시 따옴표 안에서 사용한다.# \n : 줄바꿈# \t : 위아래 줄 간격 맞춰 띄기(tab)# \\ : \ 표현# \\" : " 표현# \\ ' : ' 표현# 인터프리터에서 해석 방향# 위에서 아래로 좌에서 우로print("자기소개", end = ' ') # 자기소개print("\n이름 : ", end = '') # 이름 : "한동석"print("\"한동석\"\n나이: 10살") # 나이 : 10살print("\n------------------------")print("애완동물 이름 : 흰둥이\n애완동물 나이: 16살", end = '★') # 애완동물 이름 : 흰둥이# 애완동물 나이 : 16살★print("\n애완동물 몸무게 : 4.5kg", end='★') # 애완동물 나..

6. 병합정렬(Merge sort)

# 1. 병합정렬(merge sort)* 재귀 용법을 활용한 정렬 알고리즘* 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눔* 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬* 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병#2. 알고리즘 이해하기'''data_list = [1, 9, 3, 2]'''1. [1,9] 로 나눔2. 앞부분은 [1], [9]로 나누고 뒷부분은 [3],[2]로 나눔3. 정렬해서 합침 [1,9] , [2, 3]4. [1,9] , [2, 3] 을 합침(단, 아래와 같은 조건으로) * 1 2 이므로 리스트에 2를 추가 [1,2] * 9 > 3 이므로 리스트에 3을 추가 [1,2,3] * 9 밖에 없으니 리스트에 9를 추가 [1,2,3,9] #3. 알고리즘..

7. 힙(Heap)

# 1. 힙(heap) 이란?* 데이터에서 최댓값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(complt Binary Tree)* 완전 이진 트리 : 노드를 삽입할때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리# 2. 힙의 구조*** 힙은 최대값을 구하기 위한 구조(최대 힙, Max Heap)와 최소값을 구하기 위한 구조(최소 힙, Min Heap)로 분류할수 있음* 각 노드릐 값은 해당 노드의 자식 노드가 가진값보다 크거나 같다.(최대 힙의 경우)* 완전 이진 트리 형태를 가짐# 3. 힙과 이진 탐색 트리의 공통점과 차이점* 공통점 : 힙과 이진 탐색 트리는 이진트리임* 차이점 * 1. 힙은 각 노드의 값이 자식 노드보다 크거나 같음(max heap의 경우) * 2. 이진 탐색 트리는 왼쪽 자..

4. 파이썬의 더블 링크드 리스트

1. 더블 링크드 리스트- 양방향으로 연결되어 있어서 노드 탐색이 양쪽으로 모두 가능class Node: def __init__(self, data, prev=None, next=None): self.prev = prev self.data = data self.next = nextclass NodeMgmt: def __init__(self, data): self.head = Node(data) self.tail = self.head def insert(self, data): if self.head == None: self.head = Node(data) self.tail = self.head else: node = self.head ..

2. 파이썬의 큐와 스택

1. 큐의 구조- 가장 먼저 넣은 데이터를 가장 먼저 꺼낼수 있는 구조이다.- 줄을 서는 행위와 유사- FIFO(First-in First-out)참고 사이트 : (https://visualgo.net/en/list)1-1.큐의 용어 - Enqueue : 큐에 데이터를 넣는 기능- Dequeue : 큐에 데이터를 꺼내는 기능 1-2. 큐의 사용- 푸시 메시지(순서대로 발송)- 멀티 태스킹을 위한 프로세스 스케줄링 방식을 구현(운영체제) 1-3. 파이썬 Queue 라이브러리를 활용하여 Queue 자료구조를 사용- Queue() : 가장 일반적인 큐 자료구조를 생성- LifoQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조의 큐 자료구조를 생성(스택 구조와 비슷)- PriorityQueue() :..