logo

Python'da bir String'in Boş olup olmadığı nasıl kontrol edilir

Python dizeleri değişmez kalır; bu, yürüttüğümüz işlemlere göre bunları değiştirebileceğimiz anlamına gelir. Python'un en önemli işlevi dize manipülasyonudur. Dizeyi değiştirmek için dize dilimleme yaklaşımları, öğeleri arasında döngü yapma ve dize yöntemleri dahil olmak üzere birçok yöntem kullanılabilir. Boşluk içeren bir dizenin aslında sıfır olmayan uzunlukta boş bir dize olduğunu anlamak hayati önem taşır. Bu eğitimde bu sorun ve olası bir çözüm tartışılacaktır. Sonuç olarak, kullandığımızda sadece() veya ' Olumsuz ' operatörü boş bir dize olup olmadığını kontrol etmek için kullanılır, aslında alanı dizenin bir karakterinden daha az bir şey olarak saymaz, bu nedenle boşluk içeren bir dize boş bir dize olarak sayılmaz.

Python'da boş bir dize olup olmadığını kontrol etmek için aşağıda açıklanan temel yollardan birini kullanabiliriz.

  1. Not operatörünü kullanma
  2. len() işlevini kullanma
  3. not + string.isspace() kullanımı
  4. len() + string.strip() kullanımı
  5. ve + string.strip()'i kullanma
  6. __eq__ kullanma

Operatör Kullanılmaması

Olumsuz Operatör operatörle aynı işi yapar sadece() işlev. Python'da boş bir dize aslında False'a eşittir. Olumsuz operatörü bir dizenin gerçekten boş olup olmadığını belirlemek için kullanılabilir. Olumsuz Python'daki işlem, dizenin boşluk içermesi durumunda boş bir dize olarak yorumlanmasını önler.

amrita rao aktör

Örnek

Bu örnekte iki tür dize kullandık: string1 ve string2. Dize2'de boşluklar vardır ve dize1 boş bir dizedir. Daha sonra verilen dizenin boş olup olmadığını (eğer dizede değilse) kontrol etmek için 'if else' koşulunu kullandık. Ancak boş değil. Not operatörü tarafından boşluklar boş dizeler olarak değerlendirilmez, dolayısıyla ikinci giriş dizesi durumunda çıktı boş bir dize olmayacaktır. Son olarak sonuç yazdırıldı.

Kod:

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

Çıktı:

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

len() Yöntemini Kullanma

Python'u kullanacağız sadece() dizenin uzunluğunu belirleyen işlev. Daha sonra dizenin uzunluğu 0'a eşitse dize boştur; aksi halde öyle değil. Kullanırken sadece() Python'daki teknikte, dize boşluk içeriyorsa gerçekten boş bir dize olarak kabul edilmez.

Örnek

Bu örnekte iki tür dize kullandık: string1 ve string2. Dize2'de boşluklar vardır ve dize1 boş bir dizedir. Daha sonra her dizenin uzunluğu Python'un len() işlevi kullanılarak hesaplandı. Daha sonra dizenin uzunluğunun sıfıra eşit olup olmadığını kontrol etmek için 'if-else' döngüsünü kullandık; bu durumda koşul, dizenin boş olduğunu yazdırır ve bu durumda yazdırma dizesi boş değildir. Dizedeki boşluklar boş olarak değerlendirilmez. sadece() , boş olmayan bir dizeyle sonuçlanır. Son olarak her iki stringin sonucunu yazdırdık.

Kod:

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

Çıktı:

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

not Operator + str.isspace() kullanımı

Şeritteki boşlukları aynı şekilde kontrol eder. şerit() fonksiyon yapar. Fakat, şerit() karşılaştırıldığında işlev uzun zaman alır cadde. isspace() strip()'ın çok fazla hesaplama çalışması gerektiren bir strip işlemi yürütmesi gerektiğinden.

Örnek

Bu örnekte iki tür dize kullandık: string1 ve string2. Dize2'de boşluklar vardır ve dize1 boş bir dizedir. 'İf-else' koşulu kullanılmıştır. Biz kullandık isspace() if else koşulundaki tüm dize boşluklarını kontrol eden yöntem. Son olarak çıktı yazdırıldı ve her iki dizenin de boş olduğunu görebilirsiniz.

Kod:

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

Çıktı:

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

len() + string.strip() kullanımı

Python'da şunu kullanın: len() + string.strip() Tamamen boş bir dizeyi doğrulama tekniği. Bir dizedeki boşluklar, kullanılarak kaldırılır. string.strip() yöntem. Dizede boşluk varsa, şerit() yöntem onu ​​kaldırır ve sadece() işlevi dizenin boş olup olmadığını kontrol eder.

Örnek

Dize ne kadar boşluk koyarsak koyalım, bunların hepsini çıkarır ve dizenin uzunluğunu doğrular; 0 değerini döndürürse dize boştur; yoksa değil.

Kod:

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

Çıktı:

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

'Ve' Operatörü + strip() İşlevini Kullanma

Dizelerdeki boşlukların her zaman boş dizeler olarak yorumlanmadığını fark ettik. Yani, kullandığımızda şerit() Dizenin boş olup olmadığını doğrulamak için bir işlev kullanırsak, aslında boşlukları da kontrol edebiliriz.

Örnek

Bu örnekte iki giriş dizesi (string1 ve string2) kullandık. Dize2'de boşluklar vardır ve dize1 boş bir dizedir. Daha sonra if-else koşulunu kullandık ve şerit() Dizenin boş olup olmadığını görmek için işlev. Koşul Yanlış ise dize boştur ve bloklar aksi halde yürütülür. Bu yöntemde boşluk aynı zamanda boş bir dize olarak da kabul edilir. Son olarak sonuç yazdırıldı.

Kod:

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

Çıktı:

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

Strip() İşlevini Kullanma

Dizelerdeki boşlukların her zaman boş dizeler olarak yorumlanmadığını fark ettik. Yani, kullandığımızda şerit() Dizenin boş olup olmadığını doğrulamak için bir işlev kullanırsak, aslında boşlukları da kontrol edebiliriz.

Örnek

Bu örnekte iki giriş dizesi (string1 ve string2) kullandık. Dize1'de boşluklar vardır ve dize2 boş bir dizedir. Dizeleri çıkarmak, boşlukları kaldırmak ve dize boşalırsa boş bir dize döndürmek için if else koşulunu kullandık. Aksi halde dize boş değildir. Son olarak sonuç yazdırıldı.

Kod:

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

Çıktı:

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

__eq__ Yöntemini Kullanmak

Dunder, yöntemleri adlarından önce ve sonra iki alt çizgiyle tanımlar. __eq__ yöntemi boş bir dize olup olmadığını kontrol etmek için de kullanılabilir. çağrıldığında __eq__ Python'daki teknikte, dize boşluk içeriyorsa boş bir dize olarak kabul edilmez.

Örnek

Bu örnekte iki giriş dizesi (string1 ve string2) kullandık. Dize2'de boşluklar vardır ve dize1 boş bir dizedir. __eq__ fonksiyonu kullanılmıştır. If-else koşulunda, dizenin boş olup olmadığını doğrulamak için verilen yöntemi kullandık. Son olarak sonuç yazdırıldı. Bu yaklaşımda boşluklar boş dizeler olarak değerlendirilmez.

Kod:

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

Çıktı:

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