파이썬 튜토리얼-변수와 데이터 타입

Jinku Hu 2023년1월30일
  1. 파이썬 변수
  2. 파이썬 데이터 타입
파이썬 튜토리얼-변수와 데이터 타입

이 섹션에서는 Python 프로그래밍의 변수 및 데이터 유형을 학습합니다.

파이썬 변수

변수는 이름과 값 (일부 데이터)이있는 메모리 위치입니다.

변수의 이름은 고유하므로 메모리 위치를 구별 할 수 있습니다. 식별자와 동일한 명명 규칙을 따릅니다. 식별자 이름 지정 규칙을 확인하십시오.

Python 에서는 해당 변수를 사용하기 전에 변수를 선언 할 필요가 없습니다 (데이터 유형 지정). 변수를 작성하려면 변수의 유효한 이름을 작성하고 대입 연산자를 사용하여 값을 지정하십시오. 변수의 데이터 유형은 할당 한 값의 유형에 따라 내부적으로 정의됩니다.

변수 할당

대입 연산자=는 변수에 값을 대입하는 데 사용됩니다. 모든 유형의 값을 변수에 할당 할 수 있습니다. 변수의 데이터 유형은 내부적으로 정의됩니다.

다음 코드는 할당 연산자를 사용하여 다른 데이터 유형의 값을 할당하는 방법을 보여줍니다.

x = 3
y = 4.124
z = "Python"

여기에는 int,floatstring 변수가 있습니다.

여러 과제

단일 Python 문에서 여러 변수에 값을 할당 할 수도 있습니다. 이것을 다중 할당이라고합니다. 아래 코드를 고려하십시오.

x, y, z = 2, 4.124, "Python"

여기서 2는 x 에, 4.124는 y 에, 문자열 “Python"은 z 에 할당됩니다.

다른 변수에 동일한 값을 지정하려면 다음을 작성할 수 있습니다.

x = y = z = "Blue"

이제 세 변수가 모두 같습니다.

경고
위와 같이 두 변수에 목록을 할당하는 것은 좋지 않습니다. 둘 다 모두 동일한 메모리 위치를 가리 키므로 하나의 변수로 값을 수정하면 다른 변수도 눈에 띄게 수정됩니다. 이것을 알지 못하면 이상한 행동을 겪을 수 있습니다.

파이썬 데이터 타입

변수에 값을 할당 할 때마다 변수의 데이터 유형도 지정됩니다. 파이썬은 객체 지향 프로그래밍이며, 파이썬에는 ‘기본적’이 없기 때문에 파이썬의 모든 것이 객체입니다 unboxed 타입.

파이썬에서 변수의 데이터 유형은 실제로 변수가 인스턴스 (객체) 인 클래스입니다.

다음은 Python 의 일부 데이터 유형입니다.

번호

정수, 부동 소수점 및 복소수와 같은 숫자는 Python 숫자입니다. 파이썬에서 정수는 int로, 부동 소수점은 float로, 복소수는 복잡한 클래스로 표현됩니다.

내장 된 type() 함수는 변수의 데이터 형식이나 변수가 속한 클래스를 확인하는 데 사용할 수 있습니다.

isinstance()함수는 객체가 특정 클래스의 인스턴스인지 또는 서브 클래스인지 확인하는 데 사용됩니다. 첫 번째 인수는 객체 자체이고 두 번째 인수는 비교할 데이터 유형입니다.

x = 3
print("type of", x, "is", type(x))
x = 3.23
print("type of", x, "is", type(x))
x = 3 + 3j
print("is", x, "a complex number:", isinstance(x, complex))
type of 3 is <class 'int'>
type of 3.23 is <class 'float'>
is (3+3j) a complex number: True

명부

목록은 (다른) 데이터 유형의 순서가 지정된 요소 시퀀스입니다. 파이썬에서 대괄호[]를 사용하여리스트를 만들 수 있으며 대괄호 안에 쉼표로 구분 된리스트 아이템이 있습니다.

x = [2, 4.5, "blue"]

리스트의 멤버에 접근하기 위해 파이썬에서 슬라이싱 연산자[]로 알려진 인덱스 액세스 연산자를 사용할 수 있습니다. list 요소의 인덱싱은 0부터 시작합니다. 아래 예를 고려하십시오.

x = [2, 4, 6, 8, 10]
print("x[0] =", x[0])  # displays the first element
print(
    "x[0:2] =", x[0:2]
)  # displays first two elements of list that is at location 0 and 1
print("x[2:] =", x[2:])  # displays elements from location 2 (third element)
x[0] = 2
x[0:2] = [2, 4]
x[2:] = [6, 8, 10]

Python 목록의 항목을 변경 (업데이트, 삭제, 추가) 할 수 있습니다. 다시 말해, 파이썬리스트는 변경 가능합니다.

노트
리스트는 변경 가능합니다.

튜플

Tuple 은 목록과 동일한 항목 목록입니다. 튜플과 목록의 유일한 차이점은 튜플 요소를 변경할 수 없다는 것입니다.

괄호를 사용하여 Python 튜플을 정의 할 수 있으며 요소는 쉼표로 구분됩니다.

x = (3, "pink", 3 + 8j)
print("x[0] =", x[0])
print("x[0:2] =", x[0:2])
x[0] = 4  # Error because tuples are immutable
x[0] = 3
x[0:2] = (3, 'pink')
TypeError: 'tuple' object does not support item assignment
노트
튜플은 불변입니다.

문자열은 일련의 문자입니다. 작은 따옴표 나 큰 따옴표를 사용하여 문자열을 만들 수 있습니다. 큰 따옴표를 사용하여 여러 줄 문자열을 만들 수도 있습니다.

x = "String of characters"
x = """Multiline
string"""

문자열 슬라이싱 연산자의 문자에 액세스하는 데 사용됩니다.

x = "Python Programming"
print("x[0] =", x[0])
print("x[4:15] =", x[4:15])
x[4] = "l"  # Error because strings are immutable
x[0] = P
x[4:15] = on Programm
TypeError: 'str' object does not support item assignment
노트
문자열도 변경할 수 없습니다.

세트

세트에는 고유 한 항목이 포함되며 순서가없는 요소 목록입니다. 중괄호{}를 사용하여 Python 의 집합을 만들 수 있으며 항목은 쉼표로 구분됩니다.

x = {3, 5, 7, 2, 4, 5}
print(x)  # prints the set variable
print(type(x))  # checking type of x
{2, 3, 4, 5, 7}
<class 'set'>
노트
세트는 변경 가능합니다.

사전

Dictionary 는 요소가 키-값 쌍인 Python 기본 데이터 유형입니다. 사전에는 정렬되지 않은 요소가 포함되어 있습니다. 키를 알고 있으면 데이터의 일부 또는 사전 값을 검색 할 수 있습니다.

키와 값을 포함하는 쌍이 될 각 요소와 함께 중괄호{}를 사용하여 사전을 작성할 수 있습니다.

파이썬 사전의 키와 값은 모든 유형이 될 수 있습니다.

아래 예를 고려하십시오.

x = {1: "blue", "key": "pink"}
print(type(x))
print("x[1] = ", x[1])  # using key to retrive value
print("x['key'] =", x["key"])  # using key to retrive value
<class 'dict'>
x[1] =  blue
x['key'] = pink
노트
사전은 변경 가능합니다.

타입 변환

파이썬 변수는 다른 유형으로 변환 될 수 있습니다. 예를 들어, int데이터 유형을 float데이터 유형으로 변환 할 수 있습니다. 타입 변환에는 int(),float(),str()등과 같은 변환 함수를 사용할 수 있습니다.

x = 8
print("Value of x = ", int(x))
print("Value of x = ", float(x))
Value of x =  8
Value of x =  8.0

float값을 int값으로 변환하려면 소수 부분이 잘립니다.

y = 3.4
print("Converting float to int:", int(y))
Converting float to int: 3

string 데이터 유형을 다른 유형으로 변환하려면 호환 가능한 값을 제공해야합니다. 그렇지 않으면 ValueError 가 표시됩니다.

print("Converting string to float:", float("33.9"))
print("Converting string to float:", float("text"))
Converting string to float: 33.9
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    float('a')
ValueError: could not convert string to float: text

예를 들어 set(),set(),tuple( )

print(set([4, 5, 6]))
print(tuple({8, 9, 10}))
print(list("Python"))
{4, 5, 6}
(8, 9, 10)
["P", "y", "t", "h", "o", "n"]
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook