Ruser

2. Python 자료구조 본문

Python/파이썬 기초

2. Python 자료구조

swub 2019. 3. 5. 22:26

2. Python 자료구조

2-1. 숫자형

Python은 수를 다룰때 정수(int)와 실수(float)을 사용한다.

사칙연산

  • 더하기: a + b
  • 빼기: a - b
  • 곱하기: a * b
  • 나누기: a / b
  • 제곱: a ** b
  • 나머지: a % b
  • 몫: a // b

2-2. 변수

Python은 등호(=)를 사용하여 변수값을 할당한다.

  • 변수지정: a = 1
  • 변수확인: a

변수명

Python의 변수명으로는 알파벳 대소문자,숫자,언더바(_), 한글,한자 등을 사용 할 수 있으나 변수의 첫 글자는 숫자로 사용할 수 없고 영어 변수명은 대소문자를 구분한다.

덮어쓰기

값이 할당된 변수명에 새로운 값을 할당하면 기존의 값은 사라지고 새로운 값의 변수명이 할당된다.

한번에 변수 값 할당하기

  • 하나의 값을 두개의 변수에 저장: a = b = 1
  • 두개의 값을 두개의 변수에 저장: a, b = 1,2
  • 변수값 바꾸기: a, b = b, a

변수삭제

  • 변수지정: a = 1
  • 변수삭제: del a

2-3. 문자

문자열은 문자로 이뤄진 자료의 집합이다.

  • 예시: '문자로 이뤄진 자료'

문자열 생성

문자열 만들기

  • 따옴표를 사용하여 문자열 만들기: a = '문자열'

따옴표를 세개(""")연속으로 쓰면 다시 따옴표 세개(""")가 나올 때까지 모든 글자를 문자열로 인식

  • 예: """ 나는 생각했다 '이러면 되나?' """

문자열에서 탭또는 줄 바꿈 사용

In [58]:
print('Python\n줄바꿈\n문자열') # 줄바꿈
Python
줄바꿈
문자열
In [45]:
print('Python\t\t문자열') # 탭
Python	탭	문자열

문자열 연산

더하기기호를 이용하여 문자열끼리 합칠 수 있다.

In [28]:
'1 더하기 1은 ' + '2다.'
Out[28]:
'1 더하기 1은 2다.'

곱셈기호를 사용하여 문자열을 반복할 수 있다.

In [29]:
'ㅋ' * 3
Out[29]:
'ㅋㅋㅋ'

문자열에 원하는 값 대입

대입값이 문자열인 경우 %s 사용

In [43]:
'오늘의 날씨는 %s 입니다' % '흐림'
Out[43]:
'오늘의 날씨는 흐림 입니다'

대입값이 숫자형인 경우 %d 사용

In [32]:
'오늘은 %d일 입니다' % 8
Out[32]:
'오늘은 8일 입니다'

한번에 여러 값 대입 가능

In [40]:
'%d일의 날씨는 %s 입니다' % (14, '맑음')
Out[40]:
'14일의 날씨는 맑음 입니다'

.format() 으로도 값 대입 가능

In [42]:
'오늘은 {}치고는 {}도로 따뜻했다'.format('겨울', 8)
Out[42]:
'오늘은 겨울치고는 8도로 따뜻했다'

indexing,slicing

indexing을 사용하여 자료의 원하는 위치를 확인 할 수 있다.

In [4]:
a = '여러개의 문자열중 원하는 위치 확인'
a[0] # 문자열의 첫 번째 값
Out[4]:
'여'

indexing시에 마이너스기호는 뒤에서부터 숫자를 센다.

In [6]:
a[-1] # 문자열의 마지막 값
Out[6]:
'인'

slicing을 사용하여 자료의 위치를 범위로 확인 할 수 있다.

In [19]:
a[0:3] # 문자열의 첫 번째 부터 네 번째 까지의 값
Out[19]:
'여러개'

문자열 다루기

.join(): 함수 앞에 ',' 을 사용하여 ()안의 값들 사이에 , 를 추가한다.

In [28]:
','.join('abc') # 추가 기준 , 
Out[28]:
'a,b,c'
In [31]:
' and '.join('abc') # 추가 기준 and
Out[31]:
'a and b and c'

.split(): 함수 뒤에 ','을 사용하여 ()안의 값들을 ,를 기준으로 나눈다.

In [32]:
'banana,strawberry'.split(',') # , 를 기준으로 나눔
Out[32]:
['banana', 'strawberry']

.strip(): 문자열의 양옆 공백 삭제

In [33]:
'  이런공백  '.strip()
Out[33]:
'이런공백'
In [34]:
' 사이 공백은 냅둠  '.strip()
Out[34]:
'사이 공백은 냅둠'

.replace(): 문자열내의 특정 글자를 다른 글자로 바꿀 수 있다.

In [35]:
'banana is red'.replace('banana','strawberry')
Out[35]:
'strawberry is red'

in: 문자열내에 특정 단어가 포함 되어있으면 true 출력

In [38]:
'is' in 'she is very pretty'
Out[38]:
True

not in: 문자열 내에 특정 단어가 포함되어 있지 않으면 true 출력

In [39]:
'oh' not in 'she is very pretty'
Out[39]:
True

.count(): 문자열에 특정단어가 몇 번 쓰였는지 확인해준다.

In [43]:
a = 'this is not fruit'
a.count('is')
Out[43]:
2

.index(): 특정단어의 위치를 보여준다.

In [49]:
a.index('i') #중복되는 경우 처음나오는 위치를 보여주는 것 같다.
Out[49]:
2

.capitalize(): 문자열의 첫 글자를 대문자로 바꾸어준다.

In [50]:
'hi'.capitalize()
Out[50]:
'Hi'

.lower(): 문자열의 모든 글자를 소문자로 바꾸어준다.

In [54]:
'EVeRy WOrd is ChaNGed TO lOWeR CAse'.lower()
Out[54]:
'every word is changed to lower case'

.upper(): 문자열의 모든 글자를 대문자로 바꾸어준다.

In [55]:
'EVeRy WOrd is ChaNGed TO uPPEr CAse'.upper()
Out[55]:
'EVERY WORD IS CHANGED TO UPPER CASE'

.startswith(): 문자열이 특정단어로 시작하는지 확인하고 맞으면 true 출력

In [56]:
'good start'.startswith('good')
Out[56]:
True

.endswith(): 문자열이 특정단어로 끝나는지 확인하고 맞으면 true 출력

In [59]:
'good end'.endswith('end')
Out[59]:
True

2-4.자료형 변환

정수로 변환

int(): 특정 값을 정수로 변환한다.

실수로 변환

float(): 특정 값을 실수로 변환한다.

문자열로 변환

str(): 특정 값을 문자열로 변환한다.

주피터 연습



'Python > 파이썬 기초' 카테고리의 다른 글

3.자료 구조  (0) 2019.03.25
1. 주피터 사용 방법  (0) 2019.03.05