Python – useful string methods

Hi all, here is a brief list of useful string methods.

capitalize(). Makes the first letter of the string uppercase and all the rest lowercase, and returns the result.
lower(). Returns a version of the string with all uppercase letters changed to lowercase.
upper(). Returns a version of the string with all lowercase letters changed to uppercase.
title(). Returns a version of the string with each word (e.g., letter following a space) capitalized.
strip(). Returns a version of the string with any whitespaces (spaces, line breaks, etc.) at the beginning and end of the string removed. rstrip() and lstrip() apply this strip() method only to the right or left sides of the string.
replace(old, new). Replace all occurrences of the substring old with the substring new.
rfind(findString). Just like find(), but returns the last index of findString instead of the first.
join(list). Creates a string where each item in the list is followed by the string, and returns the result.

endswith(suffix). Returns True if the string ends with suffix, False if not.
startswith(prefix). Returns True if the string starts with prefix, False if not.
isalnum(). Returns True if the string is all letters and numbers, False if not.
isalpha(). Returns True if the string is all letters, False if not.
isdecimal(). Returns True if the string represents an integer or decimal number, False if not.
isdigit(). Returns true if the string is all numbers (e.g., represents an integer), False if not. isnumeric() is similar, but supports fraction and other characters as well (which are rarely used).
islower(). Returns True if the string contains no uppercase letters, False if not.
isupper(). Returns True if the string contains no lowercase letters, False if not.
istitle(). Returns True if the string is in title case, meaning each word is capitalized, and False if not.

Here is a sample:

str1 = "this is MY test string!   "
print("Original state: "+"\t\t\t"+str1)
print("with Capitalize method: "+"\t"+str1.capitalize())
print("with Lower method: "+"\t\t\t"+str1.lower())
print("with Upper method: "+"\t\t\t"+str1.upper())
print("with Title method: "+"\t\t\t"+str1.title())
print("with Capitalize method: "+"\t"+str1.capitalize())
print("with Strip method: "+"\t\t\t"+str1.strip())
print("with Replace method: "+"\t\t"+str1.replace("MY","YOUR"))

list1 = str1.split()
print(list1)
new_str1 = "%".join(list1)
print(new_str1.split("s"))

The output will be;
Original state: 			this is MY test string!   
with Capitalize method: 	This is my test string!   
with Lower method: 			this is my test string!   
with Upper method: 			THIS IS MY TEST STRING!   
with Title method: 			This Is My Test String!   
with Capitalize method: 	This is my test string!   
with Strip method: 			this is MY test string!
with Replace method: 		this is YOUR test string!   
['this', 'is', 'MY', 'test', 'string!']
['thi', '%i', '%MY%te', 't%', 'tring!']

Python – Valid character list

Hi, let us check the given string against a valid character list. There might be numerous way to do this. Here is a sample one.

 

str_to_check = "1234-3*33?3+----!"
valid_chars = "0123456789-+"
uyan_char_sayisi = 0
uymayan_listesi = ""
uymayan_char_sayisi = 0

str_to_check_uzunluk = len(str_to_check)
valid_chars_uzunluk = len(valid_chars)
#print(str_to_check_uzunluk)
for i in range(0,str_to_check_uzunluk):
    for j in range(0,valid_chars_uzunluk):
        if str_to_check[i] == valid_chars[j]:
            uyan_char_sayisi += 1
    if not str_to_check[i] in valid_chars:
        uymayan_listesi += str_to_check[i]

if uyan_char_sayisi == str_to_check_uzunluk:
    print("String is valid")
else:
    print("String is invalid")
print("Here is/are the invalid character(s) :",uymayan_listesi)

The output will be;
String is invalid
Here is/are the invalid character(s) : *?!

Python – Average word count 2

Hi, here is a kind of follow up for the 1st one. We, in this exercise , deal with leading space(s) , Boolean and punctuation.

def average_word_length(my_string):
    space_sayisi = 0
    word_sayisi = 0
    letter_sayisi= 0
    ortalam_word_uzunlugu = 0
    punctuation_sayisi = 0
    punctuation_listesi = ".,!? "
    try:
        uzunluk = len(my_string)
    except:
        return "Not a string"
    for i in range(0,uzunluk):
        if my_string[i] in punctuation_listesi:
            punctuation_sayisi += 1
        if punctuation_sayisi == len(my_string):
            return "No word"
        if my_string[i].isspace() and my_string[i+1].isalpha():
            space_sayisi += 1
            #print(space_sayisi)
    if my_string[0].isspace():
        space_sayisi -= 1
    word_sayisi = space_sayisi +1
    for i in range(0,uzunluk):
        if my_string[i].isalpha():
            letter_sayisi += 1
    ortalam_word_uzunlugu = letter_sayisi / word_sayisi
    return ortalam_word_uzunlugu





print(average_word_length("Hi"))
print(average_word_length("Hi, Lucy"))
print(average_word_length("   What   big spaces  you    have!"))
print(average_word_length(True))
print(average_word_length("?!?!?! ... !"))

The output will be;
2.0
3.0
4.0
Not a string
No word

Python – Error Handling 2

Hi all, here are more examples for error handling.

my_value = 10

try:
    print(1 / my_value)
    print("No error occurred!")
except NameError:
    print("A NameError occurred!")
except ZeroDivisionError:
    print("A ZeroDivisionError occurred!")
except TypeError:
    print("A TypeError occurred!")
print("Done!")
We catch three error types.

try:
    print(undeclared_variable)     #---> cause of a NameError
    print(1 / 0)                  #---> cause of a ZeroDivisionError
    print("No error occurred!")
except NameError:
    print("A NameError occurred!")
except ZeroDivisionError:
    print("A ZeroDivisionError occurred!")
print("Done!")

Python – Error Handling 1

Hi all, here are the samples for error handling with try/catch.

my_value = "0"
try:
    print(10 / my_value)

except ZeroDivisionError:
    print("Can't divide by zero")
except:
    print("Not possible")
When you run the code, here is the output
Not possible
my_value = 0
try:
    print(10 / my_value)

except ZeroDivisionError:
    print("Can't divide by zero")
except:
    print("Not possible")
When you rune the code, here is the output
Can't divide by zero
my_value = 5
try:
    print(10 / my_value)

except ZeroDivisionError:
    print("Can't divide by zero")
except:
    print("Not possible")
When you run the code, here is the output
2.0