파이썬 변수 개념, 자료형 타입

지금까지 설치 작업을 해왔으므로 이제 Python 기본 사항에 대해 진지하게 살펴보겠습니다.

먼저 파이썬에서 사용하는 변수의 개념을 살펴보고 각 변수의 데이터 타입을 알아보자.

파이썬 변수의 개념

이것이 우리에게 가장 친숙한 변수입니다.

y=x+2

여기서 y의 결과는 x 값에 따라 달라집니다.

이것이 변수가 변경될 수 있는 숫자, 다른 값을 가질 수 있는 객체라는 것을 아는 방법입니다.

파이썬에서 변수의 개념은 약간 다릅니다.

파이썬에서 변수는 다음과 같은 유형입니다.

메모리 주소당신이 의미하는 개념입니다

a=1

타자를 쳤다고 하면 직관적으로 미래에 a의 값을 1로 지정하는 명령어처럼 보인다.

즉, 곧 1이 될 것이라는 의미입니다.

하지만 정확히 말하면 이 변수 a의 메모리 주소에 1을 넣습니다.

그 뜻은. 컴퓨터에서 a라는 변수가 선언되는 순간 우리는 특정 메모리 주소나 집 주소를 할당받았고 그 주소가 어디에 있는지 모르지만 이름을 a라고 부르며 통신합니다.

거리 주소와 같습니다.

강남대로라고 하면 강남대로가 몇 위, 몇 동에 있는지 정확히는 모르지만 어쨌든 강남대로라는 주소를 알아내서 기억하고 싶었던 주소와 맞췄다.

.

요약하자면, 파이썬에서 변수는 특정 값을 저장하는 장소를 의미하며 변수가 선언되는 순간 메모리의 특정 영역이 할당됩니다.

a = 1의 의미는 “a is 1″이 아니라 a라는 메모리에 1을 쓰는 것을 의미합니다.


Python 변수의 예

이 예는 변수의 개념을 더 잘 이해하는 데 도움이 됩니다.

우리는 처음에 값 1을 넣습니다.

그리고 a는 a+1의 값에 다시 삽입됩니다.

여기서 왼쪽의 a는 변수이고 오른쪽의 a는 기존 a의 값입니다.

따라서 변수 a에 할당된 값은 1에서 2로 새롭게 변경됩니다.

~에 할당하다

이런 식으로 인쇄하면 ① 값 2나온다

a = a + 1은 a + = 1로 쓸 수 있다.

다시 출력하면, ② 값은 3로 변경된 것을 볼 수 있습니다.

변수는 문자, 숫자, 밑줄(_)을 조합하여 생성할 수 있으며 공백은 허용되지 않습니다.

알파벳은 대소문자를 구분하며 코딩 후 긴 텍스트의 내용을 이해하려면 엄격하게 짧은 변수 이름보다 의미 있는 변수 이름을 사용하십시오. for, if와 같이 특별한 의미를 가진 예약어는 변수 이름으로 사용할 수 없습니다.

(변수 이름 지정 예)

오래된

수익_1년

Degree_float_type

파이썬 데이터 유형

이름이 지정된 변수의 유형 속성은 변수가 갖는 값의 종류에 따라 다릅니다.

변수가 문자형인지 숫자형인지, 특히 정수형인지 실수형인지 구분됩니다.

가장 기본적인 데이터 유형은 다음과 같습니다.

데이터 형식 유형 유형 설명
정수 정수 양수 및 음수 -2, 25, 100 a=3
실수 호버링 소수점이 있는 실수 25.841, -3.7 a=5.0
문자 유형 따옴표로 묶은 문자열 abcd, abc123 a=”abcd”
논리적인 남자 부울 옳고 그름 허위 사실 a=참

먼저 문자 타입은 위 표의 선언 예시와 같이 따옴표로 묶어서 문자임을 나타내는데, 작은따옴표 ‘~~’와 큰따옴표 ‘~~’ 두 개를 사용할 수 있으며, 각각 사용할 수 있다.

세 번 반복됩니다.

문자 유형을 선언하는 방법의 예를 살펴보겠습니다.

## 코드입력
a="hello"
b='''hello'''
c="hello"
d="""hello"""
e="hello, it's me."
f="hello, my "world" "
print(a,b,c,d)
print(e,f)

## 실행결과
hello hello hello hello
hello, it's me. hello, my "world" 

작은따옴표와 큰따옴표로 문자열을 선언할 수 있으며 작은따옴표 안에 큰따옴표가 있고 큰따옴표 안에 작은따옴표가 있는 문자열을 만들 수 있습니다.

위의 변수 선언을 아래의 출력과 비교하면 문자 변수에 값이 어떻게 할당되는지 알 수 있습니다.

숫자형은 정수만 포함하는 int와 소수점 이하의 정보를 포함하는 float로 구분됩니다.

