Heim  >  Artikel  >  Backend-Entwicklung  >  Kapitel 2 Python-Datentypen

Kapitel 2 Python-Datentypen

黄舟
黄舟Original
2016-12-22 17:04:141188Durchsuche

Abschnitt 1 Zahlen- und Zeichenfolgentypen

Ist 123 dasselbe wie „123“?

() [] {}

Der Computer Wird zur Unterstützung von Menschen verwendet. In der Programmierung werden auch Klassifizierungen aus der realen Welt abgebildet, um abstrakte Analysen zu erleichtern.

Zahl

Zeichenfolge

Liste

Tupel

Wörterbuch

Wir betrachten einige einfache Datentypen anhand von Datentypen, und Python erkennt automatisch den Datentyp

>>> ; num1=123
>>> Typ(123)
>>> 🎜 >>>> Typ(num2)


>>> num='hello'


>>> Typ (num)


Der durch Integer int dargestellte Bereich in Python beträgt -2.147.483.648 bis 2.147.483.647



Zum Beispiel: 0,100,100


Ein Bereichsbeispiel für Int ist oben dargestellt.


>>> Hier weisen wir den Wert im Long-Integer-Typ zu

>>> type(num3)


Zum Beispiel: 0,0, 12,0, 18,8, 3e+7 usw.


Beispiel:


>>> > >> Typ(num)

>>> Typ(num)
>>> num= 12.0

>>> type(num)




Python bietet integrierte Unterstützung für komplexe Zahlen, was die meisten anderen Programme nicht haben:


Pluralbeispiele: 3.14j, 8.32e-36j


Beispiele:


>>> num=3.14j

>> > Typ(num)


>>> print num


3.14j j


>>>


Hier unterscheiden wir die folgenden zwei verschiedenen Arten von Variablen

>>>

> ;>> print a

123
>>> print stra

123

>> ;> a +stra Hier stellen wir fest, dass diese beiden verschiedenen Arten von Variablen nicht bedient werden können
Traceback (letzter Aufruf zuletzt):

Datei "", Zeile 1, in

TypeError: nicht unterstützter Operandentyp( s) für +: 'int' und 'str'

>>> type(a)

>>>



String String


Eine durch Anführungszeichen definierte Menge, die Zahlen, Buchstaben und Symbole (nicht spezielle Systemsymbole) enthalten kann.


>>> str1='Hallo Welt'


>>> >> say='let's go' In dieser Definition liegt ein Fehler vor, denn wenn wir sie hier definieren, enthält sie auch ein einfaches Anführungszeichen
Datei "", Zeile 1
say='let's go'

^

SyntaxError: ungültige Syntax

>>> say="los geht's" Wir können die äußeren einfachen Anführungszeichen in doppelte Anführungszeichen ändern

> ;>> say="let's "go"" Wenn in unseren Anführungszeichen doppelte Anführungszeichen stehen, müssen wir Escape-Zeichen verwenden
Datei "", Zeile 1

say="let's "go“ Lass uns „gehen“

Sehen wir uns die Verwendung einiger Escape-Zeichen an


>>> mail='tom: hallo ich bin Jack'
>>> print mail
tom: hallo ich bin jack

>>> mail='tom:n hallo ich bin jack' Für die oben genannten Zeichen, wenn wir die Zeilenumbruchausgabe verwenden möchten

>>> mail
'tom:n hallo ich bin jack'

>>> print mail

tom:
hallo

Ich bin Jack

Im Folgenden verwenden wir dreifache Anführungszeichen, um den Zeilenumbrucheffekt zu erzielen:

>>> mail="""tom:
. .. ich bin Jack
... auf Wiedersehen
... """
>>> print mail
tom:
ich bin Jack
auf Wiedersehen

>>> mail Hier können wir sehen, dass er unsere Eingabe aufzeichnet, wenn wir dreifache Anführungszeichen verwenden
'tom:nti am jackn goodbyen'

