English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 Python에서 사용할 수 있는 다양한 데이터 타입을 배울 것입니다.
Python의 각 값은 데이터 타입이 있습니다. Python 프로그래밍에서 모든 것이 객체라는 점을 고려할 때, 데이터 타입은 실제로는 클래스이며, 변수는 이러한 클래스의 예제(객체)입니다.
Python에는 여러 가지 데이터 타입이 있습니다. 아래에 중요한 몇 가지 타입을 나열했습니다.
정수, 실수 및 복소수는 모두 Python의 숫자 범주에 속합니다. Python에서는 int, float 및 complex 클래스로 정의됩니다.
我们可以使用type()函数来判断一个变量或值属于哪个类。同样地,isinstance() 函数用于检查对象是否属于特定的类。
a = 5 print(a, "的类型是 ", type(a)) a = 2.0 print(a, "的类型是 ", type(a)) a = 1+2j print(a, "是复数吗?", isinstance(1+2j,complex))
출력량
5 的类型是 <class 'int'> 2.0 的类型是 <class 'float'> (1+2j) 是复数吗? True
整数可以是任意长度,但受可用内存的限制。
浮点数最多可精确到 15 个小数位。整数 和 浮点由小数点分隔。1 是整数,1.0 是浮点数。
复数以 x + yj 形式书写,其中x是实部,y是虚部。这里有些示例。
>>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j)
注意,float变量b被截断了。
列表是项目的有序序列。它是Python中最常用的数据类型之一,非常灵活。列表中的项目允许不是同一类型。
声明列表非常简单。用逗号分隔的项目放在方括号内[ ]。
a = [1, 2.2, 'python']
我们可以使用切片运算符 [ ] 从列表中提取一个项目 或 一系列项目。注意,在Python中,索引从 0 开始。
a = [5,10,15,20,25,30,35,40] # a[2] = 15 print("a[2] = "", a[2}) # a[0:3] = [5, 10, 15] print("a[0:3] = "", a[0:3}) # a[5:] = [30, 35, 40] print("a[5:] = "", a[5:])
출력량
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
列表是可变的,也就是说,列表元素的值可以更改。
a = [1, 2, 3] a[2] = 4 print(a)
출력량
[1, 2, 4]
元组(Tuple)是项目的有序序列,与列表(List)相同。唯一的区别是元组是不可变的。元组一旦创建就不能修改。
元组用于写保护数据,通常比列表快,因为它们不能动态更改。
它在括号内 () 定义,其中各项之间用逗号分隔。
t = (5, 'program', 1+3j)
我们可以使用切片运算符 [] 提取项目,但不能更改其值。
t = (5, 'program', 1+3j) # t[1)] = 'program' print("t[1)] = "", t[1}) # t[0:3)] = (5, 'program', (1+3j)) print("t[0:3] = ", t[0:3}) # 오류 발생 # 튜플은 불변합니다 t[0] = 10
출력량
t[1] = { t[0:3] = {5, 'program', (1+3j)) Traceback (most recent call last): File "test.py", line 11, in <module> t[0] = 10 TypeError: 'tuple' 객체는 항목 할당을 지원하지 않습니다.
문자열Unicode 문자의 시퀀스입니다. 단락 문자열을 표현하기 위해 단일 괄호 ' ' 또는 " "를 사용할 수 있습니다. 다중 줄 문자열을 표현하기 위해 ''' 또는 """를 사용할 수 있습니다.
s = "This is a string" print(s) s = '''A 다중 줄 string''' print(s)
출력량
이는 문자열입니다 다중 줄 문자열 string
리스트와 튜플과 마찬가지로 슬라이싱 연산자 [ ]는 문자열과 함께 사용할 수 있습니다. 그러나 문자열은 불변합니다.
s = 'Hello world!' # s[4] = 'o' print("s[4] = ", s[4}) # s[6:11] = 'world' print("s[6:11] = ", s[6:11}) # 오류가 발생합니다 # 문자열은 Python에서 불변합니다 s[5] = 'd'
출력량
s[4] = { s[6:11] = { Traceback (most recent call last): File '<string>', line 11, in <module> TypeError: 'str' 객체는 항목 할당을 지원하지 않습니다.
Set 유일한 항목의 무순서 집합입니다. Set은 중괄호 { }로 묶여 있으며, 콤마로 구분된 값의 집합입니다. 집합 내 항목은 순서가 없습니다.
a = {5,2,3,1,4} # set 집합 변수 출력 print("a = ", a) # a의 데이터 타입 출력 print(type(a))
출력량
a = {1, 2, 3, 4, 5} <class 'set'>
두 집합에서 집합 연산을 수행할 수 있습니다. 예를 들어 합집합, 교집합. 집합은 유일한 값을 가집니다. 중복을 제거합니다.
a = {1,2,2,3,3,3} print(a)
출력량
{1, 2, 3}
set은 무순서 집합이므로 인덱스는 의미가 없습니다. 따라서 슬라이싱 연산자 []는 작동하지 않습니다.
>>> a = {1,2,3} >>> a[1] Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> TypeError: 'set' 객체는 인덱싱을 지원하지 않습니다.
사전무순서 키-값 쌍의 집합입니다.
데이터가 많을 때는 일반적으로 사용합니다. 사전은 데이터 검색을 최적화했습니다. 검색 값의 키를 알아야 합니다.
Python에서는 대括호 {} 내에 정의된 딕셔너리는 각 항목이 key:value 형식으로 되어 있어야 합니다. 키와 값은 어떤 타입이든 될 수 있습니다.
>>> d = {1:'value','key':2} >>> type(d) <class 'dict'>
우리는 키를 사용하여 해당 값을 검색할 수 있습니다。
d = {1:'value','key':2} print(type(d)) print("d[1]= ", d[1]); print("d['key'] = ", d['key']); # 오류 발생 print("d[2]= ", d[2]);
출력량
<class 'dict'> d[1]= value d['key'] = 2 Traceback (most recent call last): File '<string>', line 9, in <module> KeyError: 2
우리는 다른 데이터 타입 간의 변환을 위해 다양한 변환 기능을 사용할 수 있습니다. 예를 들어 int(), float(), str() 등.
>>> float(5) 5.0
float에서 int로 변환할 때는 값이 절단됩니다(0에 가까워집니다).
>>> int(10.6) 10 >>> int(-10.6) -10
문자열 간의 변환은 호환 가능한 값이 포함되어야 합니다。
>>> float('2.5') 2.5 >>> str('25) '25' >>> int('1p') Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> ValueError: invalid literal for int() with base 10: '1p'
우리는 심지어 한 열을 다른 열로 변환할 수 있습니다。
>>> set([1,2,3}) {1, 2, 3} >>> tuple({5,6,7) (5, 6, 7) >>> list('hello') ['h', 'e', 'l', 'l', 'o']
딕셔너리로 변환하려면 각 요소가 반드시 짝으로 되어야 합니다:
>>> dict([[1,2],[3,4]) {1: 2, 3: 4} >>> dict([(3,26),(4,44)]) {3: 26, 4: 44}