[Python] Weg zur Serpent (3) Python-Klasse

Dies ist eine Ausbildung zum Datenwissenschaftler mit Python. Derjenige, der den Typ steuert, führt die Hauptklasse von Python aus, indem er alles steuert.

** PREV ** → [Python] Weg zur Schlange (2) Grundlagen von Python ** NÄCHSTER ** → [Python] Weg zur Schlange (4) Twumping Numpy

Hauptklassen in Python

Klasse Erläuterung Einstufung Instanzbeispiel
object Objekttyp Objekt object()
bool Logischer Typ Logischer Wert True, False
int Ganzzahliger Typ Numerischer Wert 26, 0b11010, 0o32, 0x1a
float Gleitkomma-Typ Numerischer Wert 3.1415, 1.5e-3, 1/2
complex Komplexer Nummerntyp Numerischer Wert 1j, 1.1+2.3j
tuple Taple-Typ Reihenfolge (), (1,), (True,False)
list Listentyp Reihenfolge [],[1], [True,False]
str Zeichenfolgentyp Reihenfolge 'man',"man",'Mann',"Mann"
bytes Byte-String-Typ Reihenfolge b'man', b'¥xe4¥xba¥xba'
bytearray Byte-Array-Typ Reihenfolge bytearray(b'man')
range Bereichstyp Iterator range(1,10,2)
dict Wörterbuchtyp Kartierung {}, {'y':2014,'m':12,'d':25}
set Kollektiver Typ einstellen {1,3,5,7,9}
function Funktionsart Funktion lambda x:x**2

So überprüfen Sie die Klasse

Verwenden Sie "type ()".

In [1]: type('man')
Out[1]: str

Alternativ können Sie "isinstance ()" verwenden.

In [2]: isinstance('man', str)
Out[2]: True

In [3]: isinstance('man', bytes)
Out[3]: False

"isinstance (x, X)" ist True, auch wenn "type (x)" eine Unterklasse von "X" ist. Das heißt, alle Klassen sind Unterklassen der Objektklasse.

In [4]: isinstance('man', object)
Out[4]: True

In [5]: issubclass(str, object)
Out[5]: True

Klassenumwandlung (Besetzung)

Im Allgemeinen kann es konvertiert werden, indem die Konvertierungsquelle in das erste Argument der Konvertierungszielklasse eingefügt wird.

In [6]: float(1) #int to float
Out[6]: 1.0

In [7]: int(-1.9) #float to int
Out[7]: -1

In [8]: complex(0) #int to complex
Out[8]: 0j

In [9]: list((1, 2, 3)) #tuple to list
Out[9]: [1, 2, 3]

In [10]: tuple([1, 2, 3]) #list to tuple
Out[10]: (1, 2, 3)

In [11]: list(range(5)) #range to list
Out[11]: [0, 1, 2, 3, 4]

In [12]: list('abc') #str to list
Out[12]: ['a', 'b', 'c']

bool Wahr und Falsch der Bool-Klasse (logischer Typ) werden durch "Wahr", "Falsch" dargestellt. Die Operatoren für Negation, logisches Produkt und logische Summe sind "nicht", "und", "oder".

In [13]: not True, True and True, True or False
Out[13]: (False, True, True) 

Alle Objekte können in Bool umgewandelt werden. In Python wird die Konvertierung in implizite logische Typen in verschiedenen Situationen durchgeführt, z. B. bei bedingten Anweisungen.

In [14]: bool(0), bool(0.1), bool(()), bool([]), bool({}), bool({0})
Out[14]: (False, True, False, False, True)

Das logische Produkt und die Summe der Ganzzahlen geben die letzte Ganzzahl in der Auswertungsprozedur zurück. In [16] ist das logische Produkt und die Summe der ganzzahligen Bits.

In [15]: 3 and 6, 3 or 6, 1 and 0 
Out[15]: (6, 3, 0)

In [16]: 3 & 6, 3 | 6
Out[16]: (2, 7)

int, float

Es gibt keine Obergrenze für den Typ int.

In [26]: 10 ** 30
Out[26]: 1000000000000000000000000000000

10/5 wird float, 10 // 5 wird int.

In [27]: 10 / 5, 10 // 5
Out[27]: (2.0, 2)

Ich suche Quotienten und Rest.

In [28]: 10 // 3, 10 % 3 
Out[28]: (3, 1)

list, tuple --list kann Elemente und Unterspalten ändern --tuple kann nicht geändert werden

list Generiere eine Liste

In [29]: a = [10, 20, 30, 40, 50]

Sie können nach Index darauf verweisen. Sie können mit -1 auf das Ende der Liste verweisen.

In [30]: a[0], a[-1]
Out[30]: (10, 50)

Natürlich können Sie es ändern.

In [31]: a[0], a[-1] = 11,51

Sie können eine Funktion namens Slicing für Sequenzen verwenden.

#String-Objekt[Startindex:Index beenden]
In [32]: a[1:4]
Out[32]: [20, 30, 40]

Sie können einen Schritt im dritten Argument des Slice angeben. Wenn Sie dies verwenden, können Sie die angegebene Nummer überspringen und darauf verweisen.

In [33]: a[::2]
Out[33]: [11, 30, 51]

tuple Generiere Tupel

In [33]: a = (10,20,30,40,50)

Sie können auch nach Index auf "Tupel" verweisen. Das () in "Tupel" kann weggelassen werden, es sei denn, es wird falsch interpretiert.

In [34]: a[0], a[-1]
Out[34]: (10, 50)

Die Änderung führt zu einem Fehler.

In [35]: a[0] = 11
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-45-1ffcdc5ca638> in <module>()
----> 1 a[0]=11

TypeError: 'tuple' object does not support item assignment

