logo

Kuinka tarkistaa, onko merkkijono tyhjä Pythonissa

Python-merkkijonot pysyvät muuttumattomina, mikä tarkoittaa, että voimme muuttaa niitä suorittamiemme toimintojen perusteella. Pythonin merkittävin toiminto on merkkijonojen manipulointi. Merkkijonon muuttamiseksi voidaan käyttää monia menetelmiä, mukaan lukien merkkijonojen viipalointimenetelmät, sen elementtien läpi kiertäminen ja merkkijonomenetelmät. On tärkeää ymmärtää, että merkkijono, jossa on välilyöntejä, on käytännössä nollasta poikkeava tyhjä merkkijono. Tätä kysymystä käsitellään tässä opetusohjelmassa sekä mahdollisia korjaustoimenpiteitä. Tämän seurauksena, kun käytämme vain() tai ' ei '-operaattoria tarkistaaksesi tyhjän merkkijonon, se laskee välilyönnin vain merkkijonon merkiksi, joten merkkijonoa, jossa on välilyönti, ei lasketa tyhjäksi merkkijonoksi.

watchcartoononline.io vaihtoehtoja

Pythonissa voimme käyttää yhtä alla kuvatuista perustavoista tarkistaaksesi tyhjän merkkijonon.

  1. Käyttää ei operaattoria
  2. Len()-funktion käyttäminen
  3. Käytä not + string.isspace()
  4. Len() + string.strip()
  5. Käyttämällä ja + string.strip()
  6. Käyttää __eq__

Käyttää ei operaattoria

The ei operaattori tekee saman työn kuin vain() toiminto. Pythonissa tyhjä merkkijono on todellakin sama kuin False. The ei -operaattoria voidaan käyttää määrittämään, onko merkkijono todella tyhjä vai ei. The ei Python-toiminto estää merkkijonon tulkinnan tyhjäksi merkkijonoksi, jos se sisältää välilyöntejä.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahdenlaisia ​​merkkijonoja, merkkijono1 ja merkkijono2. Merkkijono2 sisältää välilyöntejä ja merkkijono1 on tyhjä merkkijono. Sitten käytimme 'jos else' -ehtoa tarkistaaksemme, onko annettu merkkijono tyhjä, jos se ei ole merkkijonossa. Se ei kuitenkaan ole tyhjä. Not-operaattori ei käsittele välilyöntejä tyhjinä merkkijonoina, joten tulos ei ole tyhjä merkkijono toisen syötemerkkijonon tapauksessa. Lopulta tulos on painettu.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty 

Len()-menetelmän käyttäminen

Käytämme pythoneja vain() funktio määrittää merkkijonon pituuden. Sitten, jos merkkijonon pituus on 0, merkkijono on tyhjä; muuten ei ole. Kun käytät vain() Pythonissa merkkijonoa ei pidetä tyhjänä merkkijonona, jos se sisältää välilyöntejä.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahdenlaisia ​​merkkijonoja, merkkijono1 ja merkkijono2. Merkkijono2 sisältää välilyöntejä ja merkkijono1 on tyhjä merkkijono. Kunkin merkkijonon pituus laskettiin sitten käyttämällä Pythonin len()-funktiota. Sitten käytimme 'if-else' -silmukkaa tarkistaaksemme, onko merkkijonon pituus yhtä suuri kuin nolla, jolloin ehto tulostaa, että merkkijono on tyhjä, ja missä tapauksessa tulostusmerkkijono ei ole tyhjä. Merkkijonon välilyöntejä ei pidetä tyhjinä vain() , jolloin merkkijono ei ole tyhjä. Lopuksi tulostimme molempien merkkijonojen tuloksen.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is not empty 

Ei operaattoria + str.isspace()

