반응형

동빈나 님의 파이썬(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로 각 인스턴스를 확인해보면 서로 다른 메모리 공간에 할당된 것을 확인할 수 있다. 이는 여러번 호출하면 메모리에 부하를 일으 킬 수 있으므로, 사용 후 메모리 소멸을 해줘야 한다.

반응형
반응형

파이썬 기초 정리

'동빈나' 님의 유튜브 파이썬 강의 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가 포함되어 있습니다.")

 

반응형
반응형

파이썬 기초 정리

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

# Tuple(튜플) : 리스트(list)와 비슷한 자료형
# 그러나 list와는 다르게 설정된 값은 변경할 수 없다
# 인덱싱, 슬라이싱 등의 문법도 그대로 사용이 가능

tuple = (1, 2, 3)
for i in tuple:
    print(i)

list1 = [1, 2, 3]
list2 = [4, 5, 6]
tuple = (list1, list2)
tuple[0][1] = 7
print(tuple)

'''
tuple[0] = [7, 8, 9]
>> 에러 발생

tuple[0][1] = 7
>> 컴파일 성공

tuple 안의 list 내용은 변경이 가능하다
'''

tuple = (1, 2, 3, 4, 5, 6, 7, 8)
print(tuple[0:5] * 3)
반응형

+ Recent posts