De string is een van de meest populaire gegevenstypen in python. We kunnen het gegevenstype string gebruiken om tekstgegevens op te slaan. In python wordt elk teken onder enkele of dubbele aanhalingstekens als tekenreeksen beschouwd. Deze tekens kunnen elk van de Unicode-tekens zijn die in python worden ondersteund. In deze zelfstudie leren we bijna alles over het gegevenstype string in python.
Om deze tutorial te volgen, is het aan te raden om de nieuwste python-versie op je systeem te hebben geïnstalleerd. Als je een oudere versie van python op je systeem hebt geïnstalleerd, kun je onze gids volgen over het updaten van python op Linux.
Strings maken in Python
Om een string in python te maken, moeten we de array van de karakters onder aanhalingstekens plaatsen. Python behandelt zowel de enkele als de dubbele aanhalingstekens als hetzelfde, dus we kunnen ze allemaal gebruiken bij het maken van een string. Bekijk de onderstaande voorbeelden waarin we een string maken, deze opslaan in variabelen en ze vervolgens afdrukken.
# een string maken
groet = "Hallo wereld"
# de tekenreeks afdrukken
afdrukken (groet)
Als u de bovenstaande code uitvoert, krijgt u de uitvoer Hallo Wereld.
In deze code hebben we een string gemaakt Hallo Werelden opgeslagen in een variabele met de naam groet. Vervolgens gebruiken we de Python-afdrukfunctie om de string weer te geven die is opgeslagen in de variabele. U krijgt de volgende uitvoer bij het uitvoeren van de code:. We kunnen ook een string met meerdere regels maken met behulp van drievoudige aanhalingstekens in de onderstaande voorbeeldcode:.
var = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
afdrukken (var)
Hier is de uitvoer.
In Python zijn strings arrays van bytes die Unicode-tekens vertegenwoordigen. Maar het heeft geen ingebouwd gegevenstype voor enkele tekens zoals in C of C++. Elke tekenreeks met een lengte van één wordt als een teken beschouwd.
Lengte van snaren
In veel situaties moeten we mogelijk een stringlengte berekenen. Er is een ingebouwde functie die de lengte van een string kan berekenen. De functie die we gaan gebruiken is de len() functie.
Om een praktisch voorbeeld te zien van: de len() functie, voer de volgende code uit in uw Python IDE:.
var = "Dit is een tekenreeks"
print("De lengte van de string is :", len(var))
Uitgang:
We kunnen ook de python for-lus gebruiken, die ik in deze tutorial heb besproken, om de lengte van een string te berekenen.
Voorbeeld:
var = "Dit is een tekenreeks"
aantal = 0
voor ik in var:
tel = tel + 1
print("De lengte van de string is :", count)
Uitgang:
String aaneenschakeling
String aaneenschakeling is het samenvoegen of samenvoegen van twee strings. We kunnen eenvoudig twee strings samenvoegen door de + operator te gebruiken. Laten we een voorbeeld bekijken van het samenvoegen van twee strings in python.
# twee strings maken
string1 = "Hallo"
string2 = "Wereld"
# samenvoegen van de twee strings
begroeting = tekenreeks1 + tekenreeks2
afdrukken (groet)
In de bovenstaande code hebben we twee tekenreeksen gemaakt, namelijk "Hallo" en "Wereld", en deze opslaan in twee variabelen met de naam tekenreeks1 en string2. Vervolgens gebruikten we de +-operator om de twee strings samen te voegen en op te slaan in een variabele met de naam begroeting en deze weer te geven met de afdrukken() functie.
Uitgang:
Herhaling van string
We kunnen een string meerdere keren herhalen in python met behulp van de * operator. Om bijvoorbeeld de tekenreeks "Fosslinux" twee keer af te drukken, moeten we de volgende code schrijven:.
print("Fosslinux"*2)
Uitgang:
Tekenreeksen opmaken
Het is moeiteloos om tekenreeksen te formatteren in Python. Er zijn drie manieren:
1. Oude opmaakstijl
De oude stijl voor het opmaken van tekenreeksen wordt gedaan met behulp van de %-operator. We moeten speciale symbolen gebruiken, zoals '%s', '%d', '%f', '%.v”. met de string en specificeer vervolgens de tupel met gegevens die we op die plaats willen opmaken. Laten we eens kijken wat de gegevens zijn die door de bovenstaande symbolen worden geaccepteerd.
- %s: Het accepteert tekenreeksen of andere gegevens met tekenreeksrepresentatie zoals getallen.
- %d:Het wordt gebruikt om de gehele getallen in een string te geven.
- %f:Het wordt gebruikt voor getallen met drijvende komma.
- %.v: Het wordt gebruikt voor drijvende-kommagetallen met vaste precisie.
Zie bijvoorbeeld de onderstaande code:. U kunt de code kopiëren en uitvoeren in uw favoriete python-IDE.
string1 = "Het is een opgemaakte string met integer %d" %(1)
string2 = "Het is een geformatteerde string met string %s" %("Fosslinux")
string3 = "Het is een geformatteerde tekenreeks met zwevende gegevens %f" %(1.01)
print(string1)
print(string2)
print(string3)
Uitgang:
Zoals we in de uitvoer kunnen zien, hebben we de tekenreeksen opgemaakt met de gegevens voor integer, float en string. Deze methode voor het opmaken van tekenreeksen is de oudste manier, maar wordt tegenwoordig minder gebruikt.
2. De methode format() gebruiken
Dit is een nieuwe tekenreeksopmaaktechniek die is geïntroduceerd in Python 3. De format()-functies nemen de gegevens als argument en vervangen ze in de tekenreeks waar de tijdelijke aanduiding zijn aanwezig.
Voorbeeld:
string1 = "Het is een opgemaakte string met integer ".formaat(1)
string2 = "Het is een opgemaakte string met string ".formaat ("Fosslinux")
string3 = "Het is een geformatteerde tekenreeks met zwevende gegevens ".formaat(1.01)
print(string1)
print(string2)
print(string3)
print(" is een geweldige website voor het leren van en ".format("FossLinux", "Linux", "Python"))
We krijgen de geformatteerde tekenreeks als uitvoer bij het uitvoeren van de bovenstaande code, zoals weergegeven in de onderstaande afbeelding:.
3. f-snaren
De nieuwste tekenreeksopmaaktechniek is string-interpolatie of f-strings, geïntroduceerd in python's versie 3.6. We kunnen een variabelenaam rechtstreeks in een f-string specificeren, en de Python-interpreter zal de variabelenaam vervangen door de gegevenswaarde die ermee overeenkomt. De f-strings beginnen met de letter f, en we kunnen de gegevens direct in hun corresponderende posities injecteren. Deze techniek van tekenreeksopmaak is de laatste dagen behoorlijk populair geworden. Om een demo van zijn werking te zien, kopieert u de onderstaande code en voert u deze uit in uw python IDE.
string1 = f"Het is een opgemaakte string met een geheel getal 1"
string2 = f"Het is een geformatteerde string met string 'fosslinux'"
string3 = f"Het is een geformatteerde string met float-gegevens 0.01"
print(string1)
print(string2)
print(string3)
a = "Fosslinux"
b = "Linux"
c = "Python"
print(f"a is een geweldige website om b en c") te leren
We hebben de tekenreeksinterpolatiemethode gebruikt voor het opmaken van tekenreeksen in de bovenstaande code. De tekenreeksen die met het f-teken beginnen, zijn f-tekenreeksen. De f-string heeft ons werk eenvoudig gemaakt, en we kunnen de variabelen direct in de strings schrijven door variabelen onder de tijdelijke aanduiding. Bij het uitvoeren van de bovenstaande code krijgen we de volgende uitvoer:.
Controleer op een subtekenreeks
Vaak willen we misschien het bestaan van een karakter of een substring in een string controleren. Dit kan met behulp van de in en niet in Python-sleutelwoorden. Bijvoorbeeld, om te controleren of Hallo is aanwezig in de string Hallo Wereld, we moeten de volgende code uitvoeren:.
x = "hallo" in "hallo wereld"
afdrukken(x)
Bij het uitvoeren van de bovenstaande code in een python-IDE, krijgen we de booleaanse waarde waar als uitvoer, wat betekent dat de substring "hello" aanwezig is in de "hello world".
Laat nog een demonstratie zien om te zien hoe het op een betere manier werkt.
string = "FossLinux is een geweldige website om Linux en Python te leren"
print("Fosslinux" in string)
print("FossLinux" in string)
print("Foss" in string)
print("Pyt" in string)
print("hon" in string)
print("Python" niet in string)
Uitgang:
In de bovenstaande code hebben we zowel de in en de niet in trefwoorden om een subtekenreeks in de bovenliggende tekenreeks te controleren.
Tekenreeks als een reeks tekens
De python-string is een reeks tekens; ze lijken bijna op andere python-geordende reeksen zoals lijst, tuple, enz. We kunnen individuele karakters op vele manieren uit de strings halen, zoals ze uitpakken met behulp van variabelen en indexering die ik in het volgende onderwerp zal bespreken. We kunnen de strings uitpakken door ze toe te wijzen aan variabelen. Om te zien hoe het werkt, kopieer en voer je de volgende code uit in je favoriete python IDE.
taal = 'Fosslinux'
# de string uitpakken in variabelen
a,b,c,d,e,f,g,h,i = taal
afdrukken (een)
afdrukken(b)
afdrukken (c)
print(d)
print(e)
afdrukken (f)
afdrukken (g)
afdrukken (h)
afdrukken (ik)
Uitgang:
Strings indexeren
Stringindexering is een fundamentele en populaire techniek waarmee we toegang krijgen tot het karakter van een string en heel gemakkelijk veel stringbewerkingen kunnen uitvoeren. Bij het programmeren begint het tellen met nul (0), dus om het eerste teken van een tekenreeks te krijgen, moeten we nul in de index opgeven. Om een praktisch voorbeeld van indexering te zien, kopieer en voer je de volgende code uit in een Python IDE:.
string = "Fosslinux"
print(string[0])
print(string[1])
print(string[2])
print(string[3])
In de bovenstaande code maken we eerst een string met de naam Fosslinux, en dan gebruiken we de python-tekenreeksindexering om de eerste, tweede, derde en vierde tekens van de tekenreeks te krijgen. We krijgen de volgende uitvoer in de terminal bij het uitvoeren van de code:.
Python ondersteunt ook negatieve indexering, wat erg handig is als we vanaf de rechterkant kunnen beginnen met tellen. Om bijvoorbeeld het voorlaatste teken van een tekenreeks "Fosslinux" te krijgen, moeten we de onderstaande code schrijven:.
string = "Fosslinux"
print("De een na laatste term van de string is : ", string[-2])
Bij het uitvoeren van de code krijgen we de voorlaatste term van de tekenreeks "Fosslinux", zoals weergegeven in de onderstaande afbeelding.
De laatste term van een tekenreeks ophalen
Soms willen we misschien de laatste term van de tekenreeks krijgen. We hebben twee manieren om dit te doen: de eerste gebruikt de negatieve indexering en de tweede gebruikt de functie len() met indexering.
Bekijk de onderstaande code om de laatste term van de tekenreeks te krijgen met negatieve indexering:.
string = "Fosslinux"
print("De laatste term van de string is : ", string[-1])
Uitgang:
We kunnen ook de functie len() gebruiken met indexering om de laatste term te krijgen. Om dit te doen, moeten we de lengte van de tekenreeks berekenen, en dan moeten we het teken vinden door de waarde te indexeren, die één minder is dan de lengte van de tekenreeks. Zie het onderstaande voorbeeld.
string = "Fosslinux"
lengte = len(string)
last_index = lengte-1
print("De laatste term van de string is : ", string[last_index])
In de bovenstaande code hebben we eerst een string gemaakt en deze opgeslagen in een variabele met de naam draad. Vervolgens berekenen we de lengte van de string met behulp van de methode len(). Omdat indexeren in python met nul begint, moeten we er één van de lengte aftrekken. Dan geven we het door als een index aan de draad. Zo krijgen we het laatste teken van de string.
Uitgang:
Snaren snijden
In Python hebben we een geweldige techniek, een uitgebreide vorm van indexering die bekend staat als string slicing. Dit kan worden gebruikt om een string in een substring te splitsen. Om het snijden te doen, moeten we het indexnummer van het eerste teken en het laatste teken van de subtekenreeks in de index van de tekenreeks geven door een puntkomma in het midden ervan te plaatsen. Zie de onderstaande voorbeeldcode voor een praktische demo:.
string = "Fosslinux"
print(string[1:6])
print(string[0:4])
Uitgang:
Tekens overslaan bij snijden
We kunnen ook karakters overslaan tijdens het doorsnijden van een string. Tijdens het snijden van een string hebben we de volgende syntaxis:.
tekenreeks [start:stop:stap]
De start en stop zijn de standaard indexnummers die we tot nu toe in de bovenstaande syntaxis hebben gebruikt. De stapparameter accepteert een geheel getal, dat wordt gebruikt om het aantal tekens op te geven dat in elke stap moet worden achtergelaten.
Snaren omkeren
We kunnen een string gemakkelijk omkeren met behulp van de slicing-methode. Zie bijvoorbeeld de onderstaande code:. Kopieer de onderstaande code in uw Python IDE en voer het uit.
string = "Fosslinux"
print("De omgekeerde string van", string,"is",string[::-1])
Deze code zal de string "Fosslinux" omkeren."Bij het uitvoeren van de code krijgen we de volgende uitvoer:.
Escape-teken in strings
Escape-tekens in programmeren is een geweldige manier om niet-afdrukbare tekens in strings toe te voegen. Om bijvoorbeeld het nieuwe regelteken in strings toe te voegen, gebruiken we het escape-teken "\n". Zie onderstaande code voor een demo.
print("\n\n\n Hallo\n\n Wereld")
Bij het uitvoeren van de code krijgen we de volgende uitvoer:.
Zoals we in de code kunnen zien, worden nieuwe regels automatisch toegevoegd in plaats van "\n". Dat is waar de ontsnappingsreeks in het spel komt. Er zijn veel reekstekens aanwezig in python. Ik zal ze hier allemaal opsommen; je kunt ze allemaal proberen om te zien hoe ze allemaal werken.
- \': Het wordt gebruikt om een enkel aanhalingsteken in een string te geven. Zoals op sommige plaatsen, kunnen we niet rechtstreeks enkele aanhalingstekens geven.
- \\: Dit teken wordt gebruikt om backslash weer te geven, omdat we op veel plaatsen \ direct niet kunnen gebruiken.
- \n: Dit teken vertegenwoordigt het nieuwe regelteken, dat een nieuwe regel zal toevoegen.
- \r: vertegenwoordigt een wagenretour.
- \t: staat voor een tabblad.
- \b: staat voor een backspace-teken.
- \f: Deze escape-reeks wordt gebruikt om een formfeed weer te geven.
- \ooo: Dit teken wordt gebruikt om de octale waarde weer te geven.
- \xhh: Dit teken wordt gebruikt om de hexadecimale waarde weer te geven.
- \een: Dit teken wordt gebruikt om een waarschuwing te geven.
- \s: Dit teken wordt gebruikt om een spatie te geven.
- \v: staat voor een verticaal tabblad.
String-methoden
We hebben veel geleerd over python-snaren, maar dit deel is veel nuttiger dan enig ander deel van dit artikel. Python wordt geleverd met een groot aantal ingebouwde functies voor het werken met strings. Door ze te gebruiken, kunnen we gemakkelijk veel bewerkingen op strings uitvoeren.
Stringcases transformeren
We hebben enkele ingebouwde functies die kunnen worden gebruikt om de string-cases te transformeren. Laten we ze allemaal bespreken.
draad.hoofdletter()
Deze methode wordt gebruikt om te profiteren van de doelreeks. Wanneer we de methode gebruiken als draad.hoofdletters, het zal de string retourneren door er een hoofdletter van te maken, i.e., het eerste teken omzetten in hoofdletters en alle andere tekens in kleine letters. Om een praktische demo van zijn werkkopie te zien en de volgende code uit te voeren in je Python IDE.
string = "fosslinux"We gebruikten de hoofdletter() methode van het String-object, met een hoofdletter. Bij het uitvoeren van de code krijgen we de volgende uitvoer:.
print(string).hoofdletter())
.bovenste()
Deze methode wordt gebruikt om een string om te zetten in hoofdletters, i.e., zet alle tekens in de tekenreeks in hoofdletters.
Voorbeeld:
string = "Fosslinux"
print(string).bovenste())
Uitgang:
draad.lager()
Deze methode wordt gebruikt om een string om te zetten in kleine letters, i.e., verandert alle tekens in de tekenreeks in kleine letters.
Voorbeeld:
string = "FOSSlinux"
print(string).lager())
Uitgang:
draad.swapcase()
Dit is een geweldige methode om het geval van karakters van een string te verwisselen. Het converteert de kleine letters naar hoofdletters en vice versa van de tekenreeks. Om te zien hoe het werkt, kopieer en voer je de volgende code uit:.
string = "FOSSlinux"
print(string).swapcase())
Uitgang:
draad.titel()
Nogmaals, dit is een uitstekende methode voor het manipuleren van strings, omdat het het eerste teken van elk woord in de string omzet in hoofdletters.
Voorbeeld:
string = "Fosslinux is geweldig"
print(string).titel())
Uitgang:
Je hebt misschien het verschil opgemerkt tussen de hoofdletter() en de titel() methode. De hoofdletter() methode gebruikt alleen het eerste teken van het eerste woord van de tekenreeks, terwijl de titel() methode kapitaliseert het eerste teken van elk woord in de string.
Karakterclassificatie
We hebben ook methoden om de hoofdletters van een string te controleren, of het nu gaat om hoofdletters, kleine letters, enz. Laten we ze in het kort bespreken met voorbeelden.
draad.isalnum()
Deze methode wordt gebruikt om te controleren of een string alleen alfanumerieke getallen bevat of niet, i.e., alle tekens moeten cijfers of alfabetten zijn, maar geen andere tekens, inclusief witruimte.
Voorbeeld:
string1 = "Fosslinux123"
string2 = "Fosslinux is een geweldige"
string3 = "Fosslinux @ # 123"
print(string1.isalnum()) # bevat alleen letters en cijfers
print(string2.isalnum()) # bevat witruimte
print(string3.isalnum()) # bevat speciale tekens
Uitgang:
draad.isalfa()
Deze tekenreeksmethode is vergelijkbaar met de bovenstaande methode, maar er wordt alleen op alfabetten gecontroleerd, niet op de cijfers i de tekenreeks, wat betekent dat de tekenreeks alleen alfabetten mag bevatten. Voer bijvoorbeeld de volgende code uit:.
string1 = "Fosslinux123"
string2 = "Fosslinux"
print(string1.isalpha()) # bevat alfabet en cijfers
print(string2.isalpha()) # bevat alleen alfabet
We krijgen False voor de eerste omdat deze cijfers bevat, en we krijgen True voor de volgende omdat deze alleen alfabetten bevat.
Uitgang:
draad.iscijfer()
Deze methode is vergelijkbaar met de bovenstaande, maar in plaats van alfabetten wordt gecontroleerd of de tekenreeks alleen uit cijfers bestaat. Het retourneert True als elk teken in een tekenreeks cijfers zijn; anders retourneert False.
draad.isidentifier()
Dit is ook een geweldige tekenreeksmethode van python. Door deze methode te gebruiken, kunnen we controleren of een string een geldige python-ID is of niet. Ik heb de regels voor het kiezen van de geldige python-ID besproken in de basis van de python-tutorial.
Voorbeeld:
string1 = "Fosslinux123"
string2 = "123Fosslinux"
string3 = "_Fosslinux"
string4 = "Fosslinux@1234"
print(string1.isidentifier()) # True
print(string2.isidentifier()) # False (begon met cijfers)
print(string3.isidentifier()) # True
print(string4.isidentifier()) # False (bevat speciale tekens @)
Uitgang:
draad.is lager()
Deze tekenreeksmethode controleert of alle tekenreeksen kleine letters zijn. Zo ja, dan wordt True geretourneerd, anders wordt False geretourneerd.
draad.isboven()
Deze tekenreeksmethode controleert of alle tekens in een tekenreeks hoofdletters zijn. Zo ja, dan retourneert het True, anders retourneert False.
draad.istitel()
De istitel() methode van de tekenreeks zal True retourneren als het eerste alfabet van alle woorden in een tekenreeks een hoofdletter is en alle andere tekens kleine letters zijn.
draad.isafdrukbaar()
Het geeft True terug als alle tekens in de tekenreeks kunnen worden afgedrukt, i.e., niet-escape-tekens; anders wordt False geretourneerd. Voer de volgende code uit om te zien hoe het werkt:.
string1 = "Fosslinux"
string2 = "\nFosslinux"
print(string1.isprintable()) # True
print(string2.isprintable()) # False (Het bevat het nieuwe regelteken)
Uitgang:
draad.isruimte()
De draad.isruimte() methode retourneert True als alle tekenreeksen witruimtetekens zijn; anders zal het False retourneren.
Andere belangrijke functies
draad.tel()
De methode count() van het object String wordt gebruikt om het aantal keren te krijgen dat een opgegeven waarde voorkomt.
Voorbeeld:
string = "Fosslinux"
print(string).tellen("s"))
In de bovenstaande code hebben we de . gebruikt tel() methode om het aantal keren te krijgen dat het teken "s" in de tekenreeks "Fosslinux" voorkomt.”
Uitgang:
draad.begint met()
Deze tekenreeksmethode controleert of de tekenreeks begint met de subtekenreeks die is opgegeven in het argument van de methode. Om een praktische demo van zijn werking te zien, kopieer en voer je de onderstaande code uit in een Python IDE.
string = "Fosslinux"
print(string).begint met("F"))
print(string).begint met ("Fo"))
print(string).begint met ("Foss"))
print(string).begint met ("Fosss"))
Bij het uitvoeren van de bovenstaande code krijgen we True voor de eerste drie, terwijl de laatste False retourneert, zoals weergegeven in de onderstaande uitvoerafbeelding.
draad.eindigt met()
Dit is vergelijkbaar met de bovenstaande methode, maar het verschil is dat terwijl de vorige controleert op het begin van een string, deze aan het einde van de string zal controleren.
draad.vind()
De methode find() van het object String is een belangrijke methode om een teken of subtekenreeks in een tekenreeks te vinden. Het accepteert de subtekenreeks als argument en retourneert de subtekenreeksindex indien aanwezig in de tekenreeks; anders geeft -1 . terug.
Voorbeeld:
string = "Fosslinux"
print(string).vind("lin"))
Bij het uitvoeren van de bovenstaande code krijgen we de uitvoer als 4, wat de startindex is van de substring "lin" in "Fosslinux.”
draad.vervangen()
De syntaxis van deze methode is vervangen (oud, nieuw). Er zijn twee argumenten nodig; de ene is de oude subtekenreeks en de nieuwe is de subtekenreeks. Het vervangt alle oude subtekenreeksen door de nieuwe subtekenreeks in de hele tekenreeks.
Voorbeeld:
string = "Fosslinux"We krijgen alleen de Linux afgedrukt op het scherm als de foss wordt vervangen door witruimte bij het uitvoeren van de bovenstaande code. Uitgang:
print(string).vervang("Foss",""))
draad.splitsen()
Deze methode neemt het scheidingsteken als argument, splitst de tekenreeks volgens het scheidingsteken en retourneert een pythonlijst.
Voorbeeld:
string = "Fosslinux is een geweldige plek om te beginnen met het leren van Linux en Python"Bij het uitvoeren van de bovenstaande code krijgen we een lijst met de tekenreekswoorden. Zoals we de functie splitsen met witruimte als argument gebruikten, splitst het de tekenreeks wanneer het witruimte krijgt. Uitgang:
print(string).splitsen(" "))
draad.strip()
Deze methode wordt gebruikt om alle voorloop- en volgspaties uit de tekenreeks te verwijderen.
Conclusie
Dat is alles over Strings en het gebruik ervan in Python. Als je de tutorial doorloopt, krijg je een idee van hoe handig het is om met strings in python te werken. Misschien wil je ook de tutorial bekijken over het gebruik van for-loop in python, een ultieme lus voor iteratie in python. Tot slot, voordat we vertrekken, wil je misschien kijken naar de methode om een string in Python om te keren, wat handig is bij het omgaan met strings.