Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python - Strings

Vorige paginaVolgende pagina

Strings behoren tot de meest populaire typen in Python. We kunnen ze eenvoudig maken door tekens tussen aanhalingstekens te plaatsen. Python behandelt enkele aanhalingstekens hetzelfde als dubbele aanhalingstekens. Strings maken is net zo eenvoudig als het toewijzen van een waarde aan een variabele. Bijvoorbeeld −

var1 = 'Hello World!'
var2 = "Python Programming"

Toegang tot waarden in strings

Python ondersteunt geen tekentype; deze worden behandeld als strings met lengte één, dus ook beschouwd als een substring.

Om toegang te krijgen tot subtekenreeksen, gebruikt u de vierkante haken om samen met de index of indices te snijden om uw subtekenreeks te verkrijgen. Bijvoorbeeld −

Live demo
#!/usr/bin/python

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

var1[0]:  H
var2[1:5]:  ytho

Snaren bijwerken

U kunt een bestaande string "updaten" door een variabele (opnieuw) toe te wijzen aan een andere string. De nieuwe waarde kan gerelateerd zijn aan de vorige waarde of aan een geheel andere string. Bijvoorbeeld −

Live demo
#!/usr/bin/python

var1 = 'Hello World!'
print "Updated String :- ", var1[:6] + 'Python'

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

Updated String :-  Hello Python

Escape-tekens

De volgende tabel is een lijst met escapetekens of niet-afdrukbare tekens die kunnen worden weergegeven met backslash-notatie.

Een escape-personage wordt geïnterpreteerd; in strings met zowel enkele aanhalingstekens als dubbele aanhalingstekens.

Backslash-notatie Hexadecimaal teken Beschrijving
\a 0x07 Bel of alarm
\b 0x08 Backspace
\cx Control-x
\C-x Control-x
\e 0x1b Ontsnappen
\f 0x0c Formfeed
\M-\C-x Meta-Control-x
\n 0x0a Nieuwe regel
\nnn Octale notatie, waarbij n in het bereik van 0,7 ligt
\r 0x0d Koetsretour
\s 0x20 Ruimte
\t 0x09 Tabblad
\v 0x0b Verticaal tabblad
\x Karakter x
\xnn Hexadecimale notatie, waarbij n in het bereik van 0,9, a.f of A.F ligt

Snaar speciale operators

Stel tekenreeksvariabele a bevat 'Hallo' en variabele b houdt 'Python' vast, dan −

Operator Beschrijving Voorbeeld
+ Aaneenschakeling - Voegt waarden toe aan weerszijden van de operator a + b geeft HelloPython
* Herhaling - Maakt nieuwe tekenreeksen, waarbij meerdere exemplaren van dezelfde tekenreeks worden samengevoegd a*2 geeft -HelloHello
[] Slice - Geeft het teken uit de opgegeven index a[1] geeft e
[ :] Bereiksegment - Geeft de tekens uit het opgegeven bereik a[1:4] geeft ell
in Lidmaatschap - Retourneert waar als een teken in de gegeven tekenreeks voorkomt H in a geeft 1
niet in Lidmaatschap - Retourneert waar als een teken niet bestaat in de gegeven string M niet in een testament geeft 1
r/R Raw String - Onderdrukt de werkelijke betekenis van Escape-tekens. De syntaxis voor onbewerkte tekenreeksen is precies hetzelfde als voor normale tekenreeksen, met uitzondering van de onbewerkte tekenreeksoperator, de letter "r", die voorafgaat aan de aanhalingstekens. De "r" kan een kleine letter (r) of een hoofdletter (R) zijn en moet onmiddellijk voor het eerste aanhalingsteken worden geplaatst. print r'\n' prints \n en print R'\n'prints \n
% Formaat - Voert tekenreeksopmaak uit Zie in het volgende gedeelte

Opmaakoperator voor tekenreeksen

Een van de coolste functies van Python is de tekenreeksopmaakoperator %. Deze operator is uniek voor strings en compenseert het pakket met functies uit de printf()-familie van C. Hieronder volgt een eenvoudig voorbeeld −

Live demo
#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21)

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

My name is Zara and weight is 21 kg!

Hier is de lijst met de complete set symbolen die samen met % −

. kunnen worden gebruikt
Symbool opmaken Conversie
%c karakter
%s stringconversie via str() voorafgaand aan opmaak
%i getekend decimaal geheel getal
%d getekend decimaal geheel getal
%u niet-ondertekend decimaal geheel getal
%o octaal geheel getal
%x hexadecimaal geheel getal (kleine letters)
%X hexadecimaal geheel getal (HOGE letters)
%e exponentiële notatie (met kleine 'e')
%E exponentiële notatie (met HOOFDLETTERS 'E')
%f drijvende komma reëel getal
%g de kortere van %f en %e
%G de kortere van %f en %E