Außerdem Wir sind Sie können auch dreifache Anführungszeichen verwenden, um eine bestimmte Zeile im Code auszukommentieren, oder Sie können damit Dokumentdaten erstellen

Den Wert über den Index abrufen

>>> a=' abcde'

>>> Wir verwenden den Index, um einen bestimmten Wert in der Zeichenfolge

'a'
zu erhalten >>> a[ 1]
'b'
>>> Wenn wir mehr als eins nehmen möchten, können wir das +-Zeichen verwenden die Mitte zum Verbinden

'ab'

Verwenden Sie Slices, um Werte zu erhalten

>>> >

'abcde'


Sehen wir uns hier die Operation an, ein [Startposition: Endposition + 1: Schritt]

>> > a[1:4] Hier nehmen wir bcd und verwenden [Startposition: Endposition + 1], um den Wert

'bcd'


>>> zu erhalten ; a[:4] Dies bedeutet, dass vom Anfang bis d

'abcd'


>>> der folgende Wert abgeschnitten wird vierte Stelle


'e'


>>> a[2:]


'cde'


>>> a[:: 1] Ermitteln Sie den Wert nach Schrittgröße. Es ist klarer, wenn die Schrittgröße 2 unter

'abcde'
>>> beträgt. a[::2]

'ace '

>>> a[-4:-1] Hier beginnen wir von hinten nach vorne und -1 stellt den vorletzten Wert dar


'bcd'


>>> a[:-1] Abgeschnitten vom letzten Wert und zeigen Sie dann den vorherigen Wert an


'abcd'


Wir können seine Wertreihenfolge auf die folgenden zwei Arten sehen

>> > a[-2:-4:-1] He Es geht darum, zuerst alle Zahlen umzukehren und dann den Wert von der zweiten zur dritten Position von „dc“ abzuschneiden

>>> a[-4:-2:1] Er zeigt an, dass ab der viertletzten Position begonnen wird und der Wert ab der vorletzten Position abgeschnitten wird

'bc'


>>> a[-2:- 5:-1] Den Wert umkehren


'dcb'


Abschnitt 2 Sequenz


a .Listen, Tupel und Strings sind alle Sequenzen


b Die beiden Hauptmerkmale von Sequenzen sind der Indexoperator und der Slicing-Operator.


– Der Indexoperator ermöglicht es uns, ein bestimmtes Element aus einer Sequenz auszuwählen.


– Der Slice-Operator ermöglicht es uns, einen Slice der Sequenz, also einen Teil der Sequenz, zu erhalten.

c. Der Index kann auch eine negative Zahl sein und die Position wird ab dem Ende der Sequenz berechnet.


– Daher stellt shoplist[-1] das letzte Element der Sequenz dar und shoplist[-2] greift auf das vorletzte Element der Sequenz


d. Das Slicing Der Operator ist der Sequenzname, gefolgt von einer eckigen Klammer, die ein optionales Zahlenpaar enthält, das durch einen Doppelpunkt getrennt ist.


– Beachten Sie, dass dies dem von Ihnen verwendeten Indexierungsoperator sehr ähnlich ist. Denken Sie daran, dass Zahlen optional sind, Doppelpunkte jedoch erforderlich sind.


– Die erste Zahl im Slice-Operator (vor dem Doppelpunkt) gibt die Startposition an und die zweite Zahl (nach dem Doppelpunkt) gibt an, wo das Slice endet. Wenn Sie die erste Zahl nicht angeben, beginnt Python am Anfang der Sequenz. Wenn die zweite Zahl nicht angegeben wird, stoppt Python am Ende der Sequenz.


——Hinweis: Die zurückgegebene Sequenz beginnt an der Startposition und endet kurz vor der Endposition. Das heißt, die Startposition ist im Sequenz-Slice enthalten, während die Endposition vom Slice ausgeschlossen ist.


