>  기사  >  백엔드 개발  >  2장 파이썬 데이터 유형

2장 파이썬 데이터 유형

黄舟
黄舟원래의
2016-12-22 17:04:141143검색

섹션 1 숫자 및 문자열 유형

123은 "123"과 동일합니까?

() [] {}

컴퓨터 사람들을 돕는 데 사용되며 실제 분류도 추상 분석을 용이하게 하기 위해 프로그래밍에 매핑됩니다.

숫자

문자열

목록

튜플

사전

우리는 데이터 유형을 통해 몇 가지 간단한 데이터 유형을 살펴보고 Python이 자동으로 데이터 유형을 식별합니다

>>> num1=123
>>> 유형(123)

>> 🎜 >>>> 유형(num2)



>>> num='hello'

>>> type (num)


정수 int로 표현되는 범위 Python에서는 -2,147,483,648 ~ 2,147,483,647

예: 0,100,,100

위에는 Int의 범위 예가 나와 있습니다.

>>> num3=123L 여기서는 긴 정수 유형
>>> type(num3)



예: 0.0, 12.0,, 18.8, 3e+7 등

예:

>>> >> 유형(번호)

>>> 유형(번호)


>> num= 12.0
>>> type(num)



Python은 대부분의 다른 소프트웨어에는 없는 복소수 지원 기능을 내장하고 있습니다. 🎜>

복수형 예: 3.14j, 8.32e-36j

예:

>>> >>> 유형(번호)

>>> num

3.14j
>> 인쇄 num


j


>>>

여기서 다음 두 가지 유형의 변수를 구별합니다.


>>>

> ;>> stra="123"

>>> 인쇄
123

>> 인쇄 stra

123

> ;> a +stra 여기서는 이 두 가지 다른 유형의 변수를 연산할 수 없음을 발견했습니다.

추적(가장 최근 호출 마지막):
파일 "", 라인 1,
TypeError: 지원되지 않는 피연산자 유형( s) +: 'int' 및 'str'
>>> type(a)

>>



문자열 문자열


숫자, 문자, 기호(특수가 아닌 시스템 기호)를 포함할 수 있는 따옴표를 사용하여 정의된 집합입니다.


>>> str1='hello world'


>>> str2="hello world"

> >> say='가자' 이 정의에는 오류가 있습니다. 여기서 정의할 때 작은따옴표도 포함되기 때문입니다.
파일 "", 1행

say='가자'

^
SyntaxError: 잘못된 구문

>>> say="let's go" 외부 작은따옴표를 큰따옴표로 변경할 수 있습니다



> ;>> say="let's "go"" 큰따옴표 안에 큰따옴표가 있으면 이스케이프 문자를 사용해야 합니다.
파일 "", 1행
say="let's "go “" "가자"

일부 이스케이프 문자의 사용을 살펴보겠습니다

>>> mail='tom: hello i am jack'
>>> 메일 인쇄
tom: hello i am jack
>>> mail='tom:n hellon i am jack' 위 문자에 대해 개행 출력을 사용하려면
>>> 메일
'tom:n hellon i am jack'
>>> 메일 인쇄
tom:

안녕하세요


i am jack

아래에서는 줄바꿈 효과를 얻기 위해 세 개의 따옴표를 사용합니다:

>>> mail="""tom:
. .. 나는 잭이다
... 안녕
... """
>>> 메일 인쇄
톰:
나는 잭이다
안녕

>>> mail 여기에서 삼중 따옴표를 사용하면 입력 내용이 기록된다는 것을 알 수 있습니다.
'tom:nti am jacknbyen'

추가로, we are 또한 삼중따옴표를 사용하여 코드의 특정 줄을 주석 처리할 수도 있고, 문서 데이터를 만드는 데 사용할 수도 있습니다.

색인을 통해 값 가져오기

>>> a=' abcde'

>>> a[0] 문자열

'a'
에서 특정 값을 얻기 위해 인덱스를 사용합니다. >>> a[ 1]
'b'
>>> a[0]+a[1] 둘 이상을 사용하려면 + 로그인을 사용하세요. 연결하는 중간

' ab'

슬라이스를 사용하여 값 얻기 ​​

>>> >

'abcde'


여기서 동작을 살펴보겠습니다. [시작 위치: 끝 위치 + 1: 단계]

>> > a[1:4] 여기서는 bcd를 사용하고 [ 시작 위치: 끝 위치 + 1]을 사용하여

'bcd'


>>> ; a[:4] 이는 처음부터 d

