Python 데이터 유형에 대한 자세한 소개

1. 번호

1. int (정수, 긴 정수)

2. float(부동소수점형)

3. 복잡한 (복수형)

2. 부울

3. 문자열 유형(String)

 4. 목록

1. 목록 만들기

2. 목록의 색인

 3. 목록 조각화

4. 목록 덧셈과 곱셈

5. 목록의 수정

6. 목록의 삭제

7. 목록 추가, 삽입 및 확장

8. 목록 요소 검색

9. 목록 관련 내장 함수

10. 다차원 목록

오배

1. 튜플 개요

2. 튜플 수정

 3. 튜플 삭제

4. 튜플 관련 내장 함수

5. 튜플과 리스트 간의 변환 

6. 튜플의 장점

6. 사전

1. 사전의 생성    

2. 사전 접근

3. 사전의 수정

4. 사전 삭제

5. 사전 추가

6. 사전 관련 기능 내장

 7. 수집

1. 컬렉션 생성

2. 컬렉션의 특징

3. 컬렉션에 요소 추가

4. 컬렉션에서 요소 삭제

5. 세트의 수치 연산

6. 컬렉션의 동결 세트


Python에는 7가지 주요 데이터 유형이 있습니다.

(1) 숫자: int(정수, 긴 정수), float(부동 소수점), complex(복수)

(2) 부울: 참, 거짓

(3) 문자열: "파이썬", '파이썬'

(4) 목록: [1,2,3,4], [1,2,3,[1,2,3],"안녕하세요"]

(5)字典(사전):{1:"hello",2:"world"}

(6) 튜플: (1,2,3, "hello", "world")

(7) 설정: {1,2,3, "안녕하세요"}

참고: Python에는 6가지 주요 데이터 유형이 있으며 그 중 Boolean이 숫자 유형에 배치된다고 합니다.

불변형 4가지(숫자, 부울, 문자열, 튜플)가 있습니다.

변수 유형에는 목록, 사전 및 집합의 세 가지가 있습니다.

 변경 가능한 데이터 유형은 함수가 실행될 때 내용이 변경될 수 있음을 의미합니다.

불변 데이터 유형은 초기화부터 완료까지 변경할 수 없습니다.

아래에서 각 유형에 대해 자세히 살펴보겠습니다.

1. 번호

1. int (정수, 긴 정수)

  • 파이썬에서는 정수와 긴 정수가 결합되는데, 파이썬3에서는 int만 있고, long int나 long long int는 없습니다.
  • sys 모듈의 maxsize를 사용하여 시스템이 지원하는 최대 정수를 얻을 수 있습니다.
import sys
print(sys.maxsize)

输出结果为:
9223372036854775807

2. float(부동소수점형)

  • 부동소수점 숫자는 소수점 형태로 표현될 수 있으며,
  • 과학기술법의 형태로도 표현될 수 있습니다. (e 또는 E를 사용할 수 있습니다.)

예: m = 3e2(3e2는 3 곱하기 10의 2제곱을 나타냄), 이때 m = 300

         n = 3E2 (E와 e는 같은 의미를 가지며, 둘 다 10의 거듭제곱을 나타냄), 이때 n = 300

f = 0.01
m = 5e3
n = 5E3
print('f=',f,'m=',m,'n=',n)

输出的结果为:
f= 0.01 m= 5000.0 n= 5000.0

3. 복잡한 (복수형)

  • 복소수는 실수부와 허수부로 구성됩니다. Python에서는 흔히 a+bj 또는 complex(a,b)로 표현하는데, 여기서 a는 복소수의 실수부를 나타내고, b는 복소수의 허수부를 나타냅니다. 수이며 복소수 b의 실수부 a와 허수부는 모두 부동 소수점 유형입니다.
  • 실수 부분 값을 얻으려면 실수 함수를 사용하고 허수 부분 값을 얻으려면 imag를 사용하십시오.
  • conjuate()를 사용하여 복소수의 켤레 복소수를 구합니다. (켤레 복소수는 실수 부분은 같고 허수 부분의 부호는 반대라는 의미입니다.)
