Python 기본
● 출력 - print()
● 1개 출력
print('출력할 값')
print("출력할 값")
a = """출력할 값"""
print(a)
a = '''출력할 값'''
print(a)
다양한 방법으로 출력을 할 수 있다.
● 2개 출력
print(a, b) → a b
print(a, b, seq="") → ab
print(a, b, seq=".") → a.b
● print() 특징
print()함수는 기본으로 줄바꿈이 내장되어 있다. 기본 줄바꿈을 변경하려면
print(a, end="")와 같이 end의 값을 수정하여 변경할 수 있다.
2개 이상 출력시 기본적으로 공백을 두고 출력이 된다. 공백을 변경하려면
print(a, b, sep="")와 같이 sep의 값을 수정하여 변경할 수 있다.
print()의 사용법은 단순히 출력만 하는 것이 아니라 코드가 복잡해질수록
각각의 순간에 변수에 원하는 값이 있는지 확인하기 위해 print()를 사용하는것이 좋다.
● print() 포맷
●변수 포맷
%d → 숫자 %o → 8진수
%f → 실수 %x → 16진수
%c → 문자
%s → 문자열
a = 1
b = "abc"
print("a는 %d" % a) → a는 1
print("b는 %s" % b) → b는 abc
print("a는 %d, b는 %s" % (a,b)) → a는 1, b는 abc
● format 함수
a = 1
b = "abc"
print("a는 {0}".format(a)) → a는 1
print("b는 {0}".format(b)) → b는 abc
print("a는 {0}, b는 {1}".format(a, b)) → a는 1, b는 abc
● f 문자열 포맷
a = 1
b = "abc"
print(f"a는{a}") → a는 1
print(f"b는{b}") → b는 abc
print(f"a는 {a}, b는 {b}") → a는 1, b는 abc
● 소수점 출력
a = 11.222222
print("%.4f" % a) → 11.2222
print("{0:.4f}".format(a)) → 11.2222
print(f"{a:.4f}") → 11.2222
.nf → 소수점 이하 n자리 수 까지 출력
● 변수
● 변수 선언
a = 1
b = 2
a, b = 1, 2
a, b = 1, 'A'
a, b, c = 1, 2, 3
a, b, c = 1, 'A', 1.11
다른언어보다 비교적 간단하게 변수를 선언할 수 있다
● 변수 변경
a = 1
a = 2
print(a) → 2
변수에 다른 값을 다시 넣어 값을 변경해 줄 수 있다
● 변수 교체
a, b = 1, 2
temp = a
a = b
b = temp
print(a, b) → 2 1
다른 언어와 같이 temp임시 변수를 사용하여 변수를 교체할 수 있다
a, b = 1, 2
a, b = b, a
print(a, b) → 2 1
a, b ,c = 1, 2, 3
a, b, c = c, a, b
print(a, b, c) → 3 1 2
파이썬은 위와 같이 간단하게 변수를 교체할 수 있다
● 변수 복사
a, b, c = 1, 2, 3
a = b = c
print(a, b, c) → 3 3 3
먼저 c의 값이 b로 대입되고 b의값이 a로 대입되어 a,b,c 모두 3이 된다. 대입연산은 오른쪽부터 진행한다.
● 입력 - input()
● 1개 입력
a = input()
입력의 기본 자료형은 문자열이다.
a = input()
a = int(a)
→입력 후 형변환
a = int(input())
→입력과 동시에 형변환
따라서 다른 자료형으로 사용하고 싶을때는 위의 두가지 방식중 하나를 활용하여 형변환을 해줘야한다
● 여러 개 입력
- 한줄
python은 한줄 단위로 입력을 받을 수 있다.
공백을 기준으로 여러개를 입력할 수 있으며 split()함수를 사용하면된다.
split()는 문자열을 특정 기준으로 잘라주는 내장함수이다.
a = input() → 1 2 3 4 입력
print(a.split()) → ['1', '2', '3', '4']
a = input().split() 형식으로 한줄로 쓰는 것도 가능하다.
split()의 default는 띄워쓰기 기준이며, 띄워쓰기 기준으로 문자열을 잘라서
각각 잘려나간 것들이 list라는 자료형으로 반환된다
리스트는 다른 언어의 배열과 같고 a[0] 부터 a[크기 -1]의 인덱싱을 사용할 수 있다.
주의할 점은 input()의 기본형식인 문자열로 split()를 하는것이기 때문에
숫자로 사용하고 싶은 경우는 형변환이 필수적이다
a, b = map(int, input().split()) → 1 2 입력
print(a + b) → 3
형변환도 마찬가지로 위처럼 map()함수를 사용해서 한줄로 작성할 수 있다.
- 두줄
a = int(input()) → 1 입력
b = int(input()) → 2 입력
print (a + b) → 3
띄워쓰기를 기준으로 입력을 받길 원한다면 input()을 2번 사용하면 된다.
● 사칙연산 (+, -, *, **, /, //, %)
파이썬에서 사칙연산은 다양하게있다.
두수 a와 b에 대하여
a + b 더하기,
a - b 빼기,
a * b 곱하기,
a ** b a의 b제곱(a ^ b),
a / b a와 b를 나눈 값(정수 2개를 나눈다면 나눠진 실수 값),
a // b a와 b를 나눈 몫,
a % b a와 b를 나눈 나머지,
a, b = 9, 4
print(a + b, a * b, a - b, a // b, a % b, a / b, a**b) → 13 36 5 2 1 2.25 6561
/ 연산시 결과가 정수값이여도 결과는 항상 실수 값으로 나오게된다. 정수의 결과가 필요하다면 형변환을 해줘야한다.a = 2 / 2print(a) → 1.0사칙연산 계산시 자료형은 더 큰 범위를 따라간다. 정수와 실수를 더하기 연산하면 결과는 실수형태이다.
a = 1 + 2.0
print(a) → 3.0
사칙연산은 우선순위가 존재한다. 우선순위를 고려하여 코드를 작성해야 원하는 값을 얻을 수 있다.
● 사칙연산 후 대입
a = 1
a = a + 1
print(a) → 2
a = 1
a += 1
print(a) → 2
대입은 변수 = 대입할 값이다.
위처럼 += 연산자를 활용하여 더 간단하게 작성할 수 있다.
위에서 설명한 모든 연산자에 =을 붙여 사용할 수 있다.
● 비교 연산자 (>, >=, <, <=, ==, !=)
비교연산자는 식의 참, 거짓을 반환한다.
print(1 > 2) → False
print(1 < 2) → True
Python에서 참, 거짓을 나타내는 boolean타입의 예약어는 True와 False다