a.shoplist[1:3] gibt einen Sequenzabschnitt zurück, der bei Position 1 beginnt, einschließlich Position 2, aber an Position 3 stoppt, und daher einen Abschnitt zurückgibt, der zwei Artikel enthält. shoplist[:] gibt eine Kopie der gesamten Sequenz zurück. Sie können das Slicing mit negativen Zahlen durchführen. Ab dem Ende der Sequenz werden negative Zahlen verwendet. Beispielsweise gibt shoplist[:-1] ein Sequenzsegment zurück, das alle Artikel bis auf den letzten enthält.


Grundoperationen von Sequenzen

1.len(): Ermitteln Sie die Länge der Sequenz

2 .+: 2 Sequenzen verbinden

3.*: Sequenzelemente wiederholen

4.in: Bestimmen, ob das Element in der Sequenz

5.max(): Gibt den Maximalwert zurück


6.min(): Gibt den Minimalwert zurück


7.cmp(tuprel,tuple2 ) Vergleichen 2 Ist der Sequenzwert von


Machen wir es:

>>> a

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

'123adbs'


>>> str1*5 Auf diese Weise wird str1 fünfmal wiederholt

'123123123123123'

>> ; > "#"*40

'########################### '
>>> str2
'adbs'


>>> Überprüfen Sie, ob das Zeichen 'c' in der Zeichenfolge str2 enthalten ist gibt „False“ zurück, wenn es nicht vorhanden ist, und es gibt „True“ zurück, wenn es nicht vorhanden ist.

>>> (str1)

'3'

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

'a'


cmp (str1, str2) Für den Vergleich zweier Zeichenfolgen

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

-1


>>>

>>> cmp(str1,str2)

1

>>> Zu diesem Zeitpunkt sind die beiden Werte gleich und 0 wird beim Vergleich zurückgegeben.
>>> cmp(str1,str2) 🎜>

Abschnitt 3 Tupel ()

Tupel sind Listen sehr ähnlich, mit der Ausnahme, dass Tupel und Zeichenfolgen dies nicht können. Die Änderung besteht darin, dass Sie das Tupel nicht ändern können.


– Tupel werden durch durch Kommas getrennte Elemente in Klammern definiert.


– Tupel werden normalerweise verwendet, wenn eine Anweisung oder benutzerdefinierte Funktion sicher eine Reihe von Werten annehmen kann, d. h. der Wert des verwendeten Tupels ändert sich nicht.


>>> str2='12345'

>>> id(str2)

>>> str2='123456666 '
>>> id(str2)


139702043552576


Jetzt starten wir die Tupeloperation


Zuerst We Wenn die Länge unterschiedlich ist, können wir uns die in Scheiben geschnittenen Namen ansehen. Daher ist es für uns schwieriger, Elemente daraus zu übernehmen.

>>> "
>>> userinfo[:4]
'milo'
>>> userinfo1="zou 25 famale"
>>> userinfo1[:4 ]
'zou '

>>> t=("milo",30,"male") Wenn wir hier die Tupeldefinition verwenden, ist es viel bequemer, den Wert

zu erhalten >>> t[0]
'milo'

>>> t[1]

30
>>> t[2]

🎜>

'männlich'


Erstellen Sie ein Tupel
– Ein leeres Tupel besteht aus einem Paar leerer Klammern
a. Zum Beispiel myempty = ()
– Enthält ein einzelnes Element Tupel der Gruppe
a.singleton = (2,)
——Allgemeines Tupel
a.zoo = ('wolf','elephant','penguin')

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

>>> t=() Definiere ein leeres Tupel
>> > t1=(2,) Definieren Sie ein Tupel mit nur einem Element, das Komma darf nicht fehlen
>>> type(t)
>>> ; Typ(t1)



Tupeloperation


- Tupel und String Der Typ ist auch ein Sequenztyp und kann durch Indizierung und Slicing betrieben werden


- Tupelwerte sind ebenfalls unveränderlich


>>> )

