Python virknes paliek nemainīgas, kas nozīmē, ka mēs varam tās mainīt, pamatojoties uz mūsu veiktajām darbībām. Python nozīmīgākā funkcionalitāte ir manipulācijas ar virknēm. Lai mainītu virkni, var izmantot daudzas metodes, tostarp virknes sagriešanas pieejas, elementu cilpu un virkņu metodes. Ir svarīgi saprast, ka virkne ar atstarpēm faktiski ir tukša virkne, kuras garums nav nulle. Šis jautājums tiks apspriests šajā apmācībā, kā arī iespējamais risinājums. Tā rezultātā, kad mēs izmantojam tikai() vai ' nē ' operatoru, lai pārbaudītu, vai virkne ir tukša, tas faktiski uzskaita atstarpi kā tikai virknes rakstzīmi, tāpēc virkne ar atstarpi netiks skaitīta kā tukša virkne.
Programmā Python mēs varam izmantot vienu no tālāk aprakstītajiem pamata veidiem, lai pārbaudītu, vai virkne nav tukša.
- Izmantojot nevis operatoru
- Izmantojot funkciju len().
- Izmantojot not + string.isspace()
- Izmantojot len() + string.strip()
- Izmantojot un + string.strip()
- Izmantojot __eq__
Izmantojot nevis operatoru
The nē operators veic to pašu darbu, ko tikai() funkciju. Python programmā tukša virkne patiešām ir vienāda ar False. The nē operatoru var izmantot, lai noteiktu, vai virkne patiešām ir tukša. The nē darbība Python neļauj virkni interpretēt kā tukšu virkni, ja tajā ir atstarpes.
Piemērs
Šajā piemērā esam izmantojuši divu veidu virknes — string1 un string2. Virknē2 ir atstarpes, un virkne1 ir tukša virkne. Pēc tam mēs izmantojām nosacījumu “ja cits”, lai pārbaudītu, vai dotā virkne ir tukša, ja tā nav virknē. Tomēr tas nav tukšs. Operators not neuzskata atstarpes kā tukšas virknes, tāpēc otrās ievades virknes gadījumā izvade nebūs tukša virkne. Beidzot rezultāts ir izdrukāts.
Kods:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if not string1: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if not string2: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Izvade:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty
Izmantojot len() metodi
Mēs izmantosim python's tikai() funkcija, lai noteiktu virknes garumu. Tad, ja virknes garums ir vienāds ar 0, virkne ir tukša; pretējā gadījumā tā nav. Lietojot tikai() Izmantojot Python tehnoloģiju, virkne īsti netiek uzskatīta par tukšu virkni, ja tajā ir atstarpes.
Piemērs
Šajā piemērā esam izmantojuši divu veidu virknes — string1 un string2. Virknē2 ir atstarpes, un virkne1 ir tukša virkne. Pēc tam katras virknes garums tika aprēķināts, izmantojot Python funkciju len (). Pēc tam mēs izmantojām cilpu “if-else”, lai pārbaudītu, vai virknes garums ir vienāds ar nulli. Šajā gadījumā nosacījums izdrukā, ka virkne ir tukša, un šajā gadījumā drukas virkne nav tukša. Atstarpes virknē neuzskata par tukšām tikai() , kā rezultātā virkne nav tukša. Visbeidzot mēs izdrukājām abu virkņu rezultātu.
Kods:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' length1 = len(string1) length2 = len(string2) if length1 == 0: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if length2 == 0: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Izvade:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty
Neizmantojot operatoru + str.isspace()
Tā pārbauda, vai joslā nav atstarpes, tāpat kā sloksne () funkcija dara. tomēr sloksne () funkcijai ir nepieciešams ilgs laiks, ja pretstatā str. isspace () jo strip() ir jāizpilda sloksnes darbība, kas prasa lielu skaitļošanas darbu.
Piemērs
Šajā piemērā esam izmantojuši divu veidu virknes — string1 un string2. Virknē2 ir atstarpes, un virkne1 ir tukša virkne. Ir izmantots nosacījums “ja-cits”. Mēs izmantojām isspace () metode if else nosacījumā, kas pārbauda visas virknes atstarpes. Visbeidzot, izvade ir izdrukāta, un jūs varat redzēt, ka abas virknes ir tukšas.
Kods:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if string1 and not string1.isspace(): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if string2 and not string2.isspace(): print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty')
Izvade:
string, string1 = '', with no spaces is not empty string, string2 = ' ', with spaces is not empty
Izmantojot len() + string.strip()
Programmā Python izmantojiet len() + string.strip() tehnika, lai pārbaudītu, vai virkne ir pilnīgi tukša. Atstarpe virknē tiek noņemta, izmantojot string.strip() metodi. Ja virknē ir atstarpe, sloksne () metode to noņem, un tikai() funkcija pārbauda, vai virkne ir tukša.
Piemērs
Neatkarīgi no tā, cik atstarpi ievietojam virknē, tas noņem tās visas un pārbauda virknes garumu; ja tas atgriež 0, virkne ir tukša; citādi tā nav.
Kods:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if len(string1.strip()): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if len(string2.strip()): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Izvade:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Izmantojot 'un' Operator + strip() funkciju
Mēs esam ievērojuši, ka atstarpes virknēs ne vienmēr tiek interpretētas kā tukšas virknes. Tātad, kad mēs izmantojam sloksne () funkciju, lai pārbaudītu, vai virkne ir tukša, mēs patiešām varam pārbaudīt arī atstarpes.
Piemērs
Šajā piemērā esam izmantojuši divas ievades virknes — string1 un string2. Virknē2 ir atstarpes, un virkne1 ir tukša virkne. Pēc tam mēs izmantojām ja-cits nosacījumu un sloksne () funkciju, lai redzētu, vai virkne ir tukša. Ja nosacījums ir False, virkne ir tukša, un pretējā gadījumā bloki tiek izpildīti. Atstarpe šajā metodē tiek uzskatīta arī par tukšu virkni. Beidzot rezultāts ir izdrukāts.
Kods:
#input empty with and without spaces string s = '' str = ' ' if string1 and string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2 and string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Izvade:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Strip() funkcijas izmantošana
Mēs esam ievērojuši, ka atstarpes virknēs ne vienmēr tiek interpretētas kā tukšas virknes. Tātad, kad mēs izmantojam sloksne () funkciju, lai pārbaudītu, vai virkne ir tukša, mēs patiešām varam pārbaudīt arī atstarpes.
Piemērs
Šajā piemērā esam izmantojuši divas ievades virknes — string1 un string2. Virknē1 ir atstarpes, un virkne2 ir tukša virkne. Mēs esam izmantojuši nosacījumu if else, lai noņemtu virknes, noņemtu atstarpes un pēc tam atgrieztu tukšu virkni, ja virkne kļūst tukša. Citādi virkne nav tukša. Beidzot rezultāts ir izdrukāts.
Kods:
#input empty with and without spaces string s = '' str = ' ' if string1.strip(): print(f'string, string1 = '{string1}', with no spaces is not empty') else: print(f'string, string1 = '{string1}', with no spaces is empty') if string2.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty')
Izvade:
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Izmantojot __eq__ metodi
Dunder apzīmē metodes ar diviem pasvītrojumiem pirms un pēc to nosaukuma. The __eq__ metodi var izmantot arī, lai pārbaudītu, vai nav tukšas virknes. Zvanot uz __eq__ Tehnika Python, virkne netiek uzskatīta par tukšu virkni, ja tajā ir atstarpes.
Piemērs
xd xd nozīme
Šajā piemērā esam izmantojuši divas ievades virknes — string1 un string2. Virknē2 ir atstarpes, un virkne1 ir tukša virkne. The __eq__ funkcija ir izmantota. Ja-else nosacījumā mēs izmantojām norādīto metodi, lai pārbaudītu, vai virkne ir tukša vai nav. Beidzot rezultāts ir izdrukāts. Šajā pieejā atstarpes netiek uzskatītas par tukšām virknēm.
Kods:
#taking an empty string and a string with spaces only string1 = '' string2 = ' ' if ''.__eq__(string1): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if ''.__eq__(string2): print(f'string, string1 = '{string2}', with no spaces is empty') else: print(f'string, string1 = '{string2}', with no spaces is not empty')
Izvade:
string, string1 = '', with no spaces is empty string, string1 = ' ', with no spaces is not empty