'abcd'


>>> 네 번째 위치


'e'


>>> a[2:]


'cde'


>>> a[:: 1] 단계 크기별로 값을 가져옵니다. 단계 크기가 2 이하인 경우

'abcde'
>>> a[::2]

'ace '

>>> a[-4:-1] 는 음수 인덱스를 통해 값을 가져옵니다. -1은 마지막 값에서 두 번째를 나타냅니다.


'bcd'


>>> 마지막 값을 표시한 다음 이전 값을 표시합니다


'abcd'


다음 두 가지 방법으로 값 순서를 볼 수 있습니다

>> > a[-2:-4:-1] 그는 먼저 모든 숫자를 뒤집은 다음 'dc'의 두 번째 위치에서 세 번째 위치까지 값을 잘라내는 것입니다

>>> a[-4:-2:1] 그는 네 번째부터 마지막 ​​위치까지를 나타내고 두 번째부터 마지막 ​​위치까지의 값을 잘라내는 것을 나타낸다

'bc'


>>> a[-2:- 5:-1] 값 반전


'dcb'


섹션 2 시퀀스


a .리스트, 튜플, 문자열은 모두 시퀀스입니다.


b 시퀀스의 두 가지 주요 기능은 인덱스 연산자와 슬라이싱 연산자입니다.


– 인덱스 연산자를 사용하면 시퀀스에서 특정 항목을 가져올 수 있습니다.


- 슬라이스 연산자를 사용하면 시퀀스의 슬라이스, 즉 시퀀스의 일부를 얻을 수 있습니다.

c. 인덱스는 음수일 수도 있으며 위치는 시퀀스의 끝에서 계산됩니다.


- 따라서 shoplist[-1]은 시퀀스의 마지막 요소를 나타내고 shoplist[-2]는 시퀀스


d의 두 번째 항목을 가져옵니다. 연산자는 콜론으로 구분된 선택적 숫자 쌍을 포함하는 대괄호가 뒤에 오는 시퀀스 이름입니다.


- 이는 사용하는 인덱싱 연산자와 매우 유사합니다. 숫자는 선택사항이지만 콜론은 필수라는 점을 기억하세요.


- 슬라이스 연산자의 첫 번째 숫자(콜론 앞)는 시작 위치를 나타내고 두 번째 숫자(콜론 뒤)는 슬라이스가 끝나는 위치를 나타냅니다. 첫 번째 숫자를 지정하지 않으면 Python은 시퀀스의 시작 부분부터 시작합니다. 두 번째 숫자를 지정하지 않으면 Python은 시퀀스 끝에서 중지됩니다.


——참고: 반환된 시퀀스는 시작 위치에서 시작하여 끝 위치 직전에서 끝납니다. 즉, 시작 위치는 시퀀스 슬라이스에 포함되고 종료 위치는 슬라이스에서 제외됩니다.


a.shoplist[1:3]은 위치 2를 포함하여 위치 1에서 시작하지만 위치 3에서 멈추는 시퀀스 슬라이스를 반환하므로 두 항목이 포함된 슬라이스를 반환합니다. shoplist[:]는 전체 시퀀스의 복사본을 반환합니다. 음수로 슬라이싱을 수행할 수 있습니다. 음수는 시퀀스의 끝부터 사용됩니다. 예를 들어, shoplist[:-1]은 마지막 항목을 제외한 모든 항목을 포함하는 시퀀스 조각을 반환합니다.


시퀀스의 기본 연산

1.len(): 시퀀스의 길이를 구합니다

2 .+: 2개의 시퀀스 연결

3.*: 시퀀스 요소 반복

4.in: 요소가 In 시퀀스에 있는지 확인

5.max(): 최대값 반환

6.min(): 최소값 반환

7.cmp(tuprel,tuple2 ) 비교 2

의 시퀀스 값을 살펴보겠습니다.

>>> ( a)
5
>>> str1='123'
>>> str2='adbs'
>>>

'123adbs'

>>> str1*5 이렇게 하면 str1이 5번 반복됩니다.

'123123123123123'

>> ; > "#"*40

'############################ '

>>> str2
'adbs'


>>> 'c' in str2 문자열에 'c'가 있는지 확인하세요. 없으면 False를 반환하고, 없으면 True를 반환합니다.

>>> 'c' not in str2

True

>>> (str1)

'3'
>>> max(str2)
's'
>> min(str2)

'a'



cmp(str1, str2) 두 문자열 비교