Se tarkistaa välilyönnit nauhalta samalla tavalla kuin strip() toiminto tekee. Kuitenkin, strip() toiminto kestää kauan, kun sitä ei toisin str. isspace() koska strip():n täytyy suorittaa strip-operaatio, joka vaatii paljon laskentatyötä.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahdenlaisia ​​merkkijonoja, merkkijono1 ja merkkijono2. Merkkijono2 sisältää välilyöntejä ja merkkijono1 on tyhjä merkkijono. Jos-else-ehtoa on käytetty. Käytimme isspace() menetelmä if else-ehdossa, joka tarkistaa kaikki merkkijonovälit. Lopulta tuloste on tulostettu, ja voit nähdä, että molemmat merkkijonot ovat tyhjiä.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is not empty string, string2 = ' ', with spaces is not empty 

Len() + string.strip()

Pythonissa käytä len() + string.strip() tekniikka, jolla varmistetaan täysin tyhjä merkkijono. Merkkijonon välilyönti poistetaan käyttämällä string.strip() menetelmä. Jos merkkijonossa on välilyöntiä, strip() menetelmä poistaa sen, ja vain() toiminto tarkistaa, onko merkkijono tyhjä vai ei.

Esimerkki

Riippumatta siitä, kuinka monta välilyöntiä laitamme merkkijonoon, se poistaa ne kaikki ja tarkistaa merkkijonon pituuden; jos se palauttaa 0, merkkijono on tyhjä; muuten ei ole.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

'ja' Operator + strip() -funktion käyttö

Olemme huomanneet, että merkkijonojen välilyöntejä ei aina tulkita tyhjiksi merkkijonoiksi. Joten kun käytämme strip() toiminto tarkistaa, onko merkkijono tyhjä, voimme todellakin tarkistaa myös välilyönnit.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahta syötemerkkijonoa, merkkijono1 ja merkkijono2. Merkkijono2 sisältää välilyöntejä ja merkkijono1 on tyhjä merkkijono. Käytimme sitten if-else-ehtoa ja strip() -funktion avulla näet, oliko merkkijono tyhjä vai ei. Jos ehto on False, merkkijono on tyhjä ja lohkot suoritetaan muuten. Tässä menetelmässä välilyöntejä pidetään myös tyhjänä merkkijonona. Lopulta tulos on painettu.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Strip()-funktion käyttäminen

Olemme huomanneet, että merkkijonojen välilyöntejä ei aina tulkita tyhjiksi merkkijonoiksi. Joten kun käytämme strip() toiminto tarkistaa, onko merkkijono tyhjä, voimme todellakin tarkistaa myös välilyönnit.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahta syötemerkkijonoa, merkkijono1 ja merkkijono2. Merkkijono1 sisältää välilyöntejä ja merkkijono2 on tyhjä merkkijono. Olemme käyttäneet if else -ehtoa poistamaan merkkijonot, poistamaan välilyönnit ja palauttamaan sitten tyhjän merkkijonon, jos merkkijonosta tulee tyhjä. Merkkijono ei muuten ole tyhjä. Lopulta tulos on painettu.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Käyttämällä __eq__-menetelmää

Dunder identifioi menetelmät kahdella alaviivalla niiden nimen edessä ja jälkeen. The __eq__ menetelmää voidaan käyttää myös tyhjän merkkijonon tarkistamiseen. Kun soitat __eq__ Pythonissa merkkijonoa ei pidetä tyhjänä merkkijonona, jos se sisältää välilyöntejä.

Esimerkki

Olemme käyttäneet tässä esimerkissä kahta syötemerkkijonoa, merkkijono1 ja merkkijono2. Merkkijono2 sisältää välilyöntejä ja merkkijono1 on tyhjä merkkijono. The __eq__ toimintoa on käytetty. Jos-else-ehdossa käytimme annettua menetelmää varmistaaksemme, onko merkkijono tyhjä vai ei. Lopulta tulos on painettu. Tässä lähestymistavassa välilyöntejä ei käsitellä tyhjinä merkkijonoina.

Koodi:

 #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') 

Lähtö:

 string, string1 = '', with no spaces is empty string, string1 = ' ', with no spaces is not empty