티스토리 뷰
1. 수치형 자료형
-정수형 : -1,0,1과 같은 우리가 흔히 알고 있는 정수
-실수형 자료 : -0.5,2.5 같이 분수로 표현할 수 있는 유리수,pi(원주율),루트 같은 무리수를 포함하는 실수
-복소수형 자료 : 실수부+허수부로 되어 있는 복소수
>>> a = 1 # 정수형 자료 선언
>>> b = 1.0 # 실수형 자료 선언
>>> c = 1+j # 복소수형 자료 선언
>>> d = 0x1A # 16진수 정수형 자료 선언
EX)
2. 문자열 자료
-문자열 자료 선언 방법
>>> str1 = 'I love Python'
>>> str2 = "A lot of things occur each day"
>>> str3 = """We have got to live with our own way"""
- ' or "
- 변수에 할당할 문자열이 매우 길거나 여러 줄로 된 경우 삼중 큰 따옴표(""" """)로 둘러싸인 문자열을 할당
- 삼중 큰 따옴표는 블록단위의 주석 처리를 할 때 자주 사용됨
- 라인 단위의 주석 처리는 주석 처리할 라인 맨 앞에 # 기호로 주석임을 표시
3. 리스트 자료
-리스트 자료는 [1,'a','I love Python'] 같이 [] 안에 임의의 객체를 순서있게 나열한 자료형
- 각 멤버는 , 로 구분
EX)
- 인덱스는 0부터 시작하므로 리스트의 첫 번째 멤버값은 listdata[0]
- listdata의 네번째 멤버 listdata[3]은 값이 리스트인 [0,1,2] . 따라서 listdata[3][0]은 [0,1,2]의 첫번째 값인 0을 화면에 출력한다.
1) 리스트 멤버 추가
-append() : 리스트의 맨 끝에 멤버 추가
EX)
>>> listdata.append([1,2,3])
>>> listdata
[1, 'a', 'I love Python', [0, 1, 2], 4, [1, 2, 3]]
2) 리스트 멤버 삭제
-리스트 객체.remove(멤버값)
-del 리스트 객체[인덱스]
EX)
>>> listdata = [1,2,3]
>>> listdata.remove(2)
>>> listdata
[1, 3]
>>> del listdata[0]
>>> listdata
[3]
3) 리스트 객체 삭제
-del로 리스트 객체 삭제시 멤버가 삭제되는 것은 물론 리스트 객체 자체도 제거된다.
>>> listdata = [1,2,3]
>>> del listdata
>>> listdata
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
listdata
NameError: name 'listdata' is not defined
-> 삭제된 리스트 객체 사용시 오류
4. 사전 자료
- 파이썬의 사전 자료 : 키(Key) : 값(Value) 으로 된 쌍이 멤버로 구성된 순서가 없는 자료형
- { } 로 표현, { } 안에 키:값 쌍으로 된 멤버를 , 로 구분하여 나열
EX)
>>> dictdata = {'star':'Sun','planet':'Earth'}
>>> dictdata['star']
'Sun'
1) 사전 멤버 추가
-사전 객체[키] = 값
EX)
>>> dictdata = {}
>>> dictdata['a'] = 97
>>> dictdata['b'] = 100
>>> dictdata
{'b': 100, 'a': 97}
2) 사전 멤버 삭제
-del 키워드 사용
EX)
>>> dictdata = {}
>>> dictdata['a'] = 97
>>> dictdata['b'] = 100
>>> dictdata
{'b': 100, 'a': 97}
>>> del dictdata['a']
>>> dictdata
{'b': 100}
3) 사전 객체 삭제
-리스트 객체 삭제와 동일
4) 사전에서 키 추출
- 사전에서 키만 얻으려면 keys() 이용
- keys( )는 사전에 있는 키만 따로 모아 리스트로 리턴
EX)
>>> dictdata = {'a':97,'b':98,'c':99 }
>>> dictdata.keys()
dict_keys(['a', 'c', 'b'])
5. 튜플 자료
- 리스트와 달리 값을 변경할 수 없음
- ( )로 나타냄
EX)
-> 튜플 자료의 첫번째 멤버인 1을 2로 바꾸기 위해 tupledata[0]=2를 실행하면 오류 발생
따라서 튜플은 리스트와 비슷하게 사용하면서 멤버값이 변경되지 않게 하고 싶을 때 사용하는 자료
6. 시퀀스 자료형
-어떤 객체가 순서를 가지고 나열되어 있는 자료형
-시퀀스 자료형은 문자열 이외에 리스트,튜플이 있음
1) 종류
>>> str = 'Ilove Python'
>>> list = [1,2,3]
>>> tuple = (100,200,300)
2) 시퀀스 자료형의 공통 특성
-인덱싱 : 인덱스를 통해 해당 값에 접근할 수 있음. 인덱스는 0부터 시작
-슬라이싱 : 특정 구간의 값을 취할 수 있음. 구간은 시작 인덱스와 끝 인덱스로 정의
-연결 : + 연산자를 이용해 두 시퀀스 자료를 연결해 새로운 시퀀스 자료로 생성
-반복 : * 연산자를 이용해 시퀀스 자료를 여러 번 반복해 새로운 시퀀스 자료로 생성
-멤버 확인 : in 키워드를 사용해 어떤 값이 시퀀스 자료에 속해 있는지 확인
-길이 정보 : len() 함수를 이용해 시퀀스 자료의 멤버 개수 또는 문자열 길이를 알 수 있음
(1) 인덱싱
>>>시퀀스 자료형에서 인덱스를 통해 해당하는 값을 얻는 방법
-파이썬에서는 인덱스가 꼭 양수일 필요는 없고 음수일 경우 "끝에서부터 n번째"를 뜻한다.
EX)
>>> str = 'I love Python'
>>> str[0]
'I'
>>> str[1]
' '
>>> str[-1] // str[-1]은 문자열 str의 끝에서부터 첫 번째 문자를 뜻한다.
'n'
>>> str[-3]
'h'
(2) 슬라이싱
>>> 시퀀스 자료형에서 인덱스로 범위를 표현하여 범위에 해당하는 시퀀스 자료의 일부를 구하는 방법
[시작 인덱스:끝 인덱스:스텝] -> 시작 인덱스 ≤ (슬라이싱 범위 ) < 끝 인덱스
-시작 인덱스 : 범위의 시작
-끝 인덱스 : 범위의 끝
-스텝 : 자료를 취하는 간격. 디폴트로 1이므로 생략 가능
EX)
>>> str = 'I love Python'
>>> str[0:3] -> 인덱스 0이상 3미만까지 슬라이싱
'I l'
>>> str[3:] -> 인덱스 3이상부터 끝까지 슬라이싱
'ove Python'
>>> str[:-3] -> 인덱스 처음부터 끝에서 -3번째 미만까지 슬라이싱
'I love Pyt'
>>> str[::2] -> 처음부터 끝까지 스텝을 2로 슬라이싱. 인덱스가 0,2,4,6...인 부분을 출력
'Ilv yhn'
>>> str[::-1] -> 처음부터 끝까지 스텝을 -1로 해서 슬라이싱. 문자열 모든 범위에서 스텝을 거꾸로 1씩 가면서 슬라이싱 -> 문자열 역순 출력
'nohtyP evol I'
(3) + 를 이용한 연결
>>> str1 = 'abcdefg'
>>> str2 = 'ABCDEFG'
>>> str1+str2
'abcdefgABCDEFG'
(4) * 를 이용한 반복
>>> str1 = 'T.T'
>>> str1*2
'T.TT.T
(5) in 키워드를 이용한 멤버 확인
>>> str = 'I love Python'
>>> 'o' in str
True
>>> 'm' in str
False
-시퀀스 자료에 어떤 객체가 존재하는지 확인하고자 하는 경우 if문과 in 키워드를 이용
# 시퀀스 자료형은 아니지만 사전 자료에서도 in 키워드를 사용할 수 있는데, in 키워드로 키가 사전 자료에 있는지 확인할 수 있다.
>>> dictdata = {'a':100, 'b':99 }
>>> 98 in dictdata
False
>>> 100 in dictdata
False
>>> 'a' in dictdata
True
(6) len() 함수를 이용한 길이 정보
-모든 시퀀스 자료는 크기를 가지고 있고 문자열은 문자의 개수가 크기, 튜플과 리스트는 포함된 멤버 개수가 크기이다.
>>> str = 'I love Python'
>>> len(str)
13
>>> tupledata = (100,200,300)
>>> len(tupledata)
3
7. 자료형 출력
-print()는 인자로 입력된 객체 값을 화면에 출력한다.
-print()는 기본적으로 줄 바꿈 문자를 포함해 화면에 출력하므로 줄바꿈을 원하지 않는 경우 print()의 두번째 인자로 end=' '를 추가
'Programming > Python' 카테고리의 다른 글
[Python] 크리스마스 트리 (0) | 2017.01.04 |
---|---|
[Python] 우분투 python PIP설치 (0) | 2016.11.17 |
[Python] for문/if문 (0) | 2016.11.04 |
[Python] 파이썬 기초 (0) | 2016.11.03 |
- Total
- Today
- Yesterday
- lord of sqlinjection
- my-pass
- pwnable
- ftz
- MySQL
- ubuntu
- 자바
- 우분투
- Python
- 웹해킹
- wargame
- 파이썬
- 0xdeadbeef
- lob
- C
- 워게임
- pwnable.kr
- attackme
- cobolt
- Lord of SQL Injection
- BOF
- 설치
- 1번
- c언어
- java
- Los
- 명령어
- WebHacking
- webhacking.kr
- wargame.kr
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |