파이썬을 공부할 때 가장 먼저 변수(Variable)와 데이터 타입(Data Type)을 이해해야 합니다. 가장 기초가 되는 부분이고 데이터 타입을 잘 이해해야 나아가 함수도 사용하고 데이터 분석도 잘할 수 있기 때문입니다. 각각의 개념과 코드 예시를 통해 사용법에 대해 구체적으로 알아보겠습니다.
파이썬 변수(Variable)란?
1. 변수(Variable)의 정의
파이썬에서 변수(variable)는 데이터를 저장하는 데 사용되는 메모리입니다. 값을 담는 컨테이너라고 생각하시면 됩니다.
2. 변수(Variable) 명명 규칙
파이썬에서 변수의 이름을 지정할 때 따라야 하는 규칙이 있습니다. 변수 이름은 문자 또는 밑줄(_)로 시작해야 합니다. 변수 이름은 숫자로 시작할 수 없습니다. 변수 이름에는 영어, 숫자와 밑줄(_)만 포함할 수 있습니다. 변수 이름은 대소문자를 구분합니다.
3. 변수(Variable)에 값 할당(Assign)하기
파이썬에서 변수에 값을 할당하려면 할당 연산자(=)를 사용합니다. 변수에 값을 할당하는 구문은 다음과 같습니다. "variable_name = 값"
예를 들어 'x'라는 변수에 값 10을 할당하려면 다음과 같이 작성합니다.
"x = 10"
4. 변수 범위
파이썬에는 전역(Global) 범위와 지역(Local) 범위의 두 가지 유형의 변수 범위가 있습니다.
- 전역(Global) 범위: 함수나 클래스 외부에 정의된 변수는 전역(Global) 범위를 갖습니다. 프로그램 내 어디에서나 액세스할 수 있습니다.
- 로컬(Local) 범위: 함수나 클래스 내부에 정의된 변수는 로컬 범위를 갖습니다. 변수가 정의된 함수 또는 클래스 내에서만 액세스할 수 있습니다. 파이썬에서 함수 및 클래스로 작업할 때는 변수 범위를 인식하는 것이 중요합니다.
파이썬의 기본 데이터 타입(Data Type)
설명과 아래 있는 코드를 같이 보시면 이해하는데 도움이 되실 겁니다.
1. 숫자 데이터 타입
int, float, complex 파이썬은 다음과 같은 여러 유형의 숫자 데이터형을 지원합니다.
- 정수(int): 소수점이 없는 정수.
- 부동 소수점(float): 소수점 또는 지수 표기법이 있는 숫자.
- 복소수(complex): 실수와 허수 성분이 포함된 숫자.
2. 시퀀스 데이터 유형
str, 리스트, 튜플 파이썬은 다음과 같은 여러 유형의 시퀀스 데이터 타입도 지원합니다.
- 문자열(str): 작은따옴표('...') 또는 큰따옴표("...")로 묶인 문자 시퀀스입니다.
- 리스트(list): 대괄호([])로 묶인 변경 가능한 값의 시퀀스입니다.
- 튜플(tuple): 괄호(()로 묶인 변경 불가능한 값의 시퀀스입니다.)
리스트와 튜플 모두 다른 리스트나 튜플을 포함한 모든 유형의 데이터를 포함할 수 있습니다.
3. 부울(Boolean) 데이터 타입
파이썬의 부울(Boolean) 데이터 유형은 두 가지 값을 나타냅니다. 참(TRUE)과 거짓(FALSE) 입니다. 부울(Boolean) 값은 프로그램의 흐름을 제어하기 위해 if 문이나 while 루프와 같은 제어 문에서 자주 사용됩니다. 파이썬은 값이 없음을 나타내는 None 데이터 유형도 지원합니다. None은 변수를 초기화하거나 값이 없음을 나타내는 데 자주 사용됩니다.
# Numeric data types
x = 10 # int
y = 3.14 # float
z = 2 + 3j # complex
# Sequence data types
s = "hello" # str
lst = [1, "two", 3.0] # list
tup = (4, 5, "six") # tuple
# Boolean data type
a = True
b = False
# None data type
c = None
데이터 타입 변환(Data Type Conversion)
파이썬에서는 타입 변환 함수를 사용하여 한 데이터 타입을 다른 타입으로 변환할 수 있습니다. 타입 변환에는 Implicit Type Conversion과 Explicit Type Conversion의 두 가지 유형이 있습니다.
1. Implicit Type Conversion
z = 1 # int
x = 10 # int
y = 3.14 # float
# The result is a float because the division operator always returns a float
z = x / y
print(z, type(z)) # float
type coercion라고도 하는 Implicit Type Conversion은 개발자의 개입 없이 인터프리터가 한 데이터 유형을 다른 데이터 유형으로 자동으로 변환하는 것입니다. 이는 일반적으로 정수와 float사이의 연산처럼 서로 다른 데이터 유형 간에 연산을 수행할 때 발생합니다. 위 코드에서 z의 경우 처음에는 정수로 선언이 되었지만 float 값을 가지는 결과값을 할당함으로써 파이썬은 자동으로 z의 데이터타입을 float로 변환합니다.
2. Explicit Type Conversion
x = "10" # str
y = 3.14 # float
# Explicitly convert the string to an integer using the int() function
z = int(x)
print(z, type(z))
# Explicitly convert the float to a string using the str() function
s = str(y)
print(s, type(s))
type casting이라고도 하는 Explicit type conversion은 함수를 사용하여 한 데이터 타입을 다른 데이터 유형으로 변환할 때 사용됩니다. 파이썬에서는 int(), float(), str(), list(), tuple()과 같은 함수를 사용하여 한 데이터 타입을 다른 데이터 타입으로 변환할 수 있습니다. 위의 코드 블록에서 int() 함수는 문자열을 정수로 변환하는 데 사용되었고, str() 함수는 float를 string으로 변환하는 데 사용되었습니다.
파이썬의 Advanced 데이터 타입(Data Type)
앞서 소개한 기본 데이터 타입 외에 데이터를 조작하는 데 유용한 두 가지 Advanced 데이터 타입을 소개합니다.
1. Set
Set은 안에 들은 element들이 중복을 허용하지 않는 고유한 정렬되지 않은 컬렉션입니다. 파이썬에서는 {}로 목록을 묶거나 set() 함수를 사용하여 Set을 만들 수 있습니다. Set을 생성한 후에는 element 추가 및 제거, union, intersection과 같은 Set 연산을 수행하는 등 Set에서 다양한 연산을 수행할 수 있습니다. Set은 List에 들어있는 것들의 중복제거를 할 때 유용하게 사용됩니다. List를 set으로 변환하면 자동으로 중복 element들이 제거가 되기 때문입니다.
# Create a set using curly braces
s1 = {1, 2, 3, 4, 5}
print(s1, type(s1))
# Create a set using the set() function
s2 = set([3, 4, 5, 6, 7])
print(s2, type(s2))
# Add an element to a set
s1.add(6)
print(s1)
# Remove an element from a set
s2.remove(3)
print(s2)
# Check if an element is in a set
print(2 in s1)
# Perform set operations
print(s1.union(s2))
print(s1.intersection(s2))
print(s1.difference(s2))
위의 코드는 서로 다른 메소드를 사용하여 두 개의 Set을 만들고, element를 추가 및 제거하고, 특정 element가 set에 있는지 확인하고, union, intersection, difference 연산을 수행해 보는 예시입니다.
2. Dictionary(딕셔너리)
Dictionary(딕셔너리)는 각 Key와 Value가 매핑되는 정렬되지 않은 컬렉션입니다. Dictionary(딕셔너리)는 {}로 묶고 콜론으로 구분하여 만들 수 있습니다. Dictionary(딕셔너리)이 생성되면 Key를 사용하여 Dictionary(딕셔너리)의 Value에 액세스하고 조작할 수 있습니다.
# Create a dictionary
d = {"name": "Alice", "age": 30, "city": "New York"}
print(d, type(d))
# Access values by key
print(d["name"])
print(d["age"])
print(d["city"])
# Update values by key
d["age"] = 35
d["city"] = "San Francisco"
print(d)
# Add a new key-value pair
d["country"] = "USA"
print(d)
# Remove a key-value pair
del d["age"]
print(d)
# Check if a key is in a dictionary
print("name" in d)
print("age" in d)
# Get a list of keys or values in a dictionary
print(list(d.keys()))
print(list(d.values()))
위의 코드는 딕셔너리를 만들고 Key값을 이용하여 각 Key에 해당하는 Value를 넣어주고, Key-Value 쌍을 추가하거나 제거해 보는 예시입니다. 딕셔너리는 keys()를 통해 키값들만 출력할 수 있고 values()를 통해 값들만 출력해 볼 수도 있습니다. 딕셔너리(Dictionary)는 파이썬만 가지는 독특한 데이터 타입으로, 실제 프로그래밍에서 활발하게 사용되는 데이터 타입입니다. 한가지 쓸 수 있는 경우로는, 장문의 글이 있을 때 해당 글에서 각 단어별로 몇 번씩 등장했는지 카운트할 때 이 딕셔너리 데이터타입을 활용할 수 있습니다. 키 값이 고유한 단어가 되고 각 단어마다 등장하는 개수를 value(값)로 가지도록 프로그래밍하면 됩니다.
오늘은 파이썬 변수의 개념과 기본적인 데이터 타입 종류에 대해 알아보았습니다. 각 데이터타입이 어떤 걸 뜻하고 어떻게 사용되는지 코드와 함께 살펴보았습니다. 파이썬을 공부할 때 가장 먼저 익혀야 할 것이 바로 파이썬 변수와 데이터타입을 이해하는 것입니다. 이후에 공부해야 할 함수나 클래스 등을 이해하기 위해서도 변수와 데이터타입은 꼭 잘 이해하고 넘어가야 하는 부분입니다. 코드 예시를 보면서 익숙해지도록 연습하는 게 중요합니다. 다음번에는 데이터타입과 관련된 메소드와 클래스에 대해서 소개드려보도록 하겠습니다.
<참고하면 좋을 포스팅>
'파이썬 독학' 카테고리의 다른 글
[파이썬 독학] 데이터 타입 튜플(Tuple)의 모든 것 (0) | 2023.02.28 |
---|---|
[파이썬 독학] 데이터 타입 리스트(List)의 모든 것 (1) | 2023.02.28 |
파이썬 Seaborn 마스터 하기 (0) | 2023.02.20 |
파이썬 넘파이 Numpy 사용법 가이드 (0) | 2023.02.20 |
파이썬 Matplotlib 사용법 가이드 (0) | 2023.02.19 |
댓글