Till skillnad från C har Python inbyggda typer för:
- strängar
- listor
- konstanta listor (som ej kan modifieras)
- hashtabeller (kallade "dictionaries")
Alla är självfallet "ärvbara" och har stöd för det man behöver. Du provar lite strängteori:
>>> s = "mintglass sMaKaR anus"
>>> s[0]
'm'
>>> s[2:]
'ntglass sMaKaR anus'
>>> s.upper()
'MINTGLASS SMAKAR ANUS'
>>> s.upper()+"!!!"
'MINTGLASS SMAKAR ANUS!!!'
>>> s[-8:]
'KaR anus'
>>> s[:-5]+"..."
'mintglass sMaKaR...'
>>> s*2
'mintglass sMaKaR anusmintglass sMaKaR anus'
>>> "konstant e icke heller fel"[11:15]
'icke'
Som du räknat ut så går det att addera lite hur som helst och ljuvheten är stor. Strängar kan
skrivas med antingen ' eller ", det spelar ingen roll. Indexering av en sträng sker med:
- [index] - ger ett specifikt tecken.
- [startindex:ett_efter_sista_index] - ger en substräng. Om ett av indexen utelämnas så tas hela strängen "åt det hållet".
Negativa index refererar självklart till offsets från höger. Och sist men icke minst: även konstanta strängar är objekt! :)
I framtida lektion ska jag visa att sprintf även är inbyggd i strängar, och riktigt enkelt att använda. Och sist men inte minst så finns stöd för att dela upp och slå ihop strängar som är mycket kraftfullt.
Listor är minst lika ljuva. Du testar:
>>> l = ["a", "b", "alex", "huggesson", "z", "exempel"]
>>> l
['a', 'b', 'alex', 'huggesson', 'z', 'exempel']
>>> l[0]
'a'
>>> l[-1]
'example'
>>> l[2:4]
['alex', 'huggesson']
>>> l[1:-1]
['b', 'alex', 'huggesson', 'z']
>>> l.append("ny")
>>> l
['a', 'b', 'alex', 'huggesson', 'z', 'exempel', 'ny']
>>> l.extend(["tvenne", "element"])
>>> l
['a', 'b', 'alex', 'huggesson', 'z', 'exempel', 'ny', 'tvenne', 'element']
Det finns massor av bra sätt att söka i en sträng eller lista. Mer om detta senare.
Hur ofta vill man inte returnera flera värden från en funktion? Typ jämt! I C får man skicka pekare, i Python returnerar man bara på. Såhär kan en tilldelning se ut:
>>> x, y, z = 1, 2, 3
Eller en funktion som returnerar:
>>> def f():
return 1, 2, 3
>>> x, y, z = f()
Nästa lektion handlar om det ljuvaste av allt: något som Mark Pilgrim kallar "The Power of Introspection". Mmmm...
Inga kommentarer:
Skicka en kommentar