модуль string, та приклади застосування f-strings.
f-strings приклади та bestpractices:
print('%s is %d years old' % (name, age))
"Hello, {}. You are {}.".format(name, age)
"Hello, {1}. You are {0}.".format(age, name)
person = {'name': 'Eric', 'age': 74}
"Hello, {name}. You are {age}.".format(**person)
print(("Hello, {first_name} {last_name}. You are {age}. " +
>>> "You are a {profession}. You were a member of {affiliation}.") \
>>> .format(first_name=first_name, last_name=last_name, age=age, \
>>> profession=profession, affiliation=affiliation))
f"Name: {name}, age: {age}"
print(f'There are total of {bags * apples_in_bag} apples')
f"{2 * 37}"
'74'
debug:
import math
x = 0.8
print(f'{math.cos(x) = }')
print(f'{math.sin(x) = }')
$ python debug.py
math.cos(x) = 0.6967067093471654
math.sin(x) = 0.7173560908995228
У коді модуля string можемо знайти перелік функцій:
import string
# capitalize() - Converts the first character to upper case
# casefold() - Converts string into lower case
# center() - Returns a centered string
# count() - Returns the number of times a specified value occurs in a string
# encode() - Returns an encoded version of the string
# endswith() - Returns true if the string ends with the specified value
# expandtabs() - Sets the tab size of the string
# find() - Searches the string for a specified value and returns the position of where it was found
# format() - Formats specified values in a string
# format_map() - Formats specified values in a string
# index() - Searches the string for a specified value and returns the position of where it was found
# isalnum() - Returns True if all characters in the string are alphanumeric
# isalpha() - Returns True if all characters in the string are in the alphabet
# isdecimal() - Returns True if all characters in the string are decimals
# isdigit() - Returns True if all characters in the string are digits
# isidentifier() - Returns True if the string is an identifier
# islower() - Returns True if all characters in the string are lower case
# isnumeric() - Returns True if all characters in the string are numeric
# isprintable() - Returns True if all characters in the string are printable
# isspace() - Returns True if all characters in the string are whitespaces
# istitle() - Returns True if the string follows the rules of a title
# isupper() - Returns True if all characters in the string are upper case
# join() - Joins the elements of an iterable to the end of the string
# ljust() - Returns a left justified version of the string
# lower() - Converts a string into lower case
# lstrip() - Returns a left trim version of the string
# maketrans() - Returns a translation table to be used in translations
# partition() - Returns a tuple where the string is parted into three parts
# replace() - Returns a string where a specified value is replaced with a specified value
# rfind() - Searches the string for a specified value and returns the last position of where it was found
# rindex() - Searches the string for a specified value and returns the last position of where it was found
# rjust() - Returns a right justified version of the string
# rpartition() - Returns a tuple where the string is parted into three parts
# rsplit() - Splits the string at the specified separator, and returns a list
# rstrip() - Returns a right trim version of the string
# split() - Splits the string at the specified separator, and returns a list
# splitlines() - Splits the string at line breaks and returns a list
# startswith() - Returns true if the string starts with the specified value
# strip() - Returns a trimmed version of the string
# swapcase() - Swaps cases, lower case becomes upper case and vice versa
# title() - Converts the first character of each word to upper case
# translate() - Returns a translated string
# upper() - Converts a string into upper case
# zfill() - Fills the string with a specified number of 0 values at the beginning
###
Деяких функцій дуже не вистачає, як може здатися. Наприклад якщо треба перевірити чи символ належить до ASCII символів треба зробити змінну з переліком таких символів? Ні! Ми маємо можливість отримати їх з бібліотеки (довідник тут):
string.ascii_letters
– The concatenation of the ascii_lowercase
and ascii_uppercase
constants described below. This value is not locale-dependent.
string.ascii_lowercase
– The lowercase letters 'abcdefghijklmnopqrstuvwxyz'
. This value is not locale-dependent and will not change.
string.ascii_uppercase
– The uppercase letters 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
. This value is not locale-dependent and will not change.
string.digits
– The string '0123456789'
.
string.hexdigits
– The string ‘0123456789abcdefABCDEF’.
string.punctuation
– String of ASCII characters which are considered punctuation characters in the C
locale: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
.
та це багато інших констант, які можуть бути корисними.
Якщо хтось подумає що цього нема в бібліотеках – пошукайте, може це колесо вже є.