>>> str1='12345'
>>> ='abcde'
>>> cmp( str1,str2)

-1

>>>

>>> cmp(str1,str2)

1
>>> str2='12345' 이때 두 값은 동일하며 0은
>>> cmp(str1,str2) 🎜>


섹션 3 튜플()



튜플은 튜플과 문자열이 수정할 수 없다는 점을 제외하면 목록과 매우 유사합니다. 변경된 점은 튜플을 수정할 수 없다는 것입니다.


— 튜플은 괄호 안에 쉼표로 구분된 항목으로 정의됩니다.

- 튜플은 일반적으로 명령문이나 사용자 정의 함수가 값 세트를 안전하게 취할 수 있는 경우, 즉 사용된 튜플의 값이 변경되지 않을 때 사용됩니다.

>>> str2='12345'
>>> id(str2)

139702043552192

>>> '
>>> id(str2)


139702043552576


이제 튜플 연산을 시작합니다


먼저 잘린 이름을 보면 길이가 다를 때 공백이 표시되므로 요소를 가져오기가 더 어렵습니다.

>>> "
>>> userinfo[:4]
'milo'

>>> userinfo1="zou 25 famale"

>>> userinfo1[:4 ]
'zou '

>>> t=("milo",30,"male") 여기서 튜플 정의를 사용하면 값을 얻는 것이 훨씬 더 편리해집니다

>>> t[0]
'밀로'

>>> t[1]

30

>> t[2]

🎜>
'남자'


튜플 만들기
- 빈 튜플은 한 쌍의 빈 괄호로 구성됩니다.
a. 예를 들어 myempty = ()
- 단일 요소 튜플을 포함합니다. 그룹
a.singleton = (2,)
——일반 튜플
a.zoo = ('wolf','elephant','penguin')

b .new_zoo = ('monkey','dolphin',zoo)

>>> t=() 빈 튜플 정의
>> > t1=(2,) 요소가 하나만 있는 튜플을 정의하세요. 여기서는 쉼표가 빠질 수 없습니다.
>>> type(t)

> ; type(t1)


튜플 연산

- 튜플 및 문자열 유형도 시퀀스 유형이며 가능합니다. 인덱싱 및 슬라이싱을 통해 작동

- 튜플 값도 불변입니다

>>> )
>>> t
('마일로', 30, '남성')
>>> t[1]
30
>> ; t[1]=31 여기서 뷰의 나이를 변경할 때 오류가 발견되었습니다.
추적(가장 최근 호출 마지막):
파일 "", 라인 1,
TypeError: 'tuple' 객체 항목 할당을 지원하지 않습니다 t

('milo', 30, 'male')


>>> ,gender=t

>>> 이름
'밀로'
>>> 나이
30
>>>'남자'


>>a,b,c=1,2,3


>> 2,3) Python에서는 두 방법 모두 튜플을 정의할 수 있지만 우리는 두 번째 방법을 사용하려고 합니다



Section 4 Sequence-Tuple


List[]


1) 리스트는 주문된 항목의 집합을 처리하는 데이터 구조입니다. 즉, 항목의 순서를 목록에 저장할 수 있습니다.


2) 리스트는 가변형 데이터이다


3) 리스트의 구성: []를 사용하여 여러 개의 숫자를 로 구분한 리스트를 표현한다. 쉼표 또는 문자열.


——List1=['시몬','데이비드','클로토','장산']


——List2=[1,2,3 ,4,5]


——List3=["str1","str2","str3","str4","str5"]


> >> listmilo=[] 빈 목록 정의

>>> type(listmilo)


>>> listmilo=['milo',30,'male'] 일반 목록의 정의
>>> t=('milo',30,'male')
>>> t[0]
'milo'
> >> listmilo[0]
'milo'
>>> listmilo[0:2] 목록에서 값 가져오기
['milo', 30]
>> > t[0:2]


('milo', 30)


차이점은

>>> =('abc')

>>> l3=['abc']

>>> type(l3) 여기서는 목록임을 알 수 있습니다

>>> type(t3)



목록 작업


——값


.슬라이싱 및 인덱싱


b.list[]


——


추가 a.list.append()


——삭제


a.del(list[])


b.list.remove(list[])


— —수정


a.list[]=x


——목록에서


a.var 검색

>>> listmilo[0] 여기서는 목록이 저장된 요소
'milo'
>>> listmilo[0]='zou'의 값을 변경할 수 있음을 알 수 있습니다.
>>> listmilo[0]
'zou'