c = 10 + 20j
d = complex(5, 10)
# c.real 实部  c.imag 虚部  c.conjugate 共轭复数
print(c, d,  c.real, c.imag, c.conjugate())

输出的结果如下:
(10+20j) (5+10j) 10.0 20.0 (10-20j)

2. 부울

  • 부울 유형은 True와 False의 두 가지 값만 갖는 데이터 유형입니다( 단어의 첫 글자는 대문자여야 합니다 ).
  • 일반적으로 사용되는 부울 연산에는 and, or, not 등이 있는데, 부울 유형의 값을 추가할 수 있으나 추가되면 유형이 int 유형으로 변환됩니다.

    작업

    결과

    x와 y

    결과는 x와 y가 동시에 True인 경우에만 True입니다.

    x 또는 y

    x와 y 중 하나가 True이면 결과는 True입니다.

    x가 아니야

    부정, 즉 x가 True이면 결과는 False입니다.

    a = True
    b = False
    print(a and b)
    print(a or b)
    print(not a)
    print(a+b)    # 当两个布尔型进行算数运算时就会转换成int类型
    
    输出结果如下:
    False
    True
    False
    1

3. 문자열 유형(String)

  •  String 타입은 잘 알려진 타입으로, 문자열 값을 정의할 때 작은따옴표나 큰따옴표를 사용할 수 있습니다.

a = 'hello'
b = "world"
print(a,b)

输出结果为:
hello world

 4. 목록

1. 목록 만들기

  • 변수명 = [요소 1, 요소 2, 요소 3,..., 요소 n]
  • 목록에 있는 데이터를 목록의 요소라고 하며 요소는 쉼표로 구분됩니다.
  • 동일한 목록에 여러 데이터 유형이 있을 수 있습니다.
  • 목록의 요소는 반복될 수 있습니다.

예를 들어:

list1 = [1,2,3,4] 여기서 1,2,3,4는 목록의 요소입니다.

list2 = [1,2,3,'hello',12] 동일한 목록에 여러 데이터 유형이 있을 수 있습니다.

list3 = [1,2,3,4,1,2,3] 목록의 요소는 반복될 수 있습니다.

2. 목록의 색인

  • 리스트의 각 요소는 정수 인덱스 값에 해당하며, 해당 요소 값은 인덱스 값을 통해 얻을 수 있습니다.
  •   목록은 요소의 정방향 및 역방향 인덱싱을 지원합니다. 순방향 인덱스는 인덱스 값이 양수이고 0부터 시작한다는 것을 의미하고, 역방향 인덱스는 인덱스 값이 음수이며 -1부터 시작한다는 것을 의미합니다. 역방향 인덱스인 경우 -1은 마지막 요소에 해당하는 인덱스 번호입니다.
  • 여기서 주의할 점은 정방향 인덱스 값은 양수이고 0부터 시작하고, 역방향 인덱스 값은 음수이며 -1부터 시작한다는 점입니다.
list1 = [1,2,3,4,'hello']
print("列表list1的第一个值:",list1[0])
print("列表list1的最后一个值:",list1[-1])

输出结果如下:
列表list1的第一个值: 1
列表list1的最后一个值: hello

 3. 목록 조각화

  • 리스트 슬라이싱은 목록의 하위 요소를 가로채서 가로채는 요소를 하위 목록으로 다시 생성하는 것을 의미합니다.

  • 슬라이스는 왼쪽에서 오른쪽으로 이루어집니다.

  • 형식은 다음과 같습니다: new list = old list [start value: end value]   (여기서 슬라이스 위치는 왼쪽으로 닫혀 있고 오른쪽으로 열려 있습니다. 즉, 생성된 새 목록에는 시작 인덱스에 해당하는 요소가 포함되어 있지만 종료 인덱스에 해당하는 요소는 포함하지 않음)]

