파이썬
자료형
숫자형
- 덧셈 a + b
- 뺄셈 a - b
- 곱셈 a * b
- 나눗셈 a / b
- 나머지 a % b
- 버림 나눗셈 a // b
- 거듭제곱 a ** b
정수형과 정수형 연산하면 결과값은 정수형
소수형과 소수형 연산하면 결과값은 소수형
정수형과 소수형 연산하면 결과값은 소수형
단, 나눗셈은 항상 소수형으로 나온다.
사칙연산시에 우선순위가 적용된다.
round() (반올림)
round(3.14159) -> 3
round(3.14149, 2) -> 3.14
두 번째 인자로 반올림 위치를 조정할 수 있다.
문자열
따옴표로 둘러싸면 문자열이 된다.
예시) “a” ‘a’
작은 따옴표나 큰 따옴표나 동일한 기능을 한다.
따옴표를 문자로서 출력하려면 백슬래쉬를 붙이면 된다.
print(“hello "world"”)
문자열 연산
문자열 덧셈은 문자열을 연결한다.
“hello” + “world” -> “helloworld”
“hello” * 3 -> “hellohellohello”
“3” + “5” -> “35”
형 변환
값의 자료형을 다른 자료형으로 변환한다.
자료형(값)
int(1.2) -> 정수 1
float(3) -> 소수 3.0
str(3) -> 문자열 “3”
문자열을 정수형으로 바꾸는 경우 같이 논리적으로 말이 되지 않으면 변환되지 않는다.
문자열 포맷팅
출력 시 문자열로 형변환을 해야하는데 일일이 변환하지 않고 문자열 포맷팅을 할 수 있다.
format
year = 2020
month = 10
day = 29
print("{}년 {}월 {}일".format(year, month, day))
%
year = 2020
month = 10
day = 29
print("%d년 %d월 %d일" % (year, month, day))
f-string
year = 2020
month = 10
day = 29
print("{year}년 {month}월 {day}일")
불 대수
불린형 True와 False를 리턴한다.
AND, OR, NOT 연산자를 사용한다.
a AND b는 둘다 참이어야 참이다.
a OR b는 둘 중 하나라도 참이면 참이다.
NOT a는 참이면 거짓이고 거짓이면 참이다.
type()
자료형을 확인할 때 쓰인다.
print(type(3)) -> int
print(type(3.0)) -> float
추상화
변수
a = 5
a = a + 5
”=”는 지정연산자 이다. 오른쪽의 값을 왼쪽의 변수에 지정한다.
함수
def square(n):
return n * n
print(square(3))
return문의 역할은 값을 돌려주고 함수를 즉시 종료한다.
옵셔널 파라미터
파라미터에 기본값을 설정하면 필수로 값을 넘겨줄 필요가 없다.
def plus(a, b, c = 3):
return a + b + c
print(plus(1, 2))
print(plus(1, 2, 5))
결과값이 6과 8이 나온다. c에 기본값을 설정해 둬서 값을 줘도 되고 안줘도 된다.
옵셔널 파라미터들은 모두 마지막에 위치해야 에러가 나지 않는다.
scope (범위)
로컬 변수는 선언된 해당 범위에서만 사용 가능하다. 파라미터도 로컬 변수다.
함수 내에서 변수를 선언했으면 함수 내에서만 사용 가능하다.
함수 밖에서 변수를 선언하면 글로벌 변수라고 하고 글로벌 변수는 전체에서 사용할 수 있다.
상수
불변의 값을 상수라고 한다.
상수는 대문자로 표기한다. 프로그램상의 변화는 없고 강제되지 않으나 대문자로 표기하는게 규칙이다.
스타일
파이썬 스타일 가이드에 맞게 코드를 작성하는게 좋다. PEP8이라는 스타일 가이드를 많이쓴다.
PEP8
이름
- 변수와 함수 이름은 소문자로, 여러 단어일 경우 ‘_‘로 구분.
- 상수 이름은 대문자로, 여러 단어일 경우 ‘_‘로 구분.
- 의미 있는 이름을 쓰자.
화이트 스페이스
- 들여쓰기는 스페이스 * 4
- 함수 정의는 위, 아래로 빈줄 두개씩. 단, 첫줄이 함수 정의면 위 공백 생략.
- 괄호 바로 안 띄어쓰기 금지.
function(a, b) -> (O)
function( a, b ) -> (X) - 함수 이름과 괄호사이 띄우기 금지.
function() -> (O)
function () -> (X) - 쉼표 앞 띄어쓰기 금지.
function(x, y) -> (O)
function(x , y) -> (X) - 연산자 앞뒤로 띄우기.
a = 1 -> (O)
a=1 -> (X)
단, 우선 순위 예외.
result = a*b + a*b -> (O)
result = a * b + a * b -> (X) - 코멘트를 일반 코드와 같은 줄에 쓸 때 띄어쓰기 최소 2개.
제어문
while 반복문
while 조건 부분:
수행 부분
i = 0
while i < 3:
print(i)
i += 1
if문
if 조건 부분:
수행 부분
else:
수행 부분
i = 5
if i < 7:
print("7미만")
else:
print("7이상")
elif문
if 조건 부분:
수행 부분
elif 조건 부분:
수행 부분
else:
수행 부분
i = 5
if i < 7:
print("7미만")
elif i == 7:
print("7")
else:
print("7초과")
break문
반복문의 조건 부분과 상관없이 반복문을 탈출하고 싶다면 break문을 사용한다.
i = 0
while True:
if i == 50:
break
print(i)
i += 1
49까지만 출력된다.
continue문
현재 진행되고 있는 수행 부분을 중단하고 바로 조건 부분을 확인할때 continue문 사용.
i = 0
while i < 100:
i += 1
if i % 2 == 1:
continue
print(i)
짝수만 출력된다.
Leave a comment