목록에 요소를 추가하는 방법을 소개합니다

> > listmilo
['milo', 30, 'male']
>>> listmilo.append("123444555")
>>> 🎜>
['milo', 30, 'male', '123444555'] 이때 네 번째 요소가 목록milo 목록에 추가된 것을 발견했습니다


>>> ; listmilo.remove ('123444555') 목록에서 값 삭제

>>> listmilo

['milo', 30, 'male']


> >> del(listmilo[1]) 목록의 인덱스를 통해 목록의 값을 삭제하기 위해 del을 사용할 수도 있습니다.

>>> listmilo

['milo' , '남성']



일부 구문의 사용을 쿼리하려면 도움말을 사용하는 방법을 배워야 합니다. 예를 들어 목록의 내부 삭제 작업을 확인해야 합니다.


>>> help(list.remove) 


method_descriptor 도움말:


remove(...)
L.remove(value ) - 처음 나타나는 값을 제거합니다.
값이 없으면 ValueError가 발생합니다. 🎜>
객체 및 클래스 빠른 시작


1) 객체 및 클래스를 통해 목록을 더 잘 이해할 수 있습니다. .


2) 객체 = 속성 + 메소드


3) 리스트는 객체와 클래스를 사용한 예입니다.


- 변수 i를 사용하여 정수 5를 할당하는 등의 값을 할당하면 클래스(타입) int의 객체(인스턴스) i를 생성했다고 생각할 수 있습니다.


——help(int)


4) 클래스에는 클래스에만 정의된 함수인 메서드도 있습니다.


- 이 클래스의 객체만 이 기능을 사용할 수 있습니다.


- 예:


a.Python은 목록 끝에 항목을 추가할 수 있는 목록 클래스에 대한 추가 메서드를 제공합니다.


b.mylist.append('an item')은 목록 mylist에 문자열을 추가합니다. 객체 메서드를 사용하려면 점 표기법을 사용하세요.


5) 클래스에도 변수가 있는데, 클래스에만 정의된 변수입니다.


- 이 변수/이름은 이 클래스의 개체에서만 사용할 수 있습니다.


- mylist.field와 같이 점을 통해 사용됩니다.



섹션 5 Dictionary {}


1) Python에서 Dictionary는 유일한 매핑 유형(해시 테이블)입니다


2) 사전 객체는 가변적이지만 사전의 키는 불변 객체를 사용해야 하며, 사전에서는 다양한 유형의 키 값을 사용할 수 있습니다.


3) key() 또는 value()는 키 목록 또는 값 목록을 반환합니다.


4) items()는 키-값 쌍을 포함하는 튜플을 반환합니다.


사전 만들기:

- {}

- 팩토리 메소드 dict() 사용

예: fdict=dict(['x',1],['y',2])


- 내장 메소드: fromkeys(), Dictionary have 동일한 값, 기본값은 None


예: ddict={}.fromkeys(('x','y'),-1)


>>> dic={0:0,1:1,2:2} 여기서는 사전 {key:value,key:value,key:value}

>>>를 정의합니다. ; dic [0]
0

>>> dic[1]

1
>> dic[2]

2


🎜> >>> dic1={'name':'milo','age':25,'gender':'male'} 이렇게 정의하는 것이 더 의미가 있을 것입니다


> >> >> dic1['성별']
'남성'

>>> dic2={1:'123','name':'milo','x':456}

>>> dic2

{1: '123', 'name': 'milo', 'x': 456}

다음으로 또 다른 예를 살펴보겠습니다.

> ;> a=1 여기서는 먼저 두 개의 변수를 정의합니다

>>> ':'bbb'} a가 정의되지 않으면 여기에 오류가 표시됩니다


>>> dic3[1]

'aaa'

>>> dic3[2] 여기서 마침내 차이점을 볼 수 있습니다. 실제로 사전에서는 b 이전에 정의된 값을 사용하지 않습니다.

추적(가장 최근 호출 마지막):

파일 "", 첫 번째 줄,
KeyError: 2
>>> dic3['b']
'bbb'
>>> 'gender': 'male', 'age': 25, 'name': 'milo'}
>>> for k in dic1: 여기서 사전 사용의 편리함을 볼 수 있습니다
. ..         k 인쇄                                                                                              

'남자'
25
'밀로'





업데이트 및 삭제됨:


- 키 값을 사용하여 업데이트에 직접 액세스합니다. 내장된 uodate() 메서드는 전체 사전의 내용을 다른 사전에 복사할 수 있습니다.


