English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 프로세스 제어

Python 함수

Python 데이터 타입

Python 파일 작업

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python 데이터 타입

이 튜토리얼에서는 Python에서 사용할 수 있는 다양한 데이터 타입을 배울 것입니다.

Python의 데이터 타입

Python의 각 값은 데이터 타입이 있습니다. Python 프로그래밍에서 모든 것이 객체라는 점을 고려할 때, 데이터 타입은 실제로는 클래스이며, 변수는 이러한 클래스의 예제(객체)입니다.

Python에는 여러 가지 데이터 타입이 있습니다. 아래에 중요한 몇 가지 타입을 나열했습니다.

Python 숫자(Number)

정수, 실수 및 복소수는 모두 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 列表(List)

列表是项目的有序序列。它是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]

Python 元组(Tuple)

元组(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' 객체는 항목 할당을 지원하지 않습니다.

Python 문자열

문자열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' 객체는 항목 할당을 지원하지 않습니다.

Python 집합(Set)

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 사전

사전무순서 키-값 쌍의 집합입니다.

데이터가 많을 때는 일반적으로 사용합니다. 사전은 데이터 검색을 최적화했습니다. 검색 값의 키를 알아야 합니다.

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}