list1 = [1,2,3,4,5,6,7,8,9]
list2 = list1[2:6]
# 2表示起始索引值为2,此处对应的元素值为3
# 6表示终止索引值为6,此处对应的元素值为7
list3 = list1[-6:-3]
print('list2=',list2)
print('list2=',list3)

输出结果为:
list2= [3, 4, 5, 6]
list2= [4, 5, 6]

4. 목록 덧셈과 곱셈

  • 더하기 연산은 더하기 기호(+)를 사용하여 완료되는데, 이는 더하기 기호 양쪽 끝에 있는 목록 변수가 연결되어 새로운 목록을 형성한다는 의미입니다.
  • 곱셈 연산은 별표(*)를 사용하여 완료됩니다. 이는 현재 목록 개체가 복사되고 연결되어 새 목록을 형성한다는 의미입니다.
list1 = [1,2,3]
list2 = [4,5,6]
list3 = list1+list2
list4 = list1*3
print("list3=",list3)
print("list4=",list4)

输出结果如下:
list3= [1, 2, 3, 4, 5, 6]
list4= [1, 2, 3, 1, 2, 3, 1, 2, 3]

5. 목록의 수정

  • 목록의 인덱스로 수정
  • 목록 조각별로 수정
list1 = [1,2,0,4,5,6,7]
# 将索引值为2的元素的值修改为三
list1[2] = 3
print(list1)
list1[2:6]=[0,0,0,0]
print(list1)

输出结果为:
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 0, 0, 0, 0, 7]

6. 목록의 삭제

목록 삭제 방법에는 del, pop, 제거, 지우기의 네 가지 방법이 있습니다.

  • del: 키워드, 강제 삭제, 목록에서 특정 인덱스에 해당하는 값만 삭제하거나 목록 전체를 직접 삭제할 수 있습니다.
  • pop: 삭제 위치를 지정하지 않으면 기본적으로 마지막 위치가 삭제됩니다.
  • 제거: 지정된 값을 삭제합니다.(처음 일치하는 요소만 삭제합니다.) 일치하는 항목이 없으면 오류가 보고됩니다.
  • 지우기: 목록을 지우고 목록의 요소만 삭제하지만 목록은 여전히 ​​남아 있습니다.
list1 = [1,2,1,4,5,6,7]
# 删除列表索引为1的值
del list1[1]
print("list1=",list1)   #list2= [1, 1, 4, 5, 6]

list2= [1,2,1,4,5,6,7]
#默认删除列表中的最后一个值
list2.pop()
# 删除列表索引为1的值
list2.pop(1)
print("list2=",list2)  #list1= [1, 1, 4, 5, 6, 7]
list3 = [1,2,1,4,5,6,7]
# s删除列表中值为1的元素,如果列表中有多个,则默认删除第一个
list3.remove(1)
print("list3=",list3)   #list3= [2, 1, 4, 5, 6, 7]

list4 = [1,2,1,4,5,6,7]   
# 请款列表
list4.clear()
print("list4=",list4)   #list4= []

7. 목록 추가, 삽입 및 확장

  •  추가: 현재 목록 개체의 끝에 요소를 추가합니다.  
  •  insert: 현재 목록의 지정된 인덱스 위치에 요소를 삽입합니다.    
  • 확장: 현재 목록 요소에 배치를 추가합니다.
list1 = [1,2,3,4,5,6,7]
list1.append(8)
list1.append([9,10])
print("list1 =",list1)
对应输出结果为:list1 = [1, 2, 3, 4, 5, 6, 7, 8, [9, 10]]

list2 = [1,2,4,5,6,7]
#在列表索引值为2的,增加元素3
list2.insert(2,3)
print("list2 =",list2)
对应输出结果为:list2 = [1, 2, 3, 4, 5, 6, 7]

