객체 지향 프로그래밍/Python 14

파이썬 변수는 언제 소멸될까?

파이썬 소멸 시기 파이썬과 자바의 공통점은 메모리를 프로그래머가 관리 하지 않는다는 것이다. 메모리 관리를 대신 해주는 무언가가 존재한다는 말이다. 그 역할을 가비지 컬렉션과 레퍼런스 카운터가 맡는다. 레퍼런스 카운트는 해당 변수(객체)가 사용되고 있는 지를 나타낸다. 가비지 컬렉션는 레퍼런스 카운트가 0이 되는 순간 메모리를 수거해간다. 📌가비지 컬렉션 가비지 컬렉션 가비지 컬렉션는 레퍼런스 카운터가 0이 되는 순간 객체의 메모리를 수거해 간다. 📌레퍼런스 카운트 레퍼런스 카운트 레퍼런스의 뜻은 '참조'라는 뜻이다. 즉 레퍼런스는 해당 변수 or 객체가 참조 되고 있는지를 확인한다. 따라서 레퍼런스 카운트가 0이 되는 변수를 가비지 컬렉터가 수거해가는 것이다. 📌객체의 생성과 소멸 # Python li..

파이썬 - 입/출력, 자료구조 빠르게 정리하기

1. 파이썬 기초 문법 1.1. 입력받고, 출력하기 파이썬에서는 간단하게 input()함수로 입력을 받을 수 있습니다. 출력은 print() 함수를 이용하면 쉽게 사용할 수 있습니다. 사용자로부터 input() 함수를 이용해 입력을 받겠습니다. input()은 구분 문자가 없이 한 줄을 읽어옵니다. input().split()으로 사용하면 공백을 기준으로 입력을 받을 수 있습니다. var = input().split() print(var) input().split(';')이라고 입력하면 ';' 문자를 기준으로 입력을 받습니다. var = input().split(';') print(var) 1.2. 문자열 덧셈, 곱셈 파이썬의 장점 중 하나는 문자열 처리가 간편하다는 것입니다. 2 + 3 = 5 를 계산..

[재귀] Recursion - Python

재귀 사용하기 1. Factorial 구하기 - Factorial(5) = 1*2*3*4*5 - Factorial을 for문과 재귀로 구현 def factorial(n): res = 1 for i in range(1,n+1): res = res*i return res print(factorial(10)) # 재귀로 구현하기 def factorial(n): if n == 1: return 1 else: return n*factorial(n-1) print(factorial(3)) print(factorial(5)) print(factorial(10)) 2. 최대공약수 구하기 - 두 수 a,b 중 작은 것으로 나누어 떨어지면 그 수가 최대공약수 - 나누어 떨어지지 않으면 작은 수를 1씩 감소시킨 값으로 a,..

[파이썬 기초] - List, Set (Python)

파이썬 기초 자료구조와 알고리즘 1. 1부터 n까지의 연속한 숫자의 합을 구하는 알고리즘 방법 1. def sum_n(n): sum = 0 for i in range(1, n+1): sum = sum + i return sum print(sum_n(10)) 방법 2. def sum_n(n): return n*(n+1)/2 print(sum_n(10)) 2. 최대값 구하는 알고리즘 : List 자료구조 - len(a), append(x), insert(i,x), pop(i), clear(), x in a def find_max(list_): max = -2147000000 for data in list_: if max < data: max = data return max list_ = [10, 5, 8, ..