Kann kombiniert werden.

In [36]: a, b = (1,2),(True,'Japan',(None,'dog'))

In [37]: a + b
Out[37]: (1, 2, True, 'Japan', (None, 'dog'))

Kann nicht hinzugefügt werden.

In [38]: a.append(10)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-52-fb2e87d24477> in <module>()
----> 1 a.append(10)

AttributeError: 'tuple' object has no attribute 'append'

Bedeutung der Existenz von Tupel

Sie könnten denken, dass Sie es nur auf "Liste" beschränkt haben, aber "Tupel" hat die folgenden Bedeutungen.

str, bytes, bytearray str (string) bedeutet immer Unicode. Andererseits sind "Bytes" und "Bytearray" einfache Byte-Strings. Der Unterschied zwischen "Bytes" und "Bytearray" ist der gleiche wie der Unterschied zwischen "Tupel" und "Liste".

Die Referenzmethode der Zeichenfolge entspricht im Wesentlichen der Liste und dem Tupel.

In [53]: a, b = 'ABCDE','FG'

In [54]: a[0],a[-1],a[-2],a[1:4]
Out[54]: ('A', 'E', 'D', 'BCD')

Sie können Zeilenumbrüche mit dreifachem Anführungszeichen einfügen.


In [55]: s = '''
   ....: #include <stdio.h>
   ....: int main(){
   ....:   printf("hello world\n");
   ....:   return 0;
   ....: }
   ....: '''

In [56]: s
Out[56]: '\n #include <stdio.h>\n int main(){\n printf("hello world\n");\n return 0;\n}\n'

dict

In list war index eine Ganzzahl ab 0, aber in dict (Wörterbuchtyp) können Ganzzahl, Zeichenfolge, Tupel usw. als Schlüssel für diesen Index verwendet werden.

In [61]: exts={'py':'Python','rb':'Ruby','pl':'Perl'}

In [62]: for key in exts:
   ....:     value=exts[key]
   ....:     print(key,value)
pl Perl
py Python
rb Ruby

Sie können den Schlüssel und den Wert zusammen mit items () abrufen.

In [63]: for key,value in exts.items():
   ....:     print(key,value)
pl Perl
py Python
rb Ruby

Verwenden Sie in, um zu sehen, ob der Schlüssel im Diktat enthalten ist.

In [64]:  'py' in exts, 'c' in exts
Out[64]: (True, False)

** NÄCHSTER ** → [Python] Weg zur Schlange (4) Twumping Numpy

Recommended Posts

[Python] Weg zur Serpent (3) Python-Klasse
[Python] Straße zu Schlangen (1) Umgebungskonstruktion
[Python] Der Weg zur Schlange (4) Numpy zwicken
[Python] Weg zur Schlange (6) Manipuliere Pandas
[Python] Weg zur Schlange (5) Spiele mit Matplotlib
Ein Weg zum mittleren Python
[Road to Intermediate Python] Definieren Sie die Funktion __getattr__ in der Klasse
[Road to Intermediate Python] Definieren Sie in Ihrer eigenen Klasse
[Road to Intermediate] Grundlegendes zu Python-Eigenschaften
[Road to Intermediate Python] Rufen Sie eine Klasseninstanz wie eine Funktion mit __call__ auf
[Road to Intermediate Python] Verwenden Sie ternäre Operatoren
[Python] Wie man eine Klasse iterierbar macht
Verwendung von __slots__ in der Python-Klasse
[Road to Intermediate Python] Verwenden Sie Lambda-Ausdrücke
Der Weg zum Kompilieren zu Python 3 mit Thrift
[Road to Intermediate Python] Zusammenfassung der Artikelverknüpfungen
Auf Python 2.7.9 aktualisiert
[Python] -Klasse, Instanz
"Kanrika" die Python-Klasse
Über Python, Klasse
Python-Klasse, Instanz
# Python-Grundlagen (Klasse)
"Backport" zu Python 2
Versuchen Sie, das Problem der Python-Klassenvererbung zu lösen
[Road to Intermediate] Python scheint alles Objekte zu sein
Python-Syslog-Wrapper-Klasse
Python-Klasse (Python-Lernnotiz ⑦)
Fallklasse in Python
Änderungen von Python 3.0 zu Python 3.5
Python selbst erstellte Klassensortierung
Grundmethode der [Python] -Klasse
So installieren Sie Python
Einführung in die Python-Sprache
[Python] Klassenvererbung, überschreiben
Einführung in OpenCV (Python) - (2)
Python-Subprozess-Wrapper-Klasse
Beachten Sie, dass Python ein Daemon ist
Einführung von Python 2.7 in CentOS 6.6
Konvertieren / Zurückgeben von Klassenobjekten in das JSON-Format in Python
Der Weg nach Pythonista
Verbinden Sie Python mit MySQL
Der Weg nach Djangoist
YOLO Python-Wrapper-Klasse
Klassennotation in Python
Liste der Python-Ausnahmeklassen
Weg zur LPIC-1-Akquisition
[Road to Intermediate Python] Installieren Sie Pakete in großen Mengen mit pip
Verwendung der Methode __call__ in der Python-Klasse
[Python] Wie man mit Klassenvariablen mit Dekorator und Metaklasse spielt
[Road to Intermediate Python] Verwenden Sie die if-Anweisung in der Listeneinschlussnotation
[Road to Intermediate Python] Aktiviert Vergleichsoperationen mit Originalklassen
Stellen Sie mit Python eine Verbindung zu BigQuery her
[Neueste Version 2020.8] So installieren Sie Python
Python: Klassen- und Instanzvariablen
[Python] Datum in Zeichenfolge konvertieren
Post von Python nach Slack
So installieren Sie Python [Windows]
poste an vim → Python → Slack