Andere ondersteunde symbolen en functies staan ​​vermeld in de volgende tabel −

Symbool Functionaliteit
* argument specificeert breedte of precisie
- linker uitvulling
+ toon het teken
laat een spatie voor een positief getal
# voeg de octale voorloopnul ( '0' ) of hexadecimale voorloop '0x' of '0X' toe, afhankelijk van of 'x' of 'X' werden gebruikt.
0 pad van links met nullen (in plaats van spaties)
% '%%' laat je achter met een enkele letterlijke '%'
(var) toewijzingsvariabele (woordenboekargumenten)
mn m is de minimale totale breedte en n is het aantal cijfers dat achter de komma moet worden weergegeven (indien van toepassing)

Drievoudige aanhalingstekens

De drievoudige aanhalingstekens van Python komen te hulp doordat tekenreeksen meerdere regels kunnen overspannen, inclusief letterlijke NEWLINE's, TAB's en andere speciale tekens.

De syntaxis voor drievoudige aanhalingstekens bestaat uit drie opeenvolgende enkele of dubbele aanhalingstekens.

Live demo
#!/usr/bin/python

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print para_str

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op. Merk op hoe elk speciaal teken is geconverteerd naar zijn gedrukte vorm, tot aan de laatste NEWLINE aan het einde van de string tussen de "up". en het sluiten van drievoudige aanhalingstekens. Merk ook op dat NEWLINE's voorkomen met een expliciete regelterugloop aan het einde van een regel of met de escape-code (\n) −

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

Ruwe tekenreeksen behandelen de backslash helemaal niet als een speciaal teken. Elk teken dat je in een onbewerkte tekenreeks plaatst, blijft zoals je het hebt geschreven −

Live demo
#!/usr/bin/python

print 'C:\\nowhere'

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

C:\nowhere

Laten we nu gebruik maken van onbewerkte string. We zouden expressie in r'expression' zetten als volgt −

Live demo
#!/usr/bin/python

print r'C:\\nowhere'

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

C:\\nowhere

Unicode-tekenreeks

Normale strings in Python worden intern opgeslagen als 8-bits ASCII, terwijl Unicode-strings worden opgeslagen als 16-bits Unicode. Dit zorgt voor een meer gevarieerde reeks tekens, inclusief speciale tekens uit de meeste talen ter wereld. Ik beperk mijn behandeling van Unicode-strings tot het volgende −

Live demo
#!/usr/bin/python

print u'Hello, world!'

Wanneer de bovenstaande code wordt uitgevoerd, levert dit het volgende resultaat op −

Hello, world!

Zoals je kunt zien, gebruiken Unicode-tekenreeksen het voorvoegsel u, net zoals onbewerkte tekenreeksen het voorvoegsel r gebruiken.

Ingebouwde stringmethodes

Python bevat de volgende ingebouwde methoden om strings te manipuleren −

Sr.nr. Methoden met beschrijving
1 hoofdletter()

Begint met hoofdletters van tekenreeks

2 center(breedte, fillchar)

Retourneert een met spatie gevulde tekenreeks met de originele tekenreeks gecentreerd op een totaal van breedtekolommen.

3 count(str, beg=0,end=len(string))

Telt hoe vaak str voorkomt in string of in een substring van string als beginindex beg en eindigend indexeinde worden gegeven.

4 decoderen(encoding='UTF-8',errors='strict')

Decodeert de tekenreeks met behulp van de codec die is geregistreerd voor codering. codering is standaard ingesteld op de standaard tekenreekscodering.

5 coderen(encoding='UTF-8',errors='strict')

Retourneert gecodeerde tekenreeksversie van tekenreeks; bij fouten is de standaardwaarde om een ​​ValueError op te heffen, tenzij fouten worden gegeven met 'negeren' of 'vervangen'.

6 endswith(suffix, beg=0, end=len(string))

Bepaalt of string of een substring van string (als beginindex beg en eindigend indexeinde zijn gegeven) eindigt met achtervoegsel; geeft true terug als dat zo is en anders false.

7 uitbreidentabbladen(tabformaat=8)

Breidt tabs in string uit tot meerdere spaties; standaard ingesteld op 8 spaties per tabblad als de tabgrootte niet is opgegeven.

8 find(str, beg=0 end=len(string))

Bepaal of str voorkomt in string of in een substring van string als startindex beg en end index end worden gegeven index indien gevonden en -1 anders.

