이해하기 쉬운 파이썬 3.6 - 9회차

2018. 7. 23. 23:16언어별 정리 자료/Python

이해하기 쉬운 파이썬 3.6 - 9회차


< 여러가지 타입들 >

* None

    말 그대로 아무것도 아닌 Type 입니다. C 나 다른 언어에서 NULL이 Python 에서는 None 으로 표현됩니다. 함수에서 명시적인 return 값이 없다면, None 값이 return 됩니다. 어떤 정수의 목록을 받아서, 그 중 2의 배수를 return 할 때, 아무 것도 없는 것을 return 하거나 할 때 쓰입니다. 코드로는 다음과 같이 사용합니다. 0 혹은 다른 에러와는 다르게 아무것도 없다는 것을 명시적으로 쓰고 싶을 때 사용합니다.

def getEven(a, b):
    if a % 2 == 0:
        # a 가 2의 배수일때...
        if b % 2 == 0:
            # b 가 2의 배수일때...
            return a, b
        else:
            return a;
    else:
        if b % 2 == 0:
            return b
        else:
            return none;

    앞으로 회차를 거듭 해 나갈 수록 이런 None Type에 대한 언급이 있을 수 있습니다. 그 때 마다 필요성을 느끼면서 학습하면 됩니다.

* List

    List Type은 파이썬의 기초가 되는 Type 중 하나입니다. 다른 언어에서의 배열과 똑같으며, Java에서는 ArrayList를 똑같이 사용하고 있습니다. 사용법은 다음과 같습니다.

    Python의 List는 [ ] ( 대괄호 ) 로 둘러쌓여 있습니다. 이는 다음과 같이 표현 가능합니다.

x = [] # List는 [ 과 ] 로 둘러쌓여 있으며, 내부에 아무것도 없어도 가능합니다. y = [ 1, 2, 3 ] # List는 내부에 Data를 가질 수 있으며, 이는 " , " 로 구분 가능합니다. z = [ "word", y, [4, 5], 7.623 ] # List 는 내부에 List를 가질 수 있으며, 다른 Type들도 가질 수 있습니다.

    또한 list는 여러가지 함수와 연산자를 지원합니다.
y = [ 1, 2, 3 ]                           
z = [ "word", y,  [4, 5], 7.623 ] 

# 맨 뒷자리의 추가는 .append() 함수로 사용한다. append 함수의 인자로 무엇이든 넘겨줄 수 있다. 심지어 None Type도.
y.append(4)
y.append(5)

print( y )    # [ 1, 2, 3, 4, 5]
print( z )    # [ "word", [1, 2, 3, 4, 5], [4, 5], 7.623 ]

# Python의 list는 곱셈과 덧셈에 의해 연산이 가능하다.
print( y * 3 ) # [ 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ]
print(y + z) # [1, 2, 3, 4, 5, 'word', [1, 2, 3, 4, 5], [4, 5], 7.623]


# Python은 [ ]로 배열이나 string과 같이 인덱싱이 가능하다. 인덱싱이란, 배열과 같이 나열된 값을 특정한 순번 ( index ) 로 호출하는 것을 의미한다. 또한 " : " 기호를 이용해 잘라내는 것도 가능하다. 잘라낸 결과 역시 List이다.
print(y[2]) # [ 3 ]
print(y[1:3]) # [ 2, 3 ], 슬라이스 가능.

[ 사진 1 - Shell 에서 실행시킨 List 예시 ]


* Dictionary

    Dictionary Type이란, 다른 언어에서도 볼 수 있겠지만 자신이 지정한 index에 대한 배열을 의미합니다. 즉, List이되, List는 숫자로만 Indexing이 가능했다면, Dictionary는 숫자가 아닌 것에 대해서도 인덱싱이 가능합니다. 위에서 List가 대괄호였다면, Dictionary는 중괄호로 표시됩니다. 바로 코드로 알아보도록 하겠습니다.
x = {}    # Dictionary의 생성
x["Hello"] = "word"
x[23] = "NUMBER"
x[5.20] = "FLOAT"        # 내용을 지정하는 Index로는 무엇이든지 사용 가능하다.

print(x)    # {'word': 'Hello', 5.2: 'FLOAT', 23: 'NUM'}
print(x["word"]) # "HELLO"

[ 사진 2 - Dictionary 예시 ]


    이외에도 Tuple이나, ND-Array, 심지어 함수도 하나의 Type으로 확인 가능하나, 이는 후에 필요할 때에 따로 진행 할 계획이며, 그렇게 필요한 상황은 나오지 않습니다. 또한 List의 지원하는 함수도 굉장히 다양하여 sort, reverse 등의 정렬하고 뒤집는 등의 작업도 진행 가능합니다. 이는 구글링에 더 자세하게 나오므로, 기본 사용방법이 아닌 응용 방법은 다루지 않겠습니다.