Python 95

파이썬 시퀀스 (1)

- 개요파이썬에서 시퀀스 자료형이란 순서대로 나열된 데이터 항목들의 집합을 나타내는 자료형을 의미한다이런 시퀀스 자료형에서도 각기 다른 특징으로 구분할 수 있는데, 다음과 같다서로 다른 자료형의 데이터를 저장할 수 있는지 여부Container 시퀀스 : 서로 다른 자료형을 저장하는 시퀀스예시) list, tuple, dictionary, collections.dequeFlat 시퀀스 : 단일 자료형만 저장할 수 있는 시퀀스에시) str, bytes, bytearray, array.array, memoryview저장된 데이터를 변경할 수 있는지 / 없는지 여부mutable 시퀀스 : 저장된 데이터를 변경할 수 있는 시퀀스예시) list, bytearray, array.array, memoryview, co..

네임드 튜플 (2)

- 개요네임드튜플과 관련된 여러가지 정보를 기록한다구성은 다음과 같다네임드 튜플의 선언 방법딕셔너리의 네임드 튜플 변환튜플 메서드의 활용 1) 네임드 튜플의 선언 방법# 네임드 튜플 선언 (1)Point = namedtuple(typename='Point', field_names='x y')# 네임드 튜플 선언 (2)Point2 = namedtuple(typename='Point', field_names=['x', 'y'])# 네임드 튜플 선언 (3)Point3 = namedtuple(typename='Point', field_names='x, y')# 네임드 튜플 선언 (4) - 중복된 필드명 사용Point4 = namedtuple(typename='Point', field_names='x y x cl..

네임드 튜플 (1)

- 개요튜플은 immutable 타입의 인스턴스로서, 한번 저장되면 값을 변경할 수 없다값을 수정할 필요가 없는 정보를 저장하는 부분에서는 효과적이지만,정보에 대한 표현 방법이 따로 존재하지 않아, 인덱스를 통해 접근하여 정보를 표현한다 하지만, 네임드 튜플을 사용하면 튜플의 이점을 가져가는 동시에, 저장하는 정보에 대한 라벨링이 가능하다이런 네임드 튜플에 대한 예제를 통해 사용방법을 정리한다 예제는 데카르트 좌표계에서 두 점 사이의 거리를 구하는 공식의 표현이다두 점 사이의 거리는 다음의 공식을 통해 구할 수 있다 1) 일반적인 튜플의 사용from math import sqrtpt1 = (1.0, 5.0)pt2 = (2.5, 1.5)l_len1 = sqrt((pt1[0] - pt2[0]) ** 2 + ..

매직 메서드 (3)

- 개요2차원 좌표계의 벡터의 기능을 수행하는 클래스를 생성한다해당 클래스의 기능은 매직 메서드로 정의하고 구성은 다음과 같다벡터의 합스칼라 곱벡터의 원점 여부 판단 - 클래스의 구성class Vector(object): def __init__(self, *arg): ''' Create Instance with this format : Vector(x, y) ''' if len(arg) Vector 클래스를 위와 같이 정의하였다__init__ 메서드 : 패킹을 통해 인자로 받은 값을 하나로 뭉쳐서 사용이때 패킹된 길이가 0 이하라면 인자가 없다는 의미이므로, (0, 0)으로 X와 Y의 값을 설정그렇지 않은 경우 패킹된 값을 통해 X와 Y의 값을 설..

매직 메서드 (1)

- 개요매직 메서드 또는 슈퍼 메서드는 파이썬에서 클래스안에서 정의할 수 있는 Built-in 메서드를 의미한다여기서 Built-in 메서드는 파이썬 언어 자체에서 이미 정의되어 제공되는 메서드를 의미하는데,필요한 경우 클래스 내에서 재정의하여 사용하는 것이 가능하다 매직 메서드가 파이썬에서 클래스를 다룰 때 중요한 이유는파이썬의 모든 자료형은 클래스로 이루어져 있고 object 클래스에서 상속되어 구성되기 때문이다 - 매직 메서드의 사용print(int)print(float)print(dir(int))print(dir(float))num = 10print(num.__add__(10))print(num.__mul__(10))print(num.__bool__()) 매직 메서드에 관한 코드를 위와 같이 작성..

클래스 & 메서드 (4)

- 개요파이썬에서 클래스에서 사용가능한 3개의 메서드를 알아본다각각 다음과 같이 구성되어 있다인스턴스 메서드정적 메서드클래스 메서드 class Person(): ''' Represent Human ''' personCount = 0 def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"name : {self.name} / age : {self.age}" ... 사용하는 클래스는 위와 같다static 멤버 변수인 personCount를 갖고 있고, __init__ 메서드와 __str__ 메서드를 정의하였다 1..

클래스 & 메서드 (2)

- 개요이전과 동일하게 클래스를 다루는데 유용하게 사용할 수 있는 함수들을 알아본다 class Person(): ''' Represent Human ''' def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"name : {self.name} / age : {self.age}"p1 = Person("John", 19)p2 = Person("Kwon", 19)p3 = Person("Park", 19) 클래스는 위와 같이 구성하였다생성한 클래스 Person으로부터 p1, p2, p3의 3개의 인스턴스를 생성하였다 - 클래스 사용에 있어서..

클래스 & 메서드 (1)

- 개요파이썬은 객체 지향 언어로서 클래스를 통해 기능을 정의하고 클래스로 인스턴스를 만들어 기능을 수행할 수 있다파이썬의 클래스 내부에서 선언하여 여러 특별한 동작을 정의하는 매직 메서드(또는 스페셜 메서드)를 알아본다 1) __init__ 메서드class Person(): def __init__(self, name, age): self.name = name self.age = age p1 = Person("John", 19)print(p1) 파이썬에서 클래스를 정의할 때 반드시 __init__ 메서드를 포함해야 한다해당 메서드는 클래스의 인스턴스를 초기화하는 메서드로서, 인자로 넘겨준 값을 인스턴스의 어트리뷰트로 설정한다 위의 코드를 실행한 결과 p1 인스..