Python-gegevenstypen

In deze tutorial leer je over verschillende gegevenstypen die je in Python kunt gebruiken.

Gegevenstypen in Python

Elke waarde in Python heeft een datatype. Omdat alles een object is in Python-programmering, zijn gegevenstypen in feite klassen en zijn variabelen instantie (object) van deze klassen.

Er zijn verschillende gegevenstypen in Python. Enkele van de belangrijke typen worden hieronder vermeld.

Python-nummers

Gehele getallen, getallen met drijvende komma en complexe getallen vallen onder de categorie Python-getallen. Ze worden gedefinieerd als int, floaten complexklassen in Python.

We kunnen de type()functie gebruiken om te weten tot welke klasse een variabele of een waarde behoort. Evenzo wordt de isinstance()functie gebruikt om te controleren of een object tot een bepaalde klasse behoort.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Uitvoer

5 is van het type 2.0 is van het type (1 + 2j) is een complex getal? Klopt

Gehele getallen kunnen elke lengte hebben, deze wordt alleen beperkt door het beschikbare geheugen.

Een drijvende-kommagetal is nauwkeurig tot op 15 decimalen. Geheel getal en drijvende komma's worden gescheiden door decimalen. 1 is een geheel getal, 1,0 is een getal met drijvende komma.

Complexe getallen worden in de vorm `` geschreven x + yj, waarbij x het reële deel is en y het imaginaire deel. Hier zijn enkele voorbeelden.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Merk op dat de floatvariabele b is afgekapt.

Python-lijst

Lijst is een geordende reeks items. Het is een van de meest gebruikte datatypes in Python en is erg flexibel. Alle items in een lijst hoeven niet van hetzelfde type te zijn.

Het declareren van een lijst is vrij eenvoudig. Items die door komma's worden gescheiden, staan ​​tussen haakjes ( ).

 a = (1, 2.2, 'python') 

We kunnen de slicing-operator ( )gebruiken om een ​​item of een reeks items uit een lijst te extraheren. De index begint bij 0 in Python.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Uitvoer

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

Lijsten zijn veranderlijk, wat betekent dat de waarde van elementen van een lijst kan worden gewijzigd.

 a = (1, 2, 3) a(2) = 4 print(a) 

Uitvoer

 (1, 2, 4) 

Python Tuple

Tuple is een geordende reeks items, hetzelfde als een lijst. Het enige verschil is dat tupels onveranderlijk zijn. Eenmaal aangemaakte tuples kunnen niet worden gewijzigd.

Tuples worden gebruikt om gegevens tegen schrijven te beveiligen en zijn meestal sneller dan lijsten omdat ze niet dynamisch kunnen veranderen.

Het wordt tussen haakjes gedefinieerd, ()waarbij items worden gescheiden door komma's.

 t = (5,'program', 1+3j) 

We kunnen de slicing-operator ()gebruiken om items te extraheren, maar we kunnen de waarde ervan niet wijzigen.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Uitvoer

 t (1) = programma t (0: 3) = (5, 'programma', (1 + 3j)) Traceback (meest recente oproep laatste): bestand 'test.py', regel 11, in t (0) = 10 TypeError: 'tuple'-object ondersteunt geen itemtoewijzing 

Python-snaren

String is een reeks Unicode-tekens. We kunnen enkele aanhalingstekens of dubbele aanhalingstekens gebruiken om tekenreeksen weer te geven. Meerregelige tekenreeksen kunnen worden aangeduid met drievoudige aanhalingstekens, '''of """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Uitvoer

 Dit is een string A-string met meerdere regels 

Net als een lijst en tuple, kan de operator voor segmentering ( )worden gebruikt met tekenreeksen. Snaren zijn echter onveranderlijk.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Uitvoer

 s (4) = os (6:11) = world Traceback (meest recente oproep laatste): Bestand "", regel 11, in TypeError: 'str' object ondersteunt geen itemtoewijzing 

Python-set

Set is een ongeordende verzameling unieke items. Set wordt gedefinieerd door waarden gescheiden door komma's tussen accolades ( ). Artikelen in een set worden niet besteld.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Uitvoer

 a = (1, 2, 3, 4, 5) 

We kunnen setbewerkingen uitvoeren zoals unie, kruispunt op twee sets. Sets hebben unieke waarden. Ze elimineren duplicaten.

 a = (1,2,2,3,3,3) print(a) 

Uitvoer

 (1, 2, 3) 

Omdat set ongeordende verzameling is, heeft indexering geen betekenis. Daarom werkt de snijoperator ()niet.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Python-woordenboek

Woordenboek is een ongeordende verzameling sleutel / waarde-paren.

Het wordt meestal gebruikt als we een enorme hoeveelheid gegevens hebben. Woordenboeken zijn geoptimaliseerd voor het ophalen van gegevens. We moeten de sleutel kennen om de waarde op te halen.

In Python worden woordenboeken tussen accolades gedefinieerd, ()waarbij elk item een ​​paar in het formulier is key:value. Sleutel en waarde kunnen van elk type zijn.

 >>> d = (1:'value','key':2) >>> type(d) 

We gebruiken de sleutel om de respectieve waarde op te halen. Maar niet andersom.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Uitvoer

 d (1) = waarde d ('key') = 2 Traceback (meest recente oproep laatste): Bestand "", regel 9, in KeyError: 2 

Conversie tussen gegevenstypen

We kan converteren tussen verschillende soorten data met behulp van verschillende soorten conversie functies zoals int(), float(), str(), etc.

 >>> float(5) 5.0 

Conversie van float naar int zal de waarde afkappen (dichter bij nul brengen).

 >>> int(10.6) 10 >>> int(-10.6) -10 

Conversie van en naar string moet compatibele waarden bevatten.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

We kunnen zelfs de ene reeks naar de andere converteren.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Om naar een woordenboek te converteren, moet elk element een paar zijn:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

Interessante artikelen...