thoistory.tistory.com 2회차 파이썬 숫자형과 문자열 자료형 프로그래밍
본문 바로가기
인공지능 융합교육/파이썬린이의 파이썬 공부(21년1학기)

2회차 파이썬 숫자형과 문자열 자료형 프로그래밍

by 케미또이 2021. 9. 15.
반응형
  • 자료형이란?

프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것

1. 숫자형 - 숫자 형태로 이루어진 자료형으로 정수, 실수, 8진수, 16진수 로 구분

  • 정수형(Integer)

>>> a = 123 (양의 정수)

>>> a = -132 (음의 정수)

>>> a= 0 

  • 실수형(Floating-point)

>>> a = 1.3

>>> a = -1.34E10       -> -1.34*10의 10승을 의미 / E나 e 모두 사용 가능

8진수와 16진수는 잘 사용하지 않으나 16진수의 경우 메모리 볼때 종종 나오기도 함.

  • 숫자형과 관련한 대표적 연산자

ㄱ.  a**b     -> a의 b 제곱값

>>> a=2

>>> b=3

>>>a**b

8

ㄴ.  a % b      -> 나눗셈의 나머지값 돌려주는 연산자

>>> 5 % 3

2

>>> 3 % 5

3               -> 나누어 지지 않을 때는 원래 숫자가 출력

ㄷ.  a // b  -> 나눗셈 후 몫을 돌려주는 연산자

>>> 24//5

★참고할 것 : int/int = float 으로 출력!  ex) 4/2 = 2가 아니라 2.0

2. 문자열 자료형 - 따옴표로 둘러싸여 있으면 모두 문자열!!

-> 가능한 따옴표는 '    '  ,  "      "  ,  '''     '''  ,  """        """    4가지 경우 모두 가능

ㄱ. 문자열에 따옴표 표시할 때

방법1 : 문자열에 표시된 따옴표와 다른 종류의 따옴표로 문자열 둘러싸기

방법2 : 문자열 바로 앞에 백슬래시(\) 사용하기

ㄴ. 여러 줄인 문자열을 변수에 대입할때

방법1 : 이스케이프 코드인 \n 삽입

방법2 : ''' 또는 """ 사용하기

>>>multiline = '''

...Life is too short

...you need python

...'''

>>>print(multiline)

★이스케이프 코드 : 프로그래밍 시 사용할 수 있도록 미리 정의해둔 문자 조합. 주로 정렬의 용도로 사용. 활용빈도가 높은 것은 \n, \t, \\, \',\" 

 

ㄷ. 문자열 연산

1) 문자열 더해서 연결 : 변수에 문자열 대입 -> 변수 더하기

2) 문자열 곱셈 : 변수에 문자열 대입 -> 곱하기 , 이때 문자열과 숫자 곱하면 문자열 반복하여 출력

3) 문자열 길이 계산 : len 함수 이용

>>> a = python

>>> len(a)

6

ㄹ. 문자열 인덱싱(indexing)과 슬라이싱(slicing) - 인덱싱은 가르키는 것, 슬라이싱은 잘라내는 것!

1) 인덱싱 : 변수 a에 저장한 문자열의 각 문자마다는 번호가 지정됨. 0부터 시작

>>> a= you need python

>>> a[2]

'u'

a[-1]의 경우는 뒤에서부터 세어 첫번재가 되는 문자 의미    -> 'n'

2) 문자열 슬라이싱   ->    a[n : m] 자리 번호 n부터 번호 m-1까지 문자열을 잘라내는 것. 공백 문자 역시 번호가 매겨짐

a[:n]  -> 처음부터 자리번호 n-1 까지 슬라이싱

a[n:]  -> 자리번호 n 부터 끝까지 슬라이싱

★ 문자열 자료형은 그 요솟값을 변경할 수 없는 immutable한 자료형임!

ex) pithon 문자열을 python 으로 바꾸기 위해서는?

>>> a='pithon'

>>> a[:1]

'p'

>>>a[2:]

'thon'

>>>  a[:1] + 'y' + a[2:]

'python'

ㅁ. 문자열 포매팅

1) 문자열 포맷 코드 

%s 문자열  -> 어떤 형태의 값이는 변환해 넣을 수 있음

%d 정수(int)

%f 부동 소수(실수)

ex) 2개 이상의 값 넣어 포매팅

>>> number = 10

>>> day = "two"

>>> " I ate %d apples. so I was sick for %s days."  %(number, day)

' I ate 10 apples. so I was sick for three days.'

★문자열 내 포매팅 자리에 '%'를 표시하고 싶을때에는????     ->  %d%% 로 표시

2) 포맷 코드와 숫자 함께 사용하기 

- 정렬과 공백

>>> "%10s"   % "hi"

'        hi'      -> 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽 정렬하고 그 앞 나머지는 공백 if, %-10s 의 경우 왼쪽 정렬이겠지?

- 소수점 표현

>>> " %0.4f"  %3.42136234

'3.4214'     -> 소수점 네번째 자리까지만 나타내고 반올림되서 표현됨. %f는 소수점 여섯째 자리까지 표현 가능

3) format 함수를 사용한 포매팅

- 숫자, 문자열, 숫자 값 가진 변수 대입

>>> "I eat {0} apples" . format(3)      <- 3 자리에 "three" 넣을 수도 

' I eat 3 apples'

>>> number = 5

>>> "  I eat {0} apples " . format(number)    <- 변수 대입도 OK

' I eat 5 apples '

- 2개 이상의 값 넣기도 OK   : 문자열이 {0}, {1}, ... 과 같은 인덱스 항목이 format함수의 입력값으로 순서에 맞게 바뀜. 더 편리하게 {name}의 형태도 쓰기 가능. 단, name = value 값이 반드시 있어야해. 혼용도 가능.

>>> number = 10

>>> day = " three "

>>> " I ate {0} apples. so I was sick fo {1} days. " . format(number, day)

...

>>> " I ate {number} apples. so I was sick fo {day} days." . format(number=10, day=3)

...

>>> " I ate {0} apples. so I was sick for {day} days. " . format(10, day=3)

...

- 정렬 방식 : 화살표 방향을 기억하면 됨.

왼쪽 정렬 ->   {0:<10} . format("hi")       오른쪽 정렬 ->  {0:>10} . format("hi")   가운데 정렬  -> {0:^10} . format("hi")

공백 채우기 : 채워넣을 문자 값은 정렬 문자 <,>,^ 바로 앞에 넣기

>>> " {0:$^10}" . format("hi")

$$$$hi$$$$

- 소수점 표현 ->  "{0:10.4f}" . format(y)          {또는} 문자 표현 ->  "{{and}}" . format()

반응형

댓글