1. 문자열
파이썬에서는 문자를 " 혹은 '로 묶어서 표현 합니다. 서로 쌍이 맞아야 합니다.
' string ', " string " 처럼!
만약 print 함수를 통하여 인용을 나타내고 싶을때는 """ 혹은 '''을 사용하면 표현 가능합니다.
예를들어 print(""" 영원에 살고 순간에 살아라 영원히 살 것처럼 일하고 금방 죽을 것 처럼 사람들을 대하라. - 리히텐베르크""")와 같이 말이죠!!!
또는 \' \"의 에스케이프 문자를 이용하여 표현이 가능합니다.
문자열을 더하거나 같은 문자열을 반복 하고싶을때는 +, *의 연산자를 사용하면 됩니다.
"hello" + "world" = "hello world"
"re" * 3 = "rerere"
문자열의 각 문자는 인덱스를 통하여 접근 가능합니다.
c = "hello"
c[0] = h 출력
c[1] = e 출력
** 문자열 슬라이싱 **
변수명 [시작위치:끝위치]를 이용하여 문자열을 꺼낼수 있습니다.
c = "hello"
c[0:3] = 'hel'과 같이 말이죠!
시작이나 끝을 생략 할 경우는 시작 혹은 끝으로 간주 됩니다. 또한 -를 통하여 문자열 끝부터 문자열 시작 까지도 가능!
c[-1] = "hello
2. 리스트
값의 나열을 담는 자료형. 순서가 존재하며 여러 종류의 값을 담을 수 있을뿐 아니라 인덱싱을 통한 접근, 슬라이싱을 통한 접근이 가능합니다.
리스트를 만드는 방법은 다음과 같습니다.
animal = ['dog', 'bird', 'cow']
멤버함수명 |
설명 |
append() |
리스트의 뒤에 값을 추가. |
insert() |
원하는 위치에 값을 추가. |
extend() |
튜플 혹은 리스트 등의 여러 값을 한 번에 삽입 |
index() | 어떤 값이 어디에 존재하는지 반환 |
count() | 현재 값의 개수를 반환 |
pop() | 뒤에서 부터 값을 뽑아낸다. |
remove() | 해당 값을 삭제 |
sort() | 순방향으로 정렬 |
reverse() | 역방향으로 정렬 |
+연산자를 통하여 삽입이 가능하다. 그러나 튜플이나 리스트가 아닌 문자열을 'abc'와 같이 넣을 경우 'a' 'b' 'c'의 형태로 쪼개어 들어갑니다.
3. 세트
수학의 집합과 같다.
union |
매개변수로 들어가는 세트와의 합집합을 반환 |
intersection() |
매개변수로 들어가는 세트와의 교집합을 반환 |
- 연산자 |
차집합을 반환 |
| 연산자 | 합집합을 반환 |
& 연산자 | 교집합을 반환 |
4. 튜플
()로 묶어서 표현하며 읽기 전용이다. 속도는 리스트에 비해 빠르다.
count() |
현재 값의 개수를 반환 |
index() |
어떤 값이 어디에 존재하는지 반환 |
5. 딕셔너리
key와 value로 구성되어 있으며 가장 많이 사용하는 자료구조
예) a = dict(a=0, b=1, c=2)
>>>a
{'a':0, 'b':1, 'c':2}
없는 키를 사용 할 경우 오류가 발생.
item() |
딕셔너리의 모든 키와 값을 튜플로 묶어 반환 |
key() |
키를 반환 |
value() |
값을 반환 |
6. 얕은복사와 깊은 복사
파이썬에서의 모든 변수는 해당 객체의 주소를 갖고 있다. 그러므로 주의 해야 할 점이 있는데
아래의 예제와 같은 경우와 같이 복사 생성을 할 때에는 주솟값이 복사가 된다.
a = [1, 2, 3]
b = a
a[0] = 4
>> b
b [ 4, 2, 3] 의 결과와 같이 b는 a의 주소값을 복사 한 것이다.
고유한 값인 아이디를 반환하는 함수를 사용하면 다음과 같다.
id(a), id(b)
(180000, 1800000 )
이를 해결하는 방법은 copy 모듈을 import하고 deepcopy()함수를 사용하면 해결 할 수 있다.
'프로그래밍 > Python' 카테고리의 다른 글
[파이썬 기초 문법 - 3] 제어관련 (0) | 2019.02.20 |
---|---|
[파이썬 기초 문법 - 2] 함수 (0) | 2019.02.20 |