Cloud/클라우드 아키택트 양성과정

[TIL] 20.12.14 (2) 파이썬 개념 / 특징

워킹자몽 2020. 12. 22. 20:47

[20.12.14] 파이썬 개념 / 특징

* 파이썬(Python)

- 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어

- 공동 작업, 유지 보수가 쉬운 편

 

* 파이썬의 특징

1) 쉬운 문법, 빠른 습득 : 문법이 쉽고 간결하며 사람의 사고 체계와 닮아 있음

2) 무료, 강력함: 오픈 소스로 언제 어디서든 사용이 가능, C언어와의 조합이 좋음

3) 빠른 개발 속도

"Life is too short, You need Python."
- 파이썬의 빠른 개발 속도를 보여주는 문장

 

* 파이썬 설치

[Python] 파이썬 설치 (Windows용)

 

* 파이썬의 기초, 자료형(Data Type)

1) 숫자형 : 숫자 형태로 이루어진 자료형

종류 예시
정수 1, 100 -20
실수 1.5, -12.4, 3.4e10
8진수 0o24, 0o15
16진수 0x0A, 0xFF

1-a) 숫자형 연산

> 사칙연산 : +(덧셈), -(뺄셈), *(곱셈), /(나눗셈)

> 기타 연산 : //(나눈 뒤 몫), **(제곱수), %(나눈 뒤 나머지)

 

2) 문자열 : 문자, 단어 등으로 구성된 문자들의 집합

 

2-a) 문자열 생성

> 큰따옴표(" "), 큰따옴표 3개(""" """), 작은따옴표(' '), 작은따옴표 3개(''' ''')

 

2-b) 문자열 내에 따옴표 포함시키기

> 작은따옴표(' ') : 큰따옴표로 감싸기 ex) "그가 '안녕'이라 말했다."

> 큰따옴표(" ") : 작은따옴표로 감싸기 ex) '그가 "안녕"이라 말했다.'

> 백 슬래시(\) 활용 : 백 슬래시 뒤에 쓰기 ex) '그가 \"안녕\"이라 말했다."

 

2-c) 문자열 연산

> 문자열 덧셈 : 'hello' + ' python' => 'hello python'

> 문자열 곱셉 : '*' * 3 => '***'

> 문자열 길이 구하기 : 파이썬 내장 함수 len 활용 ex) len('abc') => 3

 

2-d) 문자열 인덱싱, 슬라이싱

> 타 언어의 배열과 같은 인덱스를 문자열에서도 사용이 가능하다.

a = 'python'
print(a[0]) # 출력 : p
print(a[0:4]) # 0이상 4 미만의 문자열 출력 : pyt
print(a[0:]) # 0부터 끝까지 출력 : python
print(a[:2]) # 0부터 4 미만의 문자열 출력 : py

2-e) 문자열 포맷팅

> C언어의 그것과 비슷하다. 문자열 내에 '%'를 입력하고 뒤에 값을 전달한다.

> '%'를 활용하는 방법 외에 f 문자열 포맷팅도 있다.

# 1. % 문자열 포맷팅
"hello, %d python" % 3 # %d는 숫자 대입
# -> 출력 : hello, 3 python
"hello, $s python" % 'my' # %s는 문자열 대입
# -> 출력 : hello, my python

# 2. f 문자열 포맷팅
name = '홍길동'
f'내 이름은 {name} 입니다.'
# 출력 : '내 이름은 홍길동 입니다.'

> 문자열 포맷팅은 다양한 형태로 활용될 수 있다.

# 문자열 포맷팅 활용
# 1. 정렬, 공백
"%10s" % "hi" # 문자열을 대입하되, 전체 길이 10개의 공간에 집어넣기.
# 출력 : '        hi' -> hi가 오른쪽 정렬
"%-10s" % "hi" # 문자열을 대입하되, 전체 길이 10개의 공간에 오른쪽부터 집어넣기.
# 출력 : 'hi        ' -> hi가 왼쪽 정렬

# 2. 소수점 표현
"%0.4f" % 3.141592 # 실수를 대입하되, 소수점 아래 4자리 까지 출력
# 출력 : '3.1415'
"%10.4f" % 3.141592 # 실수를 대입하되, 전체 길이 10개의 공간에 소수점 아래 4자리 까지 출력
# 출력 : '    3.1415'

> % 문자열 포맷 코드

코드 설명
%s 문자열(string)
%c 문자 1개(character)
%d 정수(integer)
%f 부동 소수(floating-point)
%o 8진수
%x 16진수
%% Literal %(문자 '%' 자체)

 

2-f) 문자열 관련 함수

> 문자열.count('a') : 문자열 안에 'a'라는 문자 개수 반환, 없으면 0 반환

> 문자열.find('a') : 문자열 안에 'a'라는 문자가 처음 나온 위치 반환, 없으면 -1 반환

> 문자열.index('a') : find와 동일하나 문자열이 없으면 오류 발생

> 문자열.join('abc') : 문자열을 'abc'에 삽입 ex)','.join('abc') => 'a,b,c'

> 문자열.upper() : 영소문자를 대문자로 변환

> 문자열.lower() : 영대문자를 소문자로 변환

> 문자열.strip() : 문자열 양쪽에 연속된 공백 삭제

> 문자열.lstrip() : 문자열 왼쪽에 연속된 공백 삭제

> 문자열.rstrip() : 문자열 오른쪽에 연속된 공백 삭제

> 문자열.replace('a','b') : 문자열 내에 'a'라는 모든 글자를 'b'라는 글자로 치환

> 문자열.split(기준) : 문자열을 기준을 구분자로 해서 분리

 

* 실습 문제

1) 원달러 환율 = 1117.50원 일 때, 2000원을 달러로 바꾸시오.

# 풀이
rate = 1117.5
print(2000/rate)

2) 7777원을 동전으로 바꾸어서 출력하라.

> 오백 원짜리, 백원짜리, 오십 원짜리, 십원짜리, 일 원짜리로 출력할 것.

# 풀이
money = 7777
five_hund = money//500
money %= 500
one_hund = money//100
money %= 100
fifty = money//50
money %= 50
ten = money//10
money %= 10
print(f'오백원짜리 : {five_hund}개')
print(f'백원짜리 : {one_hund}개')
print(f'오십원짜리 : {fifty}개')
print(f'십원짜리 : {ten}개')
print(f'일원짜리 : {money}개')

 

 

※ 이 게시물은 'Do it 점프 투 파이썬' 교재와 엔코아 플레이데이터에서 배운 내용을 토대로 작성되었습니다.