- 숫자형 자료형
숫자로 이루어진 자료형이다. 정수,실수,복소수,8진수,16진수등이있다.
항목 |
사용 예 |
정수 |
313,-313,0 |
실수 |
31.51,-125.232,5.4.3e10 |
복소수 |
1 + 2j , -3j |
8진수 |
0o51,0o42 |
16진수 |
0x14,0xAB |
정수는 음의정수와 양의정수 0을 사용
실수는 소숫점을 사용
여기서 실수의 4.3e10에 e10은 10의 제곱이다.
e10이 10의 제곱이기때문에 4.3e10은 4.3 * 10**2인것이다.
(e는 대소문자 구분없이 사용가능하다.)
8진수와 16진수앞에 들어간 동그라미는 영문자 O가아닌 숫자0이다.
복소수
파이썬에서 복소수는 j를 사용한다.
>>>a = 1+3j
>>>b = 5-4j
a와 b 변수에 복소수대입
>>>a = 3+6j
>>>b = 2
>>>a * b
(6+12j)
a와b변수에 값 삽입 곱한 값 결과
*복소수 활용 내장함수*
a.real = 복소수 실수부분 반환
a.imag = 복소수 허수부분 반환
a.conjugate() = 복소수 켤레복소수 반환
abs() 복소수의 절댓값 반환
- 문자열 자료형
문자,단어등으로 이루어진 자료형이다.
문자열 자료형을 만들때에는 " " , ' ' 큰 따옴표와 작은따옴표를 사용해 문자열을 둘러 싸야한다.
Ex)
"Hello nice to meet you"
"This pizza is very delicious"
'david guetta'
- 문자열 연산
저번 기초문법에서 보았듯이
>>>food = "pizza"
>>>taste = "is very delicious"
>>>food + taste
'pizza is very delicious'
food라는 변수에 "pizza" taste라는 변수에 "is very delicious"를 대입해
둘을 더한값을 출력하는것을 볼수있다.
문자열도 곱할수가있다.
Ex)
>>> print("*"*30)
******************************
*표시를 30번 곱해서 나타낸 값이다.
- 문자열 인덱싱과 슬라이싱
인덱싱 - 가리킨다. [시작번호 0]
슬라이싱 - 자른다. [시작번지 : 끝번지]
파이썬의 문자열 숫자는 0부터시작이다.
"Hello python"
이 문장에 H는 숫자0 e는 1 l은 2가 되는것이다.
인덱싱(indexing)
>>>a = "Hello python"
>>>a[2]
'l'
>>>a[0]
'H'
>>>[5]
' '
*숫자표시엔 공백도 들어가있는것을 볼수있다.*
>>>a[-1]
'n'
' - ' 마이너스 기호를 사용하면 뒤에서부터 문자열을 인덱싱한다.
슬라이싱(slicing)
>>> a = "Hello python"
>>> a[0:3]
'Hel'
0부터 3의자리 앞자리까지의 수를 자른다.
>>> a[0:5]
'Hello'
>>>
H e l l o ' '
0 1 2 3 4 5 마찬가지로 공백도 포함이다. 공백의 숫자가 5이기때문에
Hello 까지의 문자열을 슬라이싱 한 것이다.
슬라이싱을 할때 처음숫자가 항상 0일 필요는없다.
>>> a[3:5]
'lo'
[ : ] 를 문자열을 전부 슬라이싱한다.
>>> a[:]
'Hello python'
슬라이싱도 인덱싱과 마찬가지로 마이너스( - )기호를 사용할수있다.
>>> a[-2]
'o'
슬라이싱 예제
|
|
>>> a = "20170804sunny" |
|
- 문자열 바꾸기
문자열,튜플은 요소값을 변경할수없다.
그렇기에 슬라이싱 기법을 사용한다.
Suneyday를 Sunnyday로 바꿔보자
>>> a = "Suneyday" |
|
|
|
a[3:4] 는 'e'를 가리킨다. e를 가리키는 범위를 알기때문에 문자열을 바꿀수가있다.
a[:3] = Sun , a[4:] = yday 이다.
그렇기에 e는 슬라이싱되었기때문에 'n'이라는 문자를 추가함으로서
a[:3] + 'n' + a[4:] = 'Sunnyday' 라는 문자열을 새로 만들수있는것이다.
- 문자열 포매팅 (formatting)
문자열 내에 어떤 특정 값을 변화시키는 방법
코드 |
설명 |
%s |
문자열(string) |
%c |
문자 1개 (character) |
%d |
정수(integer) |
%f |
부동 소수(floating-point) |
%o |
8진수 |
%x |
16진수 |
%% |
Literal % (문자'%' 자체) |
문자열 포매팅 따라해보기
-정렬과 공백
%s를 활용해 정렬과 공백만들기
처음문장은 hi를 오른쪽으로 정렬 %12s는 문자열의 전체길이
즉 hi를 오른쪽에 정렬하고 앞공간은 공백처리하는것이다.
|
|
|
|
|
|
|
|
|
|
h |
i |
%-12s는 왼쪽으로 정렬이다.
그렇기에 뒤쪽공간 10칸을 공백처리한다.
- 소수점 표현
- 문자열 관련 함수
내장함수를 사용할때는 (변수 '.' 함수이름)
파이썬에서 기본적으로 제공하는 함수이다.
문자개수 세기(count)
- 문자열 중 ()인자값안에있는 데이터의 갯수를 반환한다.
ex) a = "hobby"
a.count('b')
문자열의 위치(find)
ex) a = "python is best choic"
a.find('b')
원하는 데이터가 없을경우 - 1로 반환한다.
문자열 삽입(join)
- abcd 문자열의 각각의 문자 사이에 변수a의 값을 삽입하겠다.
ex) a = ","
a.join('abcd')
>>> a = ","
>>> a.join('ab')
'a,b'
>>> a = "!"
>>> a.join('abc')
소문자를 대문자로 바꿔주는 함수(upper)
a = "hi"
a.upper()
'HI
** 이미 문자열이 대문자일경우엔 변화가없음 **
대문자를 소문자로 바꾸는 함수 (lower)
a = "GOOD"
a.lower()
'good'
왼쪽 공백 지우기 (lstrip)
>>> a = " hi "
>>>a.lstrip()
'hi '
오른쪽 공백 지우기(rstrip)
>>>a = " hi "
>>>a.rstrip()
' hi'
양쪽 공백 지우기 (strip)
>>>a = " hi "
>>>a.strip
'hi
문자열 바꾸기(replace)
>>>a = "Hello python"
>>>a.replace("Hello","Good bye")
'Good bye python'
문자열 나누기(split)
()의 아무값이 없으면 공백을 기준으로 Hello 와 python을 나눔
( : ) 와 같은 특정값이 있다면 괄호안의 값을 구분자로 문자열을 나눔
'Python > Python' 카테고리의 다른 글
Python [조건문if,반복문while,for] (0) | 2017.08.09 |
---|---|
Python [집합자료형] (0) | 2017.08.08 |
Python [리스트,튜플,딕셔너리 자료형] (0) | 2017.08.07 |
Python [파이썬의 연산자와 기초문법,에디터] (0) | 2017.08.04 |
Python [파이썬 시작과 설치] (0) | 2017.08.02 |