카테고리 없음

[python] 프로그래밍 핵심 개념 : 자료형

ballbig 2021. 7. 20. 02:08
728x90

숫자형

숫자형 자료의 종류는 다음과 같다.

자료형  예시
정수형 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이다.