변수 선언 시 소수점을 포함하면 Float 타입의 실수 변수가 되고, 정수 부분만 입력하면 Int 타입의 정수 변수가 됩니다.

이와 같이 입력과 동시에 변수의 타입이 결정되는 것을 동적 타이핑(dynamic typing)이라고 합니다.

## 코드입력
int_a=2
float_a=2.0
str_a="2.0"

print(int_a)
print(float_a)
print(str_a)

## 실행결과
2
2.0
2.0

위의 예에서 보듯이 숫자를 따옴표로 묶어 문자와 같은 값을 만들 수 있습니다.

str_a의 2.0은 숫자가 아니라 2.0의 텍스트 문자열입니다.

마지막으로 논리형은 변수가 참인지 거짓인지를 결정하는 1 또는 0의 값만 가질 수 있도록 합니다.

변수 유형의 유효성 검사 및 변환

변수를 생성하고 해당 변수가 어떤 유형인지 확인하고 싶을 때가 있습니다.

이 경우 type 명령을 사용하여 변수의 유형을 확인할 수 있습니다.


Python 변수 유형 확인

type(a)가 실행되면 a의 타입인 int가 반환된다.


Python 변수 유형의 변환

유형 그 사이에 변경하고 싶다면 변수에 이와 같이 다른 데이터형 이름을 지정하면 모양이 변경됩니다.

a는 원래 1만 넣으면 int형인데 float(a)라고 부르면 float(a) = 1,0인 진짜 데이터가 된다.

이 시점에서 a 자체는 수정되지 않고 a와 함께 float 형식으로 출력됩니다.

이를 통해 int, float, str 및 bool 함수를 사용하여 변수를 각각의 데이터 유형으로 변환할 수 있습니다.

a=1
b=2.0
a+b

3.0

Integer 유형의 변수와 Real 유형의 변수를 사용하면 결과는 실수 유형입니다.


다른 유형으로 작동 중 오류 메시지

그런데 이렇게 수치형과 문자형을 계산하면 타입 오류가 발생한다.

이 경우 모든 작업을 숫자로 수행하거나 텍스트만 수행하고 계산해야 합니다.

Python 변수의 다양한 데이터 유형 변환에 대한 테스트 결과입니다.

## 정수형, 실수형, 문자형, 부울형을 정수형으로 변환

## 각 자료형을 int 정수형으로 변환

#1 int(int) : int→int
print("#1 int(5)=",int(5))

#2 int(float) : float→int
print("#2 int(5.0)=",int(5.0))

#3 int(str) : str→int
print("#3 int('5')=",int('5'))

#4 int(bool) : bool→int
print("#4 int(True)=",int(True))


## 실행 결과
#1 int(5)= 5
#2 int(5.0)= 5
#3 int('5')= 5
#4 int(True)= 1

## 정수형, 실수형, 문자형, 부울형을 실수형으로 변환

## 각 자료형을 float 실수형으로 변환

#5 float(int) : int→float
print("#5 float(5)=",float(5))

#6 float(float) : float→float
print("#6 float(5.0)=",float(5.0))

#7 float(str) : str→float
print("#7 float('5')=",float('5'))

#8 float(bool) : bool→float
print("#8 float(True)=",float(True))


## 실행 결과
#5 float(5)= 5.0
#6 float(5.0)= 5.0
#7 float('5')= 5.0
#8 float(True)= 1.0

## 정수, 실수, 문자, 부울을 문자로 변환

## 각 자료형을 str 문자형으로 변환

#9 str(int) : int→str
print("#9 str(5)=",str(5))

#10 str(float) : float→str
print("#10 str(5.0)=",str(5.0))

#11 str(str) : str→str
print("#11 str('5')=",str('5'))

#12 str(bool) : bool→str
print("#12 str(True)=",str(True))


## 실행 결과
#9 str(5)= 5
#10 str(5.0)= 5.0
#11 str('5')= 5
#12 str(True)= True

## 정수형, 실수형, 문자형, boolean을 boolean으로 변환

## 각 자료형을 bool 불리언으로 변환

#13 bool(int) : int→bool
print("#13 bool(5)=",bool(5))

#14 bool(float) : float→bool
print("#14 bool(5.0)=",bool(5.0))

#15 bool(str) : str→bool
print("#15 bool('5')=",bool('5'))

#16 bool(bool) : bool→bool
print("#16 bool(True)=",bool(True))


## 실행 결과
#13 bool(5)= True
#14 bool(5.0)= True
#15 bool('5')= True
#16 bool(True)= True

예제 5개만 포함해서 모두 변환했지만 문자를 숫자형으로 변경하려고 하면 간혹 오류가 발생하는 경우가 있습니다.

위의 테스트에서 boolean type으로 전환하면 0이 아니면 모두 true로 표시되는 것도 볼 수 있습니다.

반면에 부울 True는 숫자 형식으로 1로 변환됩니다.