>>> t
('milo', 30, 'männlich')
>>> t[1]
30
>>> ; t[1]=31 Hier haben wir einen Fehler beim Ändern des Alters der Ansicht
Traceback (letzter Aufruf zuletzt) ​​gefunden:
File "", Zeile 1, in
TypeError: 'tuple' object unterstützt keine Artikelzuweisung t


('milo', 30, 'männlich')


>>> ,Geschlecht=t

>>> Name

'milo'
>>> Alter
30
>>>


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

> 2,3) In Python können beide Methoden Tupel definieren, aber wir versuchen, die zweite Methode


Abschnitt 4 Sequenz-Tupel

zu verwenden

Liste[]

1) Liste ist eine Datenstruktur, die eine Reihe geordneter Elemente verarbeitet, d. h. Sie können eine Reihenfolge von Elementen in einer Liste speichern.

2) Eine Liste ist ein variabler Datentyp

3) Die Zusammensetzung einer Liste: Verwenden Sie [], um eine Liste darzustellen, die mehrere durch getrennte Zahlen enthält Kommas oder Zeichenfolge.

——List1=['Simon','David','Clotho','Zhang San']

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

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

> >> listmilo=[] Definition der leeren Liste
>>> type(listmilo)

>>> Definition der allgemeinen Liste
>>> t=('milo',30,'male')
>>> >> listmilo[0]
'milo'
>>> listmilo[0:2] Wert aus Liste abrufen
['milo', 30]
>> > t[0:2]


('milo', 30)


Die Unterschiede sind unten

>>> ; =('abc')
>>> l3=['abc']

>>> Hier können wir sehen, dass es sich um eine Liste

handelt >>> type(t3)




Listenoperation


——Wert


a .Slicing und Indizierung


b.list[]


——Fügen Sie


a.list.append()

——Löschen

a.del(list[])

b.list.remove(list[])

— – Ändern Sie

a.list[]=x

– – Suchen Sie

a.var in der Liste

>>> listmilo[0] Hier stellen wir fest, dass die Liste den Wert des gespeicherten Elements
'milo' ändern kann
>>>
>>> listmilo[0]
'zou'

Hier stellen wir vor, wie man ein Element zur Liste hinzufügt

> > > listmilo
['milo', 30, 'männlich']
>>> listmilo.append("123444555")
>>> 🎜>
['milo', 30, 'male', '123444555'] Zu diesem Zeitpunkt haben wir festgestellt, dass der listmilo-Liste ein viertes Element hinzugefügt wurde


>>> ; listmilo.remove ('123444555') Einen Wert aus der Liste löschen

>>> listmilo

['milo', 30, 'männlich']


> >> del(listmilo[1]) Wir können del auch verwenden, um Werte in der Liste über den Index der Liste zu löschen

>>> , 'männlich']


Sie müssen lernen, mithilfe der Hilfe die Verwendung einiger Syntaxen abzufragen. Beispielsweise müssen wir die internen Löschvorgänge der Liste anzeigen

>>> help(list.remove) 


Hilfe zu method_descriptor:

remove(...)
L.remove(value ) – erstes Vorkommen des Werts entfernen
Löst ValueError aus, wenn der Wert nicht vorhanden ist 🎜>
Schnellstart mit Objekten und Klassen


1) Objekte und Klassen, Listen besser verstehen .

2) Objekt = Attribut + Methode

3) Liste ist ein Beispiel für die Verwendung von Objekten und Klassen.

– Wenn Sie die Variable i verwenden und ihr einen Wert zuweisen, z. B. die Zuweisung einer Ganzzahl 5, können Sie davon ausgehen, dass Sie ein Objekt (eine Instanz) i der Klasse (Typ) int erstellt haben.

——help(int)

4) Klassen haben auch Methoden, bei denen es sich um Funktionen handelt, die nur für die Klasse definiert sind.

– Nur Objekte dieser Klasse können diese Funktionen nutzen.

– Beispiel:

a.Python stellt die Append-Methode für die Listenklasse bereit, mit der Sie ein Element am Ende der Liste hinzufügen können.

