Python-datatyper

I denna handledning lär du dig om olika datatyper som du kan använda i Python.

Datatyper i Python

Varje värde i Python har en datatyp. Eftersom allt är ett objekt i Python-programmering är datatyper faktiskt klasser och variabler är förekomst (objekt) av dessa klasser.

Det finns olika datatyper i Python. Några av de viktiga typerna listas nedan.

Pythonsiffror

Heltals, flytande nummer och komplexa nummer faller under kategorin Python-nummer. De definieras som int, floatoch complexklasser i Python.

Vi kan använda type()funktionen för att veta vilken klass en variabel eller ett värde tillhör. På samma sätt används isinstance()funktionen för att kontrollera om ett objekt tillhör en viss klass.

 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)) 

Produktion

5 är av typ 2.0 är av typ (1 + 2j) är komplext antal? Sann

Heltals kan ha vilken längd som helst, det är bara begränsat av tillgängligt minne.

Ett flytande tal är exakt upp till 15 decimaler. Heltals- och flytpunkter separeras med decimaler. 1 är ett heltal, 1.0 är ett flytpunkt.

Komplexa siffror skrivs i form, x + yjdär x är den verkliga delen och y är den imaginära delen. Här är några exempel.

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

Lägg märke till att floatvariabeln b blev trunkerad.

Python List

Listan är en ordnad sekvens av artiklar. Det är en av de mest använda datatyperna i Python och är mycket flexibel. Alla objekt i en lista behöver inte vara av samma typ.

Att förklara en lista är ganska enkelt. Objekt åtskilda av kommatecken finns inom parentes ( ).

 a = (1, 2.2, 'python') 

Vi kan använda skivoperatören för ( )att extrahera ett objekt eller ett antal objekt från en lista. Indexet börjar från 0 i 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:)) 

Produktion

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

Listor kan ändras, vilket betyder att värdet på element i en lista kan ändras.

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

Produktion

 (1, 2, 4) 

Python Tuple

Tuple är en ordnad sekvens av artiklar som en lista. Den enda skillnaden är att tuplar är oföränderliga. Tuples en gång skapade kan inte ändras.

Tuples används för att skydda data och är vanligtvis snabbare än listor eftersom de inte kan förändras dynamiskt.

Det definieras inom parentes ()där objekt separeras med kommatecken.

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

Vi kan använda skivoperatören för ()att extrahera objekt men vi kan inte ändra dess värde.

 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 

Produktion

 t (1) = program t (0: 3) = (5, 'program', (1 + 3j)) Spårning (senaste samtalet senast): Fil "test.py", rad 11, i t (0) = 10 TypeError: 'tuple' -objekt stöder inte objekttilldelning 

Python Strings

Sträng är sekvensen av Unicode-tecken. Vi kan använda enkla citat eller dubbla citat för att representera strängar. Strängar med flera rader kan betecknas med trippel citat, '''eller """.

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

Produktion

 Detta är en sträng En sträng med flera linjer 

Precis som en lista och tupel kan skivoperatören ( )användas med strängar. Strängar är dock oföränderliga.

 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' 

Produktion

 s(4) = o s(6:11) = world Traceback (most recent call last): File "", line 11, in TypeError: 'str' object does not support item assignment 

Python Set

Set is an unordered collection of unique items. Set is defined by values separated by comma inside braces ( ). Items in a set are not ordered.

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

Output

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

We can perform set operations like union, intersection on two sets. Sets have unique values. They eliminate duplicates.

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

Output

 (1, 2, 3) 

Since, set are unordered collection, indexing has no meaning. Hence, the slicing operator () does not work.

 >>> 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 Dictionary

Dictionary is an unordered collection of key-value pairs.

It is generally used when we have a huge amount of data. Dictionaries are optimized for retrieving data. We must know the key to retrieve the value.

I Python definieras ordböcker inom hängslen ()där varje objekt är ett par i formen key:value. Nyckel och värde kan vara av vilken typ som helst.

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

Vi använder nyckeln för att hämta respektive värde. Men inte tvärtom.

 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)); 

Produktion

 d (1) = värde d ('tangent') = 2 Spårning (senaste samtal senast): Fil "", rad 9, i KeyError: 2 

Konvertering mellan datatyper

Vi kan konvertera mellan olika datatyper genom att använda olika typ konverteringsfunktioner som int(), float(), str(), etc.

 >>> float(5) 5.0 

Omvandling från float till int avkortar värdet (gör det närmare noll).

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

Konvertering till och från sträng måste innehålla kompatibla värden.

 >>> 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' 

Vi kan till och med konvertera en sekvens till en annan.

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

För att konvertera till ordlistan måste varje element vara ett par:

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

Intressanta artiklar...