숫자형
- 정수형끼리의 연산은 정수형으로 결과값이 출력된다.
- 실수형끼리의 연산은 소수형으로 결과값이 출력된다.
- 정수형과 소수형이 섞여있는 경우 소수형으로 결과값이 출력된다.
- 단, 나눗셈의 경우 자료형과 상관없이 소수형으로 결과값이 출력된다.
print(4 + 7)
print(4 + 7.0)
print(2 - 4)
print(2 - 4.0)
print(5 * 3)
print(5.0 * 3.0)
print(7 % 3)
print(7.0 % 3.0)
print(2 ** 3)
print(2.0 ** 3.0)
print(7 / 2)
print(6 / 2)
print(7.0 / 2)
print(6.0 / 2.0)
print(2 + 3 * 2)
print(2 * (2 + 3))
숫자형 심화
- Floor division : 버림 나눗셈
- // 로 사용하며 나눗셈을 한 뒤 나머지를 버린 값을 출력한다.
- Round : 반올림
- round(value, num_digits) 으로 사용하며 num_digits에 소수 몇 번째 자리까지 출력할 것인지 정한다.
print(7 // 2)
print(8 // 3)
print(8.0 // 3)
print(8 // 3.0)
print(round(3.1415926535))
print(round(3.1415926535, 2))
print(round(3.1415926535, 3))
문자열 (String)
- '문자열' : 따옴표로 문자열을 만들 수 있다.
- 문자열 연산 (String Concatenation)
print('Hello' + 'World')
print('Hello' * 3)
print('7' + '6')
print("I'm excited to learn python!")
print('I\'m excited to learn python!')
형변환 (Type Casting(Conversion))
- 값을 다른 자료형으로 바꿔주는 것.소수형으로 바꾸기 : float()
- 문자열로 바꾸기 : str()
- 정수형으로 바꾸기 : int()
print(int(3.8))
print(float(3))
print(int("5")+int("2"))
print(float("5")+float("2"))
print(str(2)+str(5))
age = 7
print("제 나이는 " + str(age) + "살 입니다.")
print(int('Hello world!'))
format을 이용한 문자열 포맷팅
- 중괄호 { }을 이용하고 name.format() 통해 문자열을 포맷팅할 수 있다.
- { } 에 순서대로 format() 에 괄호 안에 있는 값들이 문자열로 들어가게 된다.
year = 2019
month = 10
date = 29
print("오늘은 " + str(year) + "년 " + str(month) + "월 " + str(date) + "일입니다.")
print("오늘은 {}년 {}월 {}일입니다.".format(year, month, date))
date_string = "오늘은 {}년 {}월 {}일입니다."
print(date_string.format(year, month, date))
print(date_string.format(year, month, date + 1))
format 다루기
- format() 을 사용할 때, 중괄호 { } 안에 숫자를 넣으면 (0,1,2,...) 그 순서대로 문자열이 배치되어 출력된다.
print("저는 {}, {}, {}를 좋아합니다!".format("박지성", "유재석", "빌 게이츠"))
print("저는 {0}, {1}, {2}를 좋아합니다!".format("박지성", "유재석", "빌 게이츠"))
print("저는 {1}, {0}, {2}를 좋아합니다!".format("박지성", "유재석", "빌 게이츠"))
- 중괄호 안에 :.2f 와 같은 명령을 뒤에 붙이게 되면, 소수점 반올림 하여 나타낸다.
num_1 = 1
num_2 = 3
print("{0}나누기 {1}은 {2}입니다.".format(num_1, num_2, num_1 / num_2))
print("{0}나누기 {1}은 {2:.2f}입니다.".format(num_1, num_2, num_1 / num_2))
print("{0}나누기 {1}은 {2:.0f}입니다.".format(num_1, num_2, num_1 / num_2))
- f-string 방식으로 더 직관적으로 포맷팅할 수 있다.
name = "최지웅"
age = 32
print(f"제 이름은 {name}이고 {age}살입니다.")
불 대수 (Boolean Algebra)
- 진리값 : True / False
- 연산OR : x 와 y중 하나라도 참일 때 x OR y 는 참
- NOT : x 가 거짓일 때 NOT x 는 참
- AND : x 와 y가 모두 참일 때만 x AND y 가 참
- 명제 : 참 또는 거짓이 명백한 문장
불린형 (Boolean)
print(True and True)
print(True and False)
print(False and True)
print(False and False)
print(True or True)
print(True or False)
print(False or True)
print(False or False)
print(not True)
print(not False)
print(2 > 1)
print(2 < 1)
print(3 >= 2)
print(3 >= 3)
print(2 == 2)
print(2 != 2)
print('hello'=='hello')
print('hello'!='hello')
print(2 > 1 and 'hello'=='hello')
print(not not True)
print(7 == 7 or (4 < 3 and 12 > 10))
type 함수
- type 함수를 통해 어떤 자료형인지 확인할 수 있다.
print(type(3))
print(type(3.0))
print(type(4 / 2))
print(type("3"))
print(type("True"))
print(type(True))
def hello():
print("Hello World!")
print(type(hello))
print(type(print))