list3 = [1,2,3]
list3.extend([4,5,6])
print("list3 =",list3)
对应输出结果为:list3 = [1, 2, 3, 4, 5, 6]

8. 목록 요소 검색

  •  List는 index 함수를 사용하여 해당 요소를 찾아 해당 요소의 인덱스를 반환합니다. obj는 요소 값, start 및 end는 시작 및 끝 인덱스(둘 다 선택 사항)이며 요소가 존재하지 않으면 오류가 보고됩니다.
  • 형식은 다음과 같습니다. list.index(obj,start,end) 찾을 수 없으면 오류가 보고됩니다. 
list1 = [1,2,3,4,5,6]
print(list1.index(4,1,5))   # 查找到了索引位置为3
print(list1.index(5))        # 查找到了索引位置为4

9. 목록 관련 내장 함수

목록 기능

기능

의미

렌(목록)

목록 요소 수

최대(목록)

목록 요소의 최대값을 반환합니다.

분(목록)

목록 요소의 최소값을 반환합니다.

목록(순서)

시퀀스를 목록으로 변환

렌(목록)

목록 요소 수

최대(목록)

목록 요소의 최대값을 반환합니다.

분(목록)

목록 요소의 최소값을 반환합니다.

목록(순서)

시퀀스를 목록으로 변환

10. 다차원 목록

다차원 목록은 목록의 요소가 다차원 배열과 유사하게 목록이기도 함을 의미합니다.

list1 = [1,2]
list2 = [1,2,3]
list3= [list1,list2]
print(list3)
输出如下:
[[1, 2], [1, 2, 3]]    
# list3 是二维列表

오배

1. 튜플 개요

  •  튜플은 여러 데이터 유형을 포함할 수 있는 불변 데이터 유형으로 , Python에서 유일하게 불변인 복합 데이터 유형입니다.
  •  튜플 변수 이름 생성 = (요소 1, 요소 2,..., 요소 n)

  • 튜플은 리스트 형식으로 인식되며 "(" 괄호로 표시됩니다. 튜플에 요소가 하나만 있는 경우 해당 요소 뒤에 쉼표를 추가해야 합니다. 튜플은 인덱스를 통해서도 액세스할 수 있으며 슬라이싱 작업이 지원됩니다. .

2. 튜플 수정

튜플은 불변 데이터 유형이므로 수정할 수 없지만 재할당하고 "+"로 연결하여 새 튜플을 생성할 수 있습니다.

# 元组可以包涵多种数据类型
tup1 = (1,2,3,4,'hello')
# 当元组只有一个元素时,需要在元素后面加一个逗号
tup2 = ("world",)
# 给元组进行+ 运算,从新生成一个新的元组
tup3 = tup1 + tup2
print(tup3)


输出结果为:
(1, 2, 3, 4, 'hello', 'world')

 3. 튜플 삭제

요소 값은 삭제할 수 없으나 , del 문을 사용하여 튜플 전체를 삭제할 수 있으며  , 삭제된 튜플 객체는 다시 참조할 수 없다는 점에 유의하시기 바랍니다.

tup1 = (1,2,3,4,'hello')
del tup1
print(tup1)

#用del 将元组删除之后是不能在对之前的元组进行引用的,否则会报错
Traceback (most recent call last):
  File "F:\course_study\python3\test\training\Type.py", line 89, in <module>
    print(tup1)
NameError: name 'tup1' is not defined

4. 튜플 관련 내장 함수

튜플 함수

기능

의미

cmp(튜플1, 튜플2)

두 개의 튜플 요소를 비교하는 것은 Python 3에서 더 이상 사용할 수 없습니다.

렌(튜플)

튜플 요소 수 계산

최대(튜플)

튜플에 있는 요소의 최대값을 반환합니다.

최소(튜플)

튜플에 있는 요소의 최소값을 반환합니다.

튜플(시퀀스)

