[python] 프로그래밍 핵심 개념 : 자료형
숫자형
숫자형 자료의 종류는 다음과 같다.
자료형 | 예시 | |
정수형 | int | 1, 4, -2 ... |
소수형 | float | 1.0, 4.2, -3.7 ... |
불 대수 | boolean | True(참) / False(거짓) |
숫자형 자료에서, 숫자 연산자는 다음과 같다.
연산자 | 연산 내용 | 예제코드 | -> 코드 반환값 |
+ | 두 수를 더한다. | 4 + 7.0 | 11.0 |
- | 두 수를 뺀다. | 2.0 - 4 | -2.0 |
* | 두 수를 곱한다. | 5.0 * 3 | 15.0 |
/ | 두 수를 나눈다. | 2 / 4 | 0.5 |
% | 나눈 나머지를 반환한다. | 7 % 3.0 | 1.0 |
// | 몫을 반환한다. | 8.0 // 3 | 2.0 |
** | 거듭 제곱을 반환한다. | 2.0 ** 3 | 8.0 |
정수형 끼리의 계산 결과 = 정수형 (단! 나눗셈 연산은 항상 소수형으로 나온다. 4/2 = 2.0 )
소수형 끼리의 계산 결과 = 소수형
정수형 & 소수형 끼리의 계산 결과 = 소수형
(*python에서의 연산은 수학에서의 일반적인 연산 순서를 따른다.)
*round( ) 함수 : 반올림하는 함수
- 입력파라미터가 한 개인 경우
round(숫자) : (숫자)를 반올림한 것을 반환한다.
- 입력파라미터가 두 개인 경우
round(숫자, 소숫점 자릿수) : (숫자)를 반올림하여 (소숫점 자릿수까지)만 나타낸다.
문자열 (string)
문자열은 작은 따옴표( ' ' ) 또는 큰 따옴표 ( " " )를 이용해 나타낸다.
<문자열에서의 연산>
- 덧셈연산자(+)
문자열을 연결해준다.
- 곱셈 연산자(*)
곱한 수 만큼 문자열을 반복한다.
* 그렇다면, 작은따옴표' '(또는 큰따옴표 " ")를 문자열로써 출력하고 싶다면 어떻게 해야할까?
위와같이 써주면, I뒤에 나오는 작은 따옴표(')가 문자열을 나타낼 때 쓰는 기호로 인식되어 'I'가 하나의 문자열 취급되어 버린다. 이때 그 뒤에 나오는 m excited ~부분 문자열을 따옴표가 감싸고 있지 않아 오류가 난다.
따라서 다음 2가지 방법을 이용해 이러한 문제점을 해결해줄 수 있다.
1. 문자열을 감싸는 따옴표를 다른 종류의 따옴표(제시된 코드에선 큰따옴표" ")로 바꿔준다.
2. 역슬래쉬 (\)를 따옴표 앞에 써준다.
자료형의 형(type)변환 _ Type Conversion
: 값을 한 자료형에서 다른 자료형으로 바꾸는 것
ex) 정수 7 -> 소수 7.0 / 문자열 "7" -> 정수 7
자료형의 형(type)을 바꿔주고자 한다면, 다음과 같은 형변환 함수를 이용해줄 수 있다.
- int(~) : ~입력 파라미터를 정수형으로 반환함.
- float(~) : ~입력 파라미터를 소수형으로 반환함.
- string(~) : ~입력 파라미터를 문자열로 반환함.
age = 7 # age라는 변수에 7이라는 "정수형"값이 지정된다.
print ("제나이는" + age + "살입니다.") ----> 문자열(stirng)과 정수형(intger)끼린 연산할 수 없어 error가 난다.
#따라서 str()함수를 이용해 아래와 같이 age의 형(type)을 문자열로 변환해주어야 한다.
print ("제나이는" + str(age) + "살입니다.")
format을 이용한 문자열 포맷팅
구조 : string 문자열{}.format({}안에 들어갈 내용을 순차적으로 써준다.)
[코드 예시]
* {}에 들어가는 순서를 조정해주고 싶다면, 문자열 {}안에 번호를 적어주면 된다.
[코드 예시]
* 이때, 소수값을 소숫점 n번째까지만 나타내고 싶다면 {: .nf}와 같이 써주면 된다.
[코드 예시]
그 외의 문자열 포맷팅 방법
> 포맷 스트링 : %s, %d
> f-stinf : f"{변수}문자열" *파이썬3.6부터 새롭게 나온 방식이다.
불대수
: True(참)/ False(거짓)
불 대수에서, 연산자는 다음과 같다.
연산자 | 연산내용 | 예제코드 | -> 코드 반환값 |
and | 모두 True일 때 True | True and False | False |
or | 둘 중 하나라도 True이면 True | True or False | True |
not | True/False결과를 반대로 바꿔줌 | not True | False |
<정리 표>

[예시 코드]

비교 연산자
: T/F 불린형을 반환한다.
연산자 | 연산내용 | 예제코드 | -> 코드 반환값 |
a > b | a가 b보다 크다. | 5 > 3 | True |
a >= b | a가 b보다 크거나 같다. | 5 >= 3 | True |
a < b | a가 b보다 작다. | 5 < 3 | False |
a <= b | a가 b보다 작거나 같다. | 5 <= 3 | False |
a == b | a와 b가 같다. | 5 == 3 | False |
a != b | a와 b가 다르다. | 5 != 3 | True |
type( )함수
: 입력 파라미터로 받은 자료형의 type을 반환한다.
[코드 예시]
* function type과 builtin_function_or_method type
hello()의 경우, 우리가 직접 정의해준 함수이며, type = function이다.
print()의 경우, 우리가 정의한 함수가 아닌 python에 기본적으로 내장된 함수이며
이러한 내장함수의 경우 type = builtin_function_or_method이다.