[python study note] 자료형
Data Types
![[python study note] 자료형](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1709195620136%2F0a2fdc54-0595-4868-a185-89b66b3a79e9.png&w=3840&q=75)
1. 숫자형 (Number)
#덧셈
print(5 + 2) #7
#뺄셈
print(6 - 5) #1
#곱셈
print(5 * 3) #15
#나머지
print(8 % 3) #2
#거듭제곱
print(2 ** 3) #2^3 = 8
#나눗셈 : 항상 소수형으로 나온다
print(7 / 2) #3.5
print(6 / 2) #3.0
print(7.0 / 2) #3.5
print(6.0 / 2.0) #3.0
소수형과 소수형의 연산은 결과값이 모두 소수형으로 나온다
print(5.0 + 2.0) #7.0
print(6.0 - 5.0) #1.0
print(5.0 * 3.0) #15.0
print(8.0 % 3.0) #2.0
print(2.0 ** 3.0) #8.0
한쪽만 소수형이고 다른 한쪽이 정수형이면 소수형으로 나온다.
파이썬에서는 소수형이 정수형보다 힘이 세다.
print(5 + 2.0) #7.0
print(6 - 5.0) #1.0
print(5 * 3.0) #15.0
print(8 % 3.0) #2.0
print(2 ** 3.0) #8.0
floor division (버림 나눗셈)
나눈 결과값에서 소수 부분을 버림
print(7 // 2) #3.5가 나와야 하지만 0.5 부분이 버려져서 3이 나옴
print(8 // 3) #2
print(8.0 // 3) #2.0
round (반올림)
print(round(3.1415926535)) #3
소수점 둘째 자리로 반올림 하려면 두번째 파라미터에 2를 넘겨주면 된다.
print(round(3.1415926535, 2)) #3.14
2. 문자열 (String)
키보드로 쓸 수 있는 문자들을 표현하는 자료형
문자열 연결 (String Concatenation)
문자열 덧셈은 문자열을 연결하라는 뜻이다.
'Hello' + 'World' -> 'HelloWorld
'Hello' * 3 -> 'Hello' + 'Hello' + 'Hello' -> 'HelloHelloHello'
'를 사용하고 싶다면 문장을 " " 로 시작하거나 '를 사용한다.
print("i'm korean")
print('i\'m korean')
print('3' + '5') #35
3. 형변환 (Type Conversion)
값을 한 자료형에서 다른 자료형으로 바꾸는 것
정수 -> 소수 or 문자열-> 정수
#정수로 변환
print(int(3.8)) #3
#소수로 변환
print(float(3)) #3.0
#문자열에서 숫자형으로 변환
print(int('2') + int('5')) #7
print(float('2.2') + float('4.8')) #7.0
#숫자형에서 문자열로 변환
print(str(2) + str(7)) #27
age = 21
오류가 나옴 -> 문자열과 정수형을 연결시킬 수 없다.
print('제 나이는 ' + age + '살입니다.')
str로 감싸주면 된다. 그럼 정수 7이였던 것이 문자열 7로 바뀌게 된다.
print('제 나이는 ' + str(age) + '살입니다.')
4. format
#오늘은 2023년 11월 26일 입니다.
year = 2023
month = 11
day = 26
print('오늘은 ' + str(year) + '년 ' + str(month) + '월 ' + str(day) + '일 입니다.')
이렇게 사용하면 너무 길어지고 번거롭다.
1. 쓰고싶은 문자열의 형태를 잡아준다.
print('오늘은 2023년 11월 26일 입니다.')
2. 값을 넣어줄 공간을 중괄호로 대체한다.
3. 문자열뒤에 .format을 쓰고 파라미터로 중괄호에 들어갈 값들을 순서대로 넣어준다.
print('오늘은 {}년 {}월 {}일 입니다.'.format(year, month, day))
다른 방법으로는 문자열을 변수에 넣고 그 변수에 format 메서드를 사용하면 된다.
date_string = '오늘은 {}년 {}월 {}일 입니다.'
print(date_string.format(year, month, day))
출력되는 순서를 바꾸고 싶을땐 {}안에 숫자를 적어서 바꿔주면 된다.
print('저는 {1}, {0}, {2}를 좋아합니다.'.format('사과', '귤', '포도'))
소수점 둘째 자리까지 출력하고 싶다면 해당 자리에 :.2f를 작성해 주면 된다.
num1 = 1
num2 = 3
print('{0} 나누기 {1}은 {2}이다.'.format(num1, num2, num1 / num2))
print('{0} 나누기 {1}은 {2:.2f}이다.'.format(num1, num2, num1 / num2))
문자열을 포맷팅하는 다양한 방식
%를 사용하는 포맷 스트링
name = '가나다라' age = 21 print('이름은 %s이고 %d살 입니다.'%(name, age))format 메서드
name = '가나다라' age = 21 print('이름은 {}이고 {}살 입니다.'.format(name, age))f-string
name = '가나다라' age = 21 print(f'이름은 {name}이고 {age}살 입니다.')
5. 불 대수
일상적인 논리를 수학적으로 표현한것
불 대수의 값 -> 진리값 (어떤 명제가 참인지 거짓인지 나타내는 것)
불 대수의 연산에는 AND, OR, NOT이 있다.
명제 : 참과 거짓이 확실한 문장
and 연산 x와 y가 모두 참일때만 참 (x와 y가 모두 거짓일땐 거짓)
or 연산 x와 y중 하나라도 참이면 참 (x와 y가 모두 거짓일땐 거짓)
not 연산 반대로 뒤집어주는
역할 참이면 거짓으로 만들어주고, 거짓이면 참으로 만들어줌
6. 불린형(Boolean)
#and 연산자
print(True and True) #True
print(True and False) #False
print(False and True) #False
print(False and False) #False
#or 연산자
print(True or True) #True
print(True or False) #True
print(False or True) #True
print(False or False) #False
#not 연산자
print(not True) #False
print(not False) #True
ex)
print(2 > 1) #True
print(2 < 1) #False
print(3 >= 2) #True
print(3 <= 3) #True
print(2 == 2) #True
print(2 != 2) #False
print('hello' == 'hello') #True
print('hello' != 'hello') #False
print(2 > 1 and 'hello' == 'hello') #True
print(not not True) #True
print(not not False) #False
print(7 == 7 or (4 < 3 and 12 > 10)) #True
x = 3
print(x > 4 or not (x < 2 or x == 3)) #False
7. type 함수
쓰고있는 값이 어떤 자료형인지 확인할 때 사용
print(type(3)) #<class 'int'>
print(type(3.0)) #<class 'float'>
print(type('3')) #<class 'str'>
print(type('True')) #<class 'str'>
print(type(True)) #<class 'bool'>
def hello():
print('hello world')
print(type(hello)) #<class 'function'>
print(type(print)) #<class 'builtin_function_or_method'> / builtin 내장되어 있는 함수




