- 숫자형 자료형

숫자로 이루어진 자료형이다. 정수,실수,복소수,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"
>>> year = a[:4]
>>> day = a[4:8]
>>> weather = a[8:]
>>> year
'2017'
>>> day
'0804'
>>> weather
'sunny'

 

 

- 문자열 바꾸기 

문자열,튜플은 요소값을 변경할수없다.

그렇기에 슬라이싱 기법을 사용한다.

 

Suneyday를 Sunnyday로 바꿔보자

 

 

>>> a = "Suneyday"
>>> a [3:4]
'e'
>>> a[:3] + 'n' + a[4:]
'Sunnyday'

 

 

 

 

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을 나눔

( : ) 와 같은 특정값이 있다면 괄호안의 값을 구분자로 문자열을 나눔

 

 

+ Recent posts