- del dict1['a'] 사전에서 키 값 a가 있는 요소를 삭제합니다.


a. dict1.pop('a')는 삭제하고 반환합니다. 'a'의 핵심 요소


b. dict1.clear()는 사전의 모든 요소를 ​​삭제합니다


c. del dict1은 전체 사전을 삭제합니다


>>> l

[1, 2, 3, 4, 5]
>>> l[5]=7

트레이스백(대부분 최근 호출 마지막):

파일 "", 1행,
IndexError: 목록 할당 인덱스가 범위를 벗어났습니다

>>> dic1

{'gender': 'male', ' age': 25, 'name': 'milo'}
>>> dic1['tel']='123454565' 여기서 사전을 사용할 때 오류 없이 값을 추가할 수 있음을 알 수 있습니다
>> ;> dic1
{'성별': '남성', '나이': 25, '전화번호': '123454565', '이름': 'milo'}


사전 자체에 고정되어 있지 않기 때문에 끝에 추가되지 않는다고 봅니다. 사전의 무질서와 해시 유형의 값은 사전의 키를 통해 사전에 있는 요소를 직접 조작할 수 있습니다


>>> dic1['tel']='888888888'
>>> dic1

{'성별': '남성', '나이 ': 25, '전화': '888888888', '이름': 'milo'}




>>> ') Pop 키 'age'에 해당하는 값, 사전에 age 키 값이 없습니다.

25
>>> dic1

{'gender': 'male' , 'tel': ' 888888888', 'name': 'milo'}

>>> dic1.clear() 사전 지우기
>>> dic1

{}

>>> ; del(dic1) 사전 직접 삭제

>>> dic1

추적(최근 호출 마지막):
파일 "", 1행,
NameError: 이름 'dic1'이 정의되지 않았습니다





사전 관련 내장 함수:


- type(),str (),cmp()(cmp 사전 비교에는 거의 사용되지 않으며 사전의 크기, 키, 값을 순서대로 비교합니다.)


팩토리 함수 dict():


- 예: dict(zip('x','y'),(1,2)) 또는 dict( x =1,y=2)


- {'y':2,'x':1}

- 사전을 생성하기 위해 사전을 사용하는 것은 복사를 사용하는 것보다 느리므로 이 경우 copy()를 사용하는 것이 좋습니다.


1) len(), hash() (객체가 사전 키일 수 있는지 확인하는 데 사용되며 해시가 아닌 유형은 TypeError를 보고함).

2) dict.clear(): 사전의 모든 요소를 ​​삭제합니다.

3) dict.fromkeys(seq, val=None): seq의 요소를 키로 사용하여 사전을 생성하고 반환하며, val은 지정된 기본값입니다.

4) dict.get(key, default=None): 키 값을 반환합니다. 키가 없으면 기본적으로 지정된 값을 반환합니다.

5) dict.has_key(key): 키가 사전에 있는지 확인합니다. 대신 in을 사용하고 in을 사용하는 것이 좋습니다.

6) dict .items(): 키-값 쌍 튜플 목록을 반환합니다.

7) dict.keys(): 사전에 있는 키 목록을 반환합니다.

8) dict.iter*(): iteritems(), iterkeys(), itervalues()는 목록 대신 반복을 반환합니다.

9) dict.pop(key[,default]): get()과 동일합니다. 차이점은 키가 있으면 삭제하고 없으면 dict[key]를 반환한다는 것입니다. 존재하는 경우 기본값이 지정되지 않았으며 KeyError 예외가 발생합니다.

10) dict.setdefault(key, default=None): set()과 동일하며, 키가 존재하면 해당 값이 반환됩니다. 키가 존재하지 않으면 dict[key]=default.

11) dict.update(dict2): dict2의 키-값 쌍을 사전 dict에 추가합니다. 반복해서 덮어쓰는 경우 원래 사전에 없는 항목이 추가됩니다.

12) dict. 값(): 사전에 있는 모든 값의 목록을 반환합니다.


>>> dict.get(3) ') 사전에 없으면 정의에서 오류를 반환합니다

'error'

이해가 되지 않으면 도움말 기능을 이용하여 다른 예시를 통해 연습해 볼 수 있습니다.

>>> dic1={'a':123,'b':456,1:111,4:444}
>>> ()

['a', 1, 'b', 4]

>>> dic1.values()
[123, 111, 456, 444]


위 내용은 2장의 Python 데이터형 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:우아한 파이썬다음 기사:우아한 파이썬