9 index(str, beg=0, end=len(string))

Hetzelfde als find(), maar genereert een uitzondering als str niet gevonden is.

10 isalnum()

Retourneert waar als tekenreeks ten minste 1 teken heeft en alle tekens alfanumeriek zijn en anders onwaar.

11 isalpha()

Retourneert true als string ten minste 1 teken heeft en alle tekens alfabetisch zijn en anders false.

12 isdigit()

Retourneert true als string alleen cijfers bevat en anders false.

13 islower()

Retourneert true als string ten minste 1 hoofdletter heeft en alle hoofdletters in kleine letters en anders false.

14 isnumeriek()

Retourneert waar als een unicode-tekenreeks alleen numerieke tekens bevat en anders onwaar.

15 isspace()

Retourneert true als string alleen spatietekens bevat en anders false.

16 istitel()

Retourneert true als string correct is "titlecased" en anders false.

17 isupper()

Retourneert true als string ten minste één hoofdletter heeft en alle hoofdletters in hoofdletters en anders false.

18 meedoen(seq)

Voegt (samengevoegd) de tekenreeksrepresentaties van elementen in volgorde seq samen tot een tekenreeks, met scheidingstekenreeks.

19 len(string)

Geeft de lengte van de tekenreeks terug

20 ljust(breedte[, fillchar])

Retourneert een tekenreeks met spatie en de originele tekenreeks links uitgelijnd tot een totaal van breedtekolommen.

21 lager()

Converteert alle hoofdletters in string naar kleine letters.

22 lstrip()

Verwijdert alle voorloopspaties in string.

23 maketrans()

Retourneert een vertaaltabel die moet worden gebruikt in de vertaalfunctie.

24 max(str)

Retourneert het maximale alfabetische teken van de tekenreeks str.

25 min(str)

Retourneert het minimale alfabetische teken van de tekenreeks str.

26 vervangen(oud, nieuw [, max])

Vervangt alle exemplaren van oud in string door nieuw of maximaal max. als er max is opgegeven.

27 rfind(str, beg=0,end=len(string))

Hetzelfde als find(), maar zoek achteruit in string.

28 rindex(str, beg=0, end=len(string))

Hetzelfde als index(), maar zoek achteruit in string.

29 rjust(breedte,[, fillchar])

Retourneert een met spatie gevulde tekenreeks met de originele tekenreeks rechts uitgelijnd tot een totaal van breedtekolommen.

30 rstrip()

Verwijdert alle achterliggende witruimte van tekenreeks.

31 split(str="", num=string.count(str))

Splitst string volgens scheidingsteken str (spatie indien niet opgegeven) en retourneert een lijst met substrings; opgesplitst in maximaal aantal substrings, indien opgegeven.

32 splitlines( num=string.count('\n'))

Splitst string bij alle (of aantal) NEWLINE's en geeft een lijst terug van elke regel met verwijderde NEWLINE's.

33 startswith(str, beg=0,end=len(string))

Bepaalt of string of een substring van string (als beginindex beg en eindigend indexeinde zijn gegeven) begint met substring str; geeft true terug als dat zo is en anders false.

34 strip([tekens])

Voert zowel lstrip() als rstrip() uit op string.

35 swapcase()

Keert hoofdletters om voor alle letters in string.

36 titel()

Retourneert een "title-cased" versie van string, dat wil zeggen, alle woorden beginnen met hoofdletters en de rest zijn kleine letters.

37 vertalen(tabel, deletechars="")

Vertaalt string volgens vertaaltabel str (256 tekens), waarbij die in de del string worden verwijderd.

38 bovenste()

Converteert kleine letters in string naar hoofdletters.

39 zfill (breedte)

Retourneert de oorspronkelijke tekenreeks met links opgevuld met nullen tot een totaal van breedtetekens; bedoeld voor getallen, behoudt zfill() elk gegeven teken (min één nul).

40 isdecimaal()

Retourneert true als een unicode-tekenreeks alleen decimale tekens bevat en anders false.


Python

  1. C#-tekenreeks
  2. Python-operators
  3. Python-woordenboek
  4. Java-strings
  5. Python-strings:vervangen, samenvoegen, splitsen, omkeren, hoofdletters en kleine letters
  6. Python String strip() Functie met VOORBEELD
  7. Python String count() met VOORBEELDEN
  8. Python String format() Leg uit met VOORBEELDEN
  9. Python-tekenreekslengte | len() methode Voorbeeld
  10. Methode Python String find() met voorbeelden
  11. Enumerate() Functie in Python:Loop, Tuple, String (voorbeeld)