b.mylist.append('an item') fügt der Liste mylist eine Zeichenfolge hinzu. Beachten Sie die Verwendung der Punktnotation zur Verwendung von Objektmethoden.

5) Klassen haben auch Variablen, Variablen, die nur für Klassen definiert sind.

– Diese Variablen/Namen können nur in Objekten dieser Klasse verwendet werden.

– Wird durch Punkte verwendet, z. B. mylist.field.


Abschnitt 5 Wörterbuch {}

1) Wörterbuch ist der einzige Zuordnungstyp (Hash-Tabelle) in Python

2) Wörterbuchobjekte sind veränderbar, aber die Schlüssel des Wörterbuchs müssen unveränderliche Objekte verwenden, und in einem Wörterbuch können verschiedene Arten von Schlüsselwerten verwendet werden.

3) key() oder Values() gibt eine Schlüsselliste oder eine Werteliste zurück

4) items() gibt ein Tupel zurück, das Schlüssel-Wert-Paare enthält.


Wörterbuch erstellen:


- {}


- Factory-Methode dict() verwenden


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

– Integrierte Methode: fromkeys(), die Elemente in der Wörterbuch haben den gleichen Wert, der Standardwert ist None

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


>>> dic={0:0,1:1,2:2} Hier definieren wir ein Wörterbuch {key:value,key:value,key:value}

>>> ; dic [0]

0
>>> dic[1]

1

>>> dic[2]
2


>>> dic1={'name':'milo','age':25,'gender':'male'} Es wird sinnvoller sein, es so zu definieren


> >> dic1['gender']
'männlich'

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

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


Als nächstes schauen wir uns ein weiteres Beispiel an:

> ;> a=1 Hier definieren wir zunächst zwei Variablen

>> b=2



>>> ':'bbb'} Wenn a nicht definiert ist, wird hier ein Fehler angezeigt


>>> dic3[1]

'aaa'



>>> dic3[2] Hier sehen wir endlich den Unterschied. Tatsächlich verwendet er im Wörterbuch nicht den vor b definierten Wert

Traceback (letzter Aufruf zuletzt):

Datei "", Zeile 1, in

KeyError: 2
>>> dic3['b']
'bbb'
>>> 'Geschlecht': 'männlich', 'Alter': 25, 'Name': 'milo'}
>>> für k in dic1: Hier können wir sehen, wie praktisch es ist, ein Wörterbuch zu verwenden
. .. drucken k
...
'männlich'
25
'milo'





Aktualisiert und gelöscht:


– Greifen Sie direkt über Schlüsselwerte auf Aktualisierungen zu; die integrierte Methode uodate() kann den Inhalt des gesamten Wörterbuchs in ein anderes Wörterbuch kopieren.

- del dict1['a'] löscht das Element mit dem Schlüsselwert a im Wörterbuch

a dict1.pop('a') löscht und gibt zurück die Schlüsselelemente von 'a'

b dict1.clear() löscht alle Elemente des Wörterbuchs

c. del dict1 löscht das gesamte Wörterbuch


>>> l

[1, 2, 3, 4, 5]

>>> l[5]=7
Traceback (die meisten letzter Aufruf zuletzt):

Datei "", Zeile 1, in

IndexError: Listenzuordnungsindex außerhalb des gültigen Bereichs
>>> dic1

{'gender': 'männlich', ' age': 25, 'name': 'milo'}

>>> dic1['tel']='123454565' Hier sehen wir, dass wir bei Verwendung eines Wörterbuchs einen Wert ohne Fehler hinzufügen können
>> ;> dic1
{'gender': 'male', 'age': 25, 'tel': '123454565', 'name': 'milo'}


Wir sehen, dass es nicht am Ende hinzugefügt wird, da es nicht im Wörterbuch selbst festgelegt ist. Die Unordnung des Wörterbuchs und der Wert des Hash-Typs können die Elemente im Wörterbuch direkt über den Schlüssel des Wörterbuchs bedienen


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


