반응형

동빈나 님의 파이썬(Python) 입문자용  초급 35강 내용을 정리하였습니다.

 

동빈나님의 유튜브 바로가기

 

클래스(Class) : 반복되는 불필요한 소스코드를 최소화 하면서 현실 세계의 사물을 컴퓨터 프로그래밍 상에서 쉽게 표현할 수 있도록 해주는 프로그래밍 기술

 

인스턴스(instance) : 클래스로 정의된 객체를 프로그램 상에서 이용할 수 있게 만든 변수

 

클래스의 멤버 : 클래스 내부에 포함되는 변수
클래스의 함수 : 클래스 내부에 포함되는 함수. 메소드라고 부름.

class Car:
    # 클래스의 생성자
    def __init__(self, name, color):
        self.name = name    # 클래스의 멤버1
        self.color = color  # 클래스의 멤버2

    #클래스의 소멸자
    def __del__(self):
        print("인스턴스가 소멸되었습니다")

    # 클래스의 메소드
    def show_info(self):
        print("이름 : ", self.name, '/ 색상 : ', self.color)

위와 같이 클래스를 선언 한 후 인스턴스를 생성해서 사용하면 된다.

car1 = Car("소나타", "빨간색")
print(car1.name, '을(를) 구매했습니다!')
car1.show_info()
del car1 # 인스턴스를 메모리에서 삭제

생성자를 통해 클래스 멤버의 값을 직접 정의 해 줄 수도 있지만 다른 언어에서는 보안상의 이유로 getter/setter를 많이 이용한다 ! 이처럼 파이썬도 동일하게 할 수 있다.

   # Class에 Setter 메소드 추가
    def set_name(self, name):
        self.name = name

 

car1.set_name("크루져")
car1.show_info()

동일한 방식으로 다른 객체를 생성할 수 있다.

car2 = Car("아반떼", "검은색")
car2.show_info()

그러면 car1과 car2는 같을까? 다르다 !

print(car1 == car2) # 결과 : false
print(car1) # 결과 : <__main__.Car object at 0x037AB0D0>
print(car2) # 결과 : <__main__.Car object at 0x00DAB370>

print로 각 인스턴스를 확인해보면 서로 다른 메모리 공간에 할당된 것을 확인할 수 있다. 이는 여러번 호출하면 메모리에 부하를 일으 킬 수 있으므로, 사용 후 메모리 소멸을 해줘야 한다.

반응형
반응형

'동빈나' 님의 유튜브 파이썬 강의 34장 내용 정리

모듈(Module)은 '미리 작성된 함수 코드를 모아 놓은 파이썬 파일' 이다.

더보기

정보처리기사 필기에서는 프로그램은 모듈화를 하는 것이 정의되어있다..(그랬었나..?)

C언어의 include나 JAVA의 import와 같이 파이썬 자체의 정의되어있는 라이브러리를 호출할 수 있다.

import math

print(math.pow(3, 8))
print(math.sqrt(64))
print(math.gcd(72, 24))

이 외 내부적으로 필요한 기능을 만든 후 호출에서 사용하는 것도 가능하다.

# lib라는 새로운 .py 파일을 만든다

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

위와 같이 파일을 만든 후 다른 파일에서 생성한 라이브러리를 사용할 수 있다.

# case 1
import lib
print(lib.add(1, 2));


# case 2
# 라이브러리의 크기가 클 때 특정 함수만 가져오겠다는 선언
from lib import add
print(add(2, 3))


# case 3
# 라이브러리 명칭이 길어서 가독성이 떨어질때 as를 써서 다른 별칭으로 사용할 수 있다
import lib as t
print(t.add(3, 7))

 

반응형
반응형

파이썬 기초 정리

'동빈나' 님의 유튜브 파이썬 강의 32장 정리 내용

 

함수(Function) : 특정한 입력을 받아서 처리를 한 이후에 출력(또는 반환)을 하는 모듈

 

Define(정의하다)의 약어로 def로 선언한다.

def add(a, b):
    sum = a + b
    return sum

# 방법1
print(add(1, 2))

# 방법2
a = add(1, 2)
print(a)

파이썬은 가변인자를 통해 매게 변수의 개수에 제약 없이 사용할 수 있다는 특징이 있다. 즉, 인자를 1개, 2개, 3개 정하지 않고 받을 수 있다.

# 가변 인자 : 함수의 매게변수가 가변적일 수 있을 때 사용
def function(*data):
    print(data)

# tuple 형태로 처리된다
function(3, 4)
function(1, 2, 3)

지역변수와 전역변수가 존재하는데, 전역 변수는 소스 코드 전체 어디에서든 사용이 가능한 변수이고 지역 변수는 특정한 함수(블록) 안에서만 사용할 수 있는 변수이다. 함수 내에서 전역 변수를 사용하기 위해서는 global로 선언해 주어야 한다.

def add():
    global a # 전역 변수 사용
    a = a + 5 # 지역 변수

a = 2 # 전역변수
add()
print(a)

또한 파이썬의 함수는 반환 값이 여러개 일 수 있다.

# 파이썬의 함수는 반환값이 여러개 일 수 있다
def function2():
    a = 5
    b = [1, 2, 3]
    return a, b

c, d = function2()
print(c)
print(d)

알면 알수록 간편한 기능들이 많은것 같다!

반응형
반응형

파이썬 기초 정리

'동빈나' 님의 유튜브 파이썬 강의 32장 정리 내용

# 시퀀스(Sequence) : 문자열, 리스트, 튜플 등의 인텍스(index)를 가지는 자료형
# len(시퀀스 자료형) : 시퀀스 자료형의 길이를 출력하는 함수

string = "Hello World"
list = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
tuple = ('H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd')

print(string)
print(list)
print(tuple)

# 첫번째 원소만 출력
print(string[0])
print(list[0])
print(tuple[0])

# 슬라이싱
print(string[0:5])
print(list[0:5])
print(tuple[0:5])

# len(길이)
print(len(string))
print(len(list))
print(len(tuple))

# 원소 찾기 (있으면 True, 없으면 False)
print('H' in string)
print('H' in list)
print('H' in tuple)

# 활용
if 'H' in string:
    print("H가 포함되어 있습니다.")

 

반응형

+ Recent posts