파이썬 자료형
파이썬 Type으로 리스트를 간단하게 알아보았다. 배열처럼 사용하고 []으로 쓰는것을 명심하자
이것과 비슷하게 Tuple이라는 타입이 있다. ()으로 사용하고 []을 통해 원소에 접근한다. 리스트와의 차이점은 리스트는 일반적으로 동일한 자료형으로 이루어진 항목들에 대해 사용하고 튜플은 서로 다른 종류의 데이터형으로 이루어진 항목들에 사용한다.
Dictionary는 {}으로 사용하며 C++의 map이나 자바스크립트의 객체처럼 이해하면 쉽다. 즉 key와 value의 쌍이라 생각하자
튜플은 이미 생성된 원소를 제거하거나 변경할 수 없다.
이들이 비어있을때는 false를 가지기 때문에 if not list 를 사용하여 비어있는지 확인할 수 있다.
str, tuple, list는 비어있을때 false이다.
아래의 코드로 이해하길 바란다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
arr1 = ['A', 'B', 'C', 'D']
arr2 = ['a', 'b', 'c', 'd']
a = []
for food in arr1 + arr2:
if not food in a:
a.append(food)
print(a)
print(len(a))
tup = [1,3.55,'djdjk']
cars = {1004:'R', 44:'good', 1945:'plain', 2002:'world'}
key = 1004
print('키 : {} 값 : {}입니다.'.format(key, cars[key]))
|
위의 결과를 얻을 수 있을 것이다. Set 타입이 있으며, 이는 C++의 <set> 컨테이너와 비슷하다. 즉 중복을 피해 원소를 가질 수 있다.
파이썬 함수(Function)
혹시 이전의 코드에서 'def '함수명()' 의 구조를 봤다면 그것이 파이썬의 함수이다. 여기서는 코드와 주석을 통해서만 함수가 어떻게 사용되고 쓰이는지 알아보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
def f(name, *family, **family2):
print(name)
print('가족이름은 아래와 같다?')
for name in family:
print(name)
print('-'* 40)
print(key, ':', family2[key])
print('타입 알아보기 : ', type(family), type(family2))
f('크리크리', '1_사람1', '철수', '맹구', '첼시', '사스날', 집='용인', 가훈='화이팅!')
'''
위와 같은 함수로 확인가능, 파이썬에서 *은 인자값 여러개를 하나의 변수에 담아서 저장할 수 있다.
한개는 튜플형, 2개는 사전형임을 알면된다, *는 패킹이냐 언패킹이냐의 역할을 한다.
리스트와 튜플의 차이점은 불변성, 즉 수정 가능한가 불가능 한가, 사전형은 C++의 map처럼 key:value 라고 생각
혹은 JS처럼 객체처럼 생각
'''
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
위와 같은 결과가 나올 것이다.
우선 파이썬의 함수는 def '함수명(인자)' : 의 모양을 가지게 된다. 들여쓰기를 통해 범위를 지정한다.
함수호출 역시 우리가 알고 있는 방법으로 하면 된다.
파이썬에서 *연산자를 쓴것만 주의하면 된다. 코드의 주석으로 표시하였으며, 가변인자 리스트 라고 한다.
*기호는 튜플형 데이터를 대입하는 의미이며 **는 키와 값의 쌍으로 이루어지는 사전형 데이터를 대입하는 것이다. 코드와 결과를 보면 쉽게 이해할 수 있다.
*언패킹 인자 리스트*
1
2
3
4
5
|
print(list(range(3,6)))
args = [3,6]
print(args)
print(list(range(*args)))
#*는 패킹이냐 언패킹이냐의 역할을 한다.
|
파이썬에서 *기호는 데이터를 패킹할지 언패킹 할지를 결정하는 역할을 하는것을 위의 코드로 이해할 수 있다. 위 코드를 실행하면 어떤 결과가 나오는지 확인해보자.
사전형도 동일한 역할을 수행한다. 사전형을 확인할 때, **로 확인해야한다.
'python' 카테고리의 다른 글
[python] 파이썬 클래스 실습 및 정규식예제 (0) | 2019.08.26 |
---|---|
[python] 파이썬 모듈_Module (0) | 2019.08.26 |
[python] 파이썬 클래스 (0) | 2019.08.13 |
[python] 파이썬 제어문 (0) | 2019.08.12 |
[python] 자료형, 입력, 출력 (0) | 2019.08.12 |