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的七大数据类型就介绍完了,如果有什么表述不清楚,或者有错的地方请指正