2. 기본문법
파이썬 표준 라이브러리 문서
IPython Notebook에서의 실행 방법
Cell에 코드 입력 후 Shift + Enter
예약어(Reserved Words)
파이썬에서 이미 문법적인 용도로 사용되고 있기 때문에 변수명 등의 식별자로 사용하면 안 되는 단어들
파이썬에서 이미 사용되고 있는(용도가 예약된) 단어들
예약어를 변수에 사용하면 에러는 없으나 고유 기능은 사라짐
Python 3.6에서는 33개의 예약어가 사용됨
(Python 3.7에서는 35개의 예약어가 사용됨)
# 기본 모듈이 아닌 경우 import 해야 함
import keyword
# 키워드(예약어) 목록
print(keyword.kwlist)
# len() 개수, 키워드의 개수
print(len(keyword.kwlist))
연산
1 + 2
3 / 2.4
3 * 9
10 ** 3
주석
# 한 줄 주석
"""
여러 줄 주석(큰따옴표 또는 작은따옴표 3개)
"""
print(10)
변수 작성 규칙
첫 글자는 영문 대소문자, _로 시작
나머지 글자들은 영문자, 숫자, _로 구성
대소문자 구분
길이 제한 없음
예약어는 사용할 수 없음
# a++, a--는 지원되지 않음: a += 1, a -= 1로 해야 함
a = 10
a += 1
print(a)
# 문자열은 작은따옴표 또는 큰따옴표로 감싼다.
a = "파이썬"
print(a)
가변자료형
# 자료형이 없음(가변자료형)
a = 3
b = 4
# 3의 4승
a ** b
# 여러개의 변수에 할당 가능
a, b = 10, 20
print(a, b)
i = j = k = 10
print(i, j, k)
변수의 swap
# 변수의 swap
a, b = 10, 20
print(a, b)
a, b = b, a
print(a, b)
변수의 삭제
# 변수의 삭제: del
b = 2
print(b)
del b
print(b)
나머지 연산자
# 나머지 연산자
print(7 % 3)
print(7 / 4)
# 나눗셈 후 소수 이하를 버림
print(7 // 4)
출력 형식
# 출력 형식
x = 9
print("정수 1: {0}".format(x))
print("정수 2: {0}".format(3**4)) # 제곱
print("정수 3: {0}".format((int(8.3) / int(2.7)))) # 강제 형 변환
소수 이하 자릿수 지정 방법
# 소수 이하 자릿수 지정 방법
print("실수 1: {0:.3f}".format(8.3 / 2.7))
y = 2.5 * 4.8
print("실수 2: {0:.1f}".format(y))
r = 8 / float(3)
print("실수 3: {0:.2f}".format(r))
print("실수 4: {0:.4f}".format(8.0 / 3))
자료형의 출력
# 자료형의 출력
print(type(10))
print(type(10.5))
print(type("hello"))
논리형 변수
# 논리형 변수
hungry = True
sleepy = False
print(type(hungry))
print(not hungry)
print(hungry and sleepy)
print(hungry or sleepy)
비교연산자
- x < y: x가 y보다 작다
- x > y: x가 y보다 크다
- x == y: x와 y가 같다
- x != y: x와 y가 같지 않다
- x >= y: x가 y보다 크거나 같다
- x <= y: x가 y보다 작거나 같다
- x or y
- x and y
- not x
a = 1
b = 3
if a == 1 and b == 3:
print("ok")
# \(역슬래시) - 코딩이 길어질 경우 사용
if a == 1 and \
b == 3:
print("ok")
Multi Line Text
# Multi Line Text
multiline = "Hello\nPython"
print(multiline)
# 작은따옴표 3개 또는 큰따옴표 3개를 쓰면 여러 라인에 걸쳐 문자열 작성 가능
multiline = '''Hello
Python'''
print(multiline)
문자열 연결
# 문자열 연결
head = "파이썬은 "
tail = "재미있다."
print(head + tail)
파이썬은 재미있다.
...
# 문자열 곱하기
a = "파이썬"
print(a * 2)
print(a * 3)
print("=" * 50)
print("My Program")
print("=" * 50)
파이썬파이썬
파이썬파이썬파이썬
==================================================
My Program
==================================================
# 인덱싱 - 문자의 위치
# 문자열의 인덱스는 0부터 시작함
a = "Life is too short"
# 앞에서 네번째
print(a[3])
# 뒤에서 두번째
print(a[-2])
# 슬라이싱 - 일부분을 잘라냄
# 0번에서 3번까지
print(a[0:4])
# 5번부터 끝까지
print(a[5:])
# 0번부터 6번까지
print(a[:7])
# 처음부터 끝까지
print(a[:])
# in, not in
str = "Hello world"
print("world" in str)
print("world" not in str)
True
False
# 문자열 formatting
# % 위치에 숫자 대입
age = 20
print("당신의 나이는 %s세입니다.", % age)
# % 위치에 문자열 대입
fruit = "사과"
print("나는 %s를 좋아한다. % fruit)
# 2개 이상의 값 대입
name = "김철수"
print("%s님의 나이는 %s세입니다." % (name, age))
# %를 쓰고 싶을 경우 %%로 두번 입력한다.
rate = 98
print("에러율 : %d%%" % rate)
# %전체자리수.소수이하자리수f - 소수점도 포함됨
point = 3.141592
print("원주율 : %10.3f" % point)
당신의 나이는 20세입니다.
나는 사과를 좋아한다.
김철수님의 나이는 20세입니다.
에러율 : 98%
원주율 : 3.142
# 문자열 포매팅
# 숫자 대입
age = 15
result = "나이 : {0}세".format(age)
print(result)
# 문자열 대입
name = "김철수"
result = "이름 : {0}".format(name)
print(result)
# 2개 이상의 값 넣기
result = "{0}님의 나이는 {1}세입니다.".format(name, age)
print(result)
# 변수 이름으로 입력
result = "{name}님의 나이는 {age}세입니다.".format(age = 20, name = '김철수')
print(result)
나이 : 15세
이름 : 김철수
김철수님의 나이는 15세입니다.
김철수님의 나이는 20세입니다.
# 왼쪽 정렬
# 전체 자리수는 10으로 설정
result = "{0:<10}".format("hi")
print(result)
# 오른쪽 정렬
result = "{0:>10}".format("hi")
print(result)
# 가운데 정렬
result = "{0:^10}".format("hi")
print(result)
# 공백 채우기 - 공백문자 대신 =로 채움, 공백문자는 정렬 문자 앞에 넣어야 함
result = "{0:=^10}".format("hi")
print(result)
result = "{0:-<10}".format("hi")
print(result)
hi
hi
hi
====hi====
----hi----
# 소수점 표현
y = 3.42134234
# 소수 이하 네자리까지만 표현
result = "{0:0.4f}".format(y)
print(result)
result = "{0:10.4f}".format(y)
print(result)
3.4213
3.4213
# 문자 갯수 세기
a = "hobby"
print(a.count('b'))
2
# 문자열의 위치
a = "Have a nice day."
print(a.find('nice'))
# 문자열을 찾지 못하면 -1을 리턴