these numbers default to having decimal places of accuracybut this can be increased or decreased to suit our needs all three floating-point types can be used with the appropriate built-in mathematical operators and functions and in additionthe math module provides variety of trigonometrichyperbolicand logarithmic functions that can be used with floatsand the cmath module provides similar set of functions for complex numbers most of the was devoted to strings python string literals can be created using single quotes or double quotesor using triple quoted string if we want to include newlines and quotes without formality various escape sequences can be used to insert special characters such as tab (\tand newline (\ )and unicode characters both using hexadecimal escapes and unicode character names although strings support the same comparison operators as other python typeswe noted that sorting strings that contain non-english characters can be problematic since strings are sequencesthe slicing operator ([]can be used to slice and stride strings with very simple yet powerful syntax strings can also be concatenated with the operator and replicated with the operatorand we can also use the augmented assignment versions of these operators (+and *=)although the str join(method is more commonly used for concatenation strings have many other methodsincluding some for testing string properties ( str isspace(and str isalpha())some for changing case ( str lower(and str title())some for searching ( str find(and str index())and many others python' string support is really excellentenabling us to easily find and extract or compare whole strings or parts of stringsto replace characters or substringsand to split strings into list of substrings and to join lists of strings into single string probably the most versatile string method is str format(this method is used to create strings using replacement fields and variables to go in those fieldsand format specifications to precisely define the characteristics of each field which is replaced with value the replacement field name syntax allows us to access the method' arguments by position or by name (for keyword arguments)and to use an indexkeyor attribute name to access an argument item or attribute the format specifications allow us to specify the fill characterthe alignmentand the minimum field width furthermorefor numbers we can also control how the sign is outputand for floating-point numbers we can specify the number of digits after the decimal point and whether to use standard or exponential notation we also discussed the thorny issue of character encodings python py files use the unicode utf- encoding by default and so can have commentsidentifiersand data written in just about any human language we can convert string