{'gender': 'männlich', ' Alter': 25, 'Tel': '888888888', 'Name': 'milo'}



>>> Alter‘) Pop-Schlüssel Der Wert, der „Alter“ entspricht, es gibt keinen Schlüsselwert für Alter im Wörterbuch

25

>>> dic1
{'gender': 'männlich ', 'tel': ' 888888888', 'name': 'milo'}

>>> dic1.clear() Löschen Sie das Wörterbuch

>>>
>>> ; del(dic1) Löschen Sie das Wörterbuch direkt

>>> dic1

Traceback (letzter Aufruf zuletzt):

Datei "", Zeile 1, in

NameError: Name 'dic1' ist nicht definiert





Wörterbuchbezogene integrierte Funktionen:


- type(), str(),cmp()(cmp Wird selten für Wörterbuchvergleiche verwendet und vergleicht die Größe, den Schlüssel und den Wert des Wörterbuchs in der richtigen Reihenfolge).

Factory-Funktion dict():


– Zum Beispiel: dict(zip('x','y'),(1,2)) oder dict( x =1,y=2)


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

– Die Verwendung eines Wörterbuchs zum Generieren eines Wörterbuchs ist langsamer als die Verwendung von Kopieren. Daher wird in diesem Fall empfohlen, copy() zu verwenden.


1) len(), hash() (wird verwendet, um zu bestimmen, ob ein Objekt ein Wörterbuchschlüssel sein kann, Nicht-Hash-Typen melden TypeError).

2) dict.clear(): Alle Elemente im Wörterbuch löschen.

3) dict.fromkeys(seq, val=None): Erstellen Sie ein Wörterbuch mit den Elementen in seq als Schlüsseln und geben Sie es zurück, und val ist der angegebene Standardwert.

4) dict.get(key, default=None): Gibt den Wert des Schlüssels zurück. Wenn der Schlüssel nicht existiert, wird der standardmäßig angegebene Wert zurückgegeben.

5) dict.has_key(key): Bestimmen Sie, ob der Schlüssel im Wörterbuch vorhanden ist. Es wird empfohlen, stattdessen in und nicht in zu verwenden.

6) dict .items(): Gibt eine Liste von Schlüssel-Wert-Paar-Tupeln zurück.

7) dict.keys(): Gibt die Liste der Schlüssel im Wörterbuch zurück.

8) dict.iter*(): iteritems(), iterkeys(), itervalues() geben Iterationen anstelle von Listen zurück.

9) dict.pop(key[,default]): Wie get(), der Unterschied besteht darin, dass, wenn der Schlüssel vorhanden ist, sein dict[key] gelöscht und zurückgegeben wird, wenn nicht vorhanden, der Standardwert ist nicht angegeben, löst eine KeyError-Ausnahme aus.

10) dict.setdefault(key, default=None): Wie set(), wenn der Schlüssel vorhanden ist, wird sein Wert zurückgegeben. Wenn der Schlüssel nicht vorhanden ist, ist dict[key]=default.

11) dict.update(dict2): Fügen Sie die Schlüssel-Wert-Paare in dict2 zum Wörterbuch-Dikt hinzu. Bei wiederholten Überschreibungen werden Einträge hinzugefügt, die im ursprünglichen Wörterbuch nicht vorhanden sind.

12) dict. Werte(): Gibt eine Liste aller Werte im Wörterbuch zurück.


>>> dict.get(3) ') Wenn es nicht im Wörterbuch vorhanden ist, gibt die Definition den Fehler

'error'

Wir können mit anderen Beispielen üben. Wenn wir es nicht verstehen, können wir die Hilfefunktion nutzen.


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

>>> ()
['a', 1, 'b', 4]

>>> dic1.values()

[123, 111, 456, 444]



Das Obige ist der Inhalt der Python-Datentypen in Kapitel 2. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:elegante PythonNächster Artikel:elegante Python