목록을 튜플로 변환

튜플 방법

방법

설명하다

tuple.count(값)

튜플의 요소 값 개수 계산

tuple.index(값, [시작, [중지]])

컬럼 튜플에서 지정된 요소의 인덱스 위치를 반환하며, 시작 및 중지 매개변수를 통해 검색 범위를 설정할 수 있습니다. 요소가 존재하지 않으면 예외가 보고됩니다.

5. 튜플과 리스트 간의 변환 

튜플과 리스트는 서로 변환될 수 있습니다.

list1 =[1,2,3,45]
tuple1 = (91,2,3,4)
list2 = list(tuple1)
tuple2 = tuple(list1)
print(list2)     #[91, 2, 3, 4]
print(tuple2)     #(1, 2, 3, 45)

6. 튜플의 장점

 함수가 여러 값을 반환하도록 만들 수 있습니다

 프로그램 실행 성능을 향상시킬 수 있습니다.

일반적으로 튜플 유형의 변수 생성은 목록 유형보다 빠르며 저장 공간을 덜 차지합니다.  

튜플을 사용하는 것은 스레드로부터 안전합니다.

튜플 유형 변수의 요소는 변경할 수 없으므로 멀티스레드 읽기 및 쓰기 중 보안 문제를 보장할 수 있습니다.

6. 사전

1. 사전의 생성    

  •    변수 이름={key1:value1, key2:value2,…, keyn:valuen}
  • 사전의 요소(값)는 변경 가능하고 모든 데이터 유형이 될 수 있지만 키(key) 값은 불변 유형이어야 하며,  동일한 사전 변수에서 키(key) 값은 고유해야 합니다 .
stu = {"name":"zhangsan","age":21,"sex":"F"}
print(stu)

输出如下:
{'name': 'zhangsan', 'age': 21, 'sex': 'F'}

2. 사전 접근

  • 사전은 순서가 없고 색인이 없습니다. 요소는 키로만 얻을 수 있습니다.
  • 사전 이름 [key] 를 전달하거나 사전 name.get("age") 을 전달할 수 있습니다.
stu = {"name":"zhangsan","age":21,"sex":"F"}
print(stu)print(stu["name"],stu["age"])         #输出为:zhangsan 21
print(stu.get("name"),stu.get("age"))           #输出为:zhangsan 21

3. 사전의 수정

코드는 키 값에 대한 참조를 통해 값 값을 수정합니다.

stu = {"name":"zhangsan","age":21,"sex":"F"}
stu["sex"] ="M"
print(stu)

输出结果如下:
{'name': 'zhangsan', 'age': 21, 'sex': 'M'}

4. 사전 삭제

del 키워드를 통해 삭제

stu = {"name":"zhangsan","age":21,"sex":"F"}
del stu["age"]
print(stu)

输出如下:
{'name': 'zhangsan', 'sex': 'F'}

5. 사전 추가

형식: 사전 이름 [키] = 값

stu = {"name":"zhangsan","age":21,"sex":"F"}
stu["county"] = "China"
print(stu)
输出结果如下:
{'name': 'zhangsan', 'age': 21, 'sex': 'F', 'county': 'China'}

6. 사전 관련 기능 내장

사전 기능

기능

의미

cmp(dict1, dict2)

두 개의 사전 요소를 비교하는 것은 Python 3에서 더 이상 사용할 수 없습니다.

렌(딕셔너리)

사전 요소 수 계산

문자열(dict)

사전의 인쇄 가능한 문자열 표현을 출력합니다.

사전 방법

방법

의미

radiansdict.clear()

사전의 모든 요소 삭제

radiansdict.copy()

사전의 얕은 복사본을 반환합니다.

radiansdict.fromkeys()

시퀀스 seq의 요소를 사전의 키로 사용하여 새 사전을 생성하고, val은 사전의 모든 키에 해당하는 초기 값입니다.

radiansdict.get(key,default=None)

