Python - Variabele Types
Variabelen zijn niets anders dan gereserveerde geheugenlocaties om waarden op te slaan. Dit betekent dat wanneer je een variabele aanmaakt, je wat ruimte in het geheugen reserveert.
Op basis van het gegevenstype van een variabele wijst de interpreter geheugen toe en beslist wat er in het gereserveerde geheugen kan worden opgeslagen. Door verschillende gegevenstypen aan variabelen toe te wijzen, kunt u daarom gehele getallen, decimalen of tekens in deze variabelen opslaan.
Waarden toewijzen aan variabelen
Python-variabelen hebben geen expliciete verklaring nodig om geheugenruimte te reserveren. De declaratie gebeurt automatisch wanneer u een waarde aan een variabele toekent. Het gelijkteken (=) wordt gebruikt om waarden aan variabelen toe te kennen.
De operand links van de operator =is de naam van de variabele en de operand rechts van de operator =is de waarde die in de variabele is opgeslagen. Bijvoorbeeld −
Live demo#!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point name = "John" # A string print counter print miles print name
Hier zijn 100, 1000,0 en "John" de waarden die zijn toegewezen aan teller , mijlen , en naam variabelen resp. Dit levert het volgende resultaat op −
100 1000.0 John
Meerdere opdrachten
Met Python kun je een enkele waarde tegelijkertijd aan meerdere variabelen toewijzen. Bijvoorbeeld −
a = b = c = 1
Hier wordt een integer-object gemaakt met de waarde 1, en alle drie de variabelen worden toegewezen aan dezelfde geheugenlocatie. U kunt ook meerdere objecten aan meerdere variabelen toewijzen. Bijvoorbeeld −
a,b,c = 1,2,"john"
Hier worden twee integer-objecten met de waarden 1 en 2 toegewezen aan respectievelijk variabelen a en b, en één stringobject met de waarde "john" wordt toegewezen aan de variabele c.
Standaard gegevenstypen
De gegevens die in het geheugen zijn opgeslagen, kunnen van vele soorten zijn. De leeftijd van een persoon wordt bijvoorbeeld opgeslagen als een numerieke waarde en zijn of haar adres wordt opgeslagen als alfanumerieke tekens. Python heeft verschillende standaard gegevenstypen die worden gebruikt om de mogelijke bewerkingen en de opslagmethode voor elk van hen te definiëren.
Python heeft vijf standaard datatypes −
- Cijfers
- String
- Lijst
- Tupel
- Woordenboek
Python-nummers
Nummergegevenstypen slaan numerieke waarden op. Nummerobjecten worden gemaakt wanneer u er een waarde aan toewijst. Bijvoorbeeld −
var1 = 1 var2 = 10
U kunt de verwijzing naar een nummerobject ook verwijderen met behulp van de del-instructie. De syntaxis van de del-instructie is −
del var1[,var2[,var3[....,varN]]]]
U kunt een enkel object of meerdere objecten verwijderen met behulp van de del-instructie. Bijvoorbeeld −
del var del var_a, var_b
Python ondersteunt vier verschillende numerieke typen −
- int (getekende gehele getallen)
- lang (lange gehele getallen, ze kunnen ook worden weergegeven in octaal en hexadecimaal)
- float (drijvende komma reële waarden)
- complex (complexe getallen)
Voorbeelden
Hier zijn enkele voorbeelden van getallen −
int | lang | zwevend | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21,9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32,3+e18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
-
Python staat je toe om een kleine l met long te gebruiken, maar het is aan te raden alleen een hoofdletter L te gebruiken om verwarring met het cijfer 1 te voorkomen. Python geeft lange integers weer met een hoofdletter L.
-
Een complex getal bestaat uit een geordend paar reële getallen met drijvende komma, aangeduid met x + yj, waarbij x en y de reële getallen zijn en j de denkbeeldige eenheid.
Python-snaren
Strings in Python worden geïdentificeerd als een aaneengesloten reeks tekens die tussen de aanhalingstekens wordt weergegeven. Python staat ofwel paren van enkele of dubbele aanhalingstekens toe. Subsets van tekenreeksen kunnen worden genomen met behulp van de slice-operator ([ ] en [:] ) met indexen die beginnen bij 0 aan het begin van de tekenreeks en werken vanaf -1 aan het einde.
Het plusteken (+) is de tekenreeksaaneenschakeling en het sterretje (*) is de herhalingsoperator. Bijvoorbeeld −
Live demo#!/usr/bin/python str = 'Hello World!' print str # Prints complete string print str[0] # Prints first character of the string print str[2:5] # Prints characters starting from 3rd to 5th print str[2:] # Prints string starting from 3rd character print str * 2 # Prints string two times print str + "TEST" # Prints concatenated string
Dit levert het volgende resultaat op −
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
Python-lijsten
Lijsten zijn de meest veelzijdige van de samengestelde gegevenstypen van Python. Een lijst bevat items gescheiden door komma's en tussen vierkante haken ([]). Tot op zekere hoogte lijken lijsten op arrays in C. Een verschil tussen beide is dat alle items die bij een lijst horen, van een ander gegevenstype kunnen zijn.
De waarden die in een lijst zijn opgeslagen, kunnen worden geopend met behulp van de slice-operator ([ ] en [:]) met indexen die beginnen bij 0 aan het begin van de lijst en werken naar het einde van -1. Het plusteken (+) is de operator voor lijstaaneenschakeling en de asterisk (*) is de herhalingsoperator. Bijvoorbeeld −
#!/usr/bin/python list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # Prints complete list print list[0] # Prints first element of the list print list[1:3] # Prints elements starting from 2nd till 3rd print list[2:] # Prints elements starting from 3rd element print tinylist * 2 # Prints list two times print list + tinylist # Prints concatenated lists
Dit levert het volgende resultaat op −
['abcd', 786, 2.23, 'john', 70.2] abcd [786, 2.23] [2.23, 'john', 70.2] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
Python-tuples
Een tuple is een ander sequentiegegevenstype dat vergelijkbaar is met de lijst. Een tuple bestaat uit een aantal waarden gescheiden door komma's. In tegenstelling tot lijsten staan tuples echter tussen haakjes.
De belangrijkste verschillen tussen lijsten en tuples zijn:Lijsten staan tussen haakjes ( [ ] ) en hun elementen en grootte kunnen worden gewijzigd, terwijl tuples tussen haakjes staan ( ( ) ) en niet kunnen worden bijgewerkt. Tupels kunnen worden gezien als alleen-lezen lijsten. Bijvoorbeeld −
Live demo#!/usr/bin/python tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Prints the complete tuple print tuple[0] # Prints first element of the tuple print tuple[1:3] # Prints elements of the tuple starting from 2nd till 3rd print tuple[2:] # Prints elements of the tuple starting from 3rd element print tinytuple * 2 # Prints the contents of the tuple twice print tuple + tinytuple # Prints concatenated tuples
Dit levert het volgende resultaat op −
('abcd', 786, 2.23, 'john', 70.2) abcd (786, 2.23) (2.23, 'john', 70.2) (123, 'john', 123, 'john') ('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
De volgende code is ongeldig met tuple, omdat we hebben geprobeerd een tuple bij te werken, wat niet is toegestaan. Een vergelijkbaar geval is mogelijk met lijsten −
#!/usr/bin/python tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tuple[2] = 1000 # Invalid syntax with tuple list[2] = 1000 # Valid syntax with list
Python-woordenboek
De woordenboeken van Python zijn een soort hashtabeltype. Ze werken als associatieve arrays of hashes die in Perl worden gevonden en bestaan uit sleutel-waardeparen. Een woordenboeksleutel kan bijna elk Python-type zijn, maar zijn meestal getallen of tekenreeksen. Waarden daarentegen kunnen elk willekeurig Python-object zijn.
Woordenboeken worden omsloten door accolades ({ }) en waarden kunnen worden toegewezen en geopend met vierkante accolades ([]). Bijvoorbeeld −
Live demo#!/usr/bin/python dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'john','code':6734, 'dept': 'sales'} print dict['one'] # Prints value for 'one' key print dict[2] # Prints value for 2 key print tinydict # Prints complete dictionary print tinydict.keys() # Prints all the keys print tinydict.values() # Prints all the values
Dit levert het volgende resultaat op −
This is one This is two {'dept': 'sales', 'code': 6734, 'name': 'john'} ['dept', 'code', 'name'] ['sales', 6734, 'john']
Woordenboeken hebben geen concept van orde tussen elementen. Het is onjuist om te zeggen dat de elementen "niet in orde" zijn; ze zijn gewoon ongeordend.
Conversie van gegevenstype
Soms moet u mogelijk conversies uitvoeren tussen de ingebouwde typen. Om tussen typen te converteren, gebruik je gewoon de typenaam als een functie.
Er zijn verschillende ingebouwde functies om conversie van het ene gegevenstype naar het andere uit te voeren. Deze functies retourneren een nieuw object dat de geconverteerde waarde vertegenwoordigt.
Sr.nr. | Functie en beschrijving |
---|---|
1 | int(x [,base]) Converteert x naar een geheel getal. base specificeert de base als x een string is. |
2 | lang(x [,basis] ) Converteert x naar een lang geheel getal. base specificeert de base als x een string is. |
3 | float(x) Converteert x naar een getal met drijvende komma. |
4 | complex(echt [,afbeelding]) Creëert een complex getal. |
5 | str(x) Converteert object x naar een tekenreeksrepresentatie. |
6 | repr(x) Converteert object x naar een uitdrukkingsreeks. |
7 | eval(str) Evalueert een string en retourneert een object. |
8 | tupel(s) Converteert s naar een tuple. |
9 | lijst(en) Converteert s naar een lijst. |
10 | set(s) Converteert s naar een set. |
11 | dict(d) Maakt een woordenboek. d moet een reeks (sleutel,waarde) tuples zijn. |
12 | bevrorenset(s) Converteert s naar een bevroren set. |
13 | chr(x) Converteert een geheel getal naar een teken. |
14 | unichr(x) Converteert een geheel getal naar een Unicode-teken. |
15 | ord(x) Converteert een enkel teken naar zijn gehele waarde. |
16 | hex(x) Converteert een geheel getal naar een hexadecimale tekenreeks. |
17 | okt(x) Converteert een geheel getal naar een octale tekenreeks. |
Python
- C#-variabelen en (primitieve) gegevenstypen
- C++ variabelen, literalen en constanten
- C Variabelen, constanten en literalen
- C opslagklasse
- Python-variabelen, constanten en literalen
- Python-gegevenstypen
- Python-operators
- Python globale, lokale en niet-lokale variabelen
- Algemeen Python-sleutelwoord
- Python-woordenboek
- C++ variabelen en typen:int, double, char, string, bool