지정된 키의 값을 반환하거나, 값이 사전에 없으면 기본값을 반환합니다.

radiansdict.has_key(키)

키가 사전 사전에 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

radiansdict.items

(키, 값) 튜플의 반복 가능한 배열을 목록으로 반환합니다.

radiansdict.keys()

사전의 모든 키를 목록으로 반환합니다.

radiansdict.setdefault(key,default=없음)

get()과 비슷하지만 사전에 키가 아직 없으면 키가 추가되고 값이 기본값으로 설정됩니다.

radiansdict.update(dict2)

사전 dict2 키/값 쌍을 객체 radiansdict로 업데이트합니다.

radiansdict.values()

사전에 있는 모든 값을 목록으로 반환합니다.

 7. 수집

1. 컬렉션 생성

  • 형식: 변수 이름 = {요소 1, 요소 2,…, 요소 n}
  • 세트는 목록이 []를 사용하고 세트는 {}를 사용한다는 점을 제외하면 목록과 매우 유사합니다. 둘 다 수정할 수 있고 요소 유형에 제한이 없습니다.
set1 ={1,2,3,'qwd'}
print(set1)
输出如下:
{'qwd', 1, 2, 3}

2. 컬렉션의 특징

  • 무질서: 요소들 사이에는 명확한 순서가 없습니다.
  • 상호성: 중복된 요소가 없습니다.
set1 = {1,2,3,5,"123",1,2,3}
print(set1)
输出为:
{1, 2, 3, 5, '123'}

# 输出的顺序不一定按照集合内的元素顺序输出,体现了集合的无序性
# 输出的元素没有重复的,体现了集合的互异性
  • 결정론적: 요소와 세트는 소속 여부의 관계만 가집니다.
set1 = {1,2,3,5,"123",1,2,3}
print(set1)
print(1 in set1)  #True
print( 1 not in set1)  #False

3. 컬렉션에 요소 추가

  • add(): 요소를 추가합니다
  • update(): 동시에 여러 요소 추가
set1 = {1,2,3,5,"123",1,2,3}
set1.add(23)
print("ste1=",set1)
set2 = {1,2,3,4}
set2.update({5,6,7,8})
print("ste2=",set2)
输出结果如下:
ste1= {1, 2, 3, 5, '123', 23}
ste2= {1, 2, 3, 4, 5, 6, 7, 8}

4. 컬렉션에서 요소 삭제

  • Discard() 및 Remove() 메서드는 컬렉션에서 특정 요소를 제거합니다.
  • 삭제된 객체가 존재하지 않는 경우, 제거() 메소드는 오류를 일으키지만, Discard() 메소드는 오류를 일으키지 않습니다.

5. 세트의 수치 연산

set1 = {1,2,3} set2 = {3,4,5}를 취합니다.

산술 연산

운영자

의미

교차로

&

두 세트 사이의 공통 요소 가져오기

 세트1 & 세트2 》{3}

노동 조합

|

두 세트의 모든 요소를 ​​가져옵니다.

 세트1 | 세트2 》{1,2,3,4,5}

차이 세트

-

한 세트에서 다른 세트에 없는 요소를 가져옵니다.

 세트1 - 세트2 》{1,2}

 세트2 - 세트1 》{4,5}

대칭 차이 세트

^

取集合 A 和 B 中不属于 A&B 的元素

set1 ^ set2  》{1,2,4,5}

6. 集合中的frozenset

  • set 集合是可变序列,程序可以改变序列中的元素
  • frozenset 集合是不可变序列,程序不能改变序列中的元素
set1 ={1,2,3,4}
set2 = frozenset(set1)
# 现在集合set2是一个不可变集合,若对其进行修改,添加,则会报错

到这里python的七大数据类型就介绍完了,如果有什么表述不清楚,或者有错的地方请指正

추천

출처blog.csdn.net/m0_61232019/article/details/129798969