data types offers better solution the method takes sequence as an argument ( list or tuple of strings)and joins them together into single string with the string the method was called on between each one for exampletreatises ["arithmetica""conics""elements"join(treatises'arithmetica conics elements"--join(treatises'arithmetica--conics--elements"join(treatises'arithmeticaconicselementsthe first example is perhaps the most commonjoining with single characterin this case space the third example is pure concatenation thanks to the empty string which means that the sequence of strings are joined with nothing in between the str join(method can also be used with the built-in reversed(functionto reverse stringfor example"join(reversed( ))although the same result can be achieved more concisely by stridingfor examples[::- the operator provides string replications "= print( ==== * print( =================================================as the example showswe can also use the augmented assignment version of the replication operator when applied to stringsthe in membership operator returns true if its lefthand string argument is substring ofor equal toits right-hand string argument in cases where we want to find the position of one string inside anotherwe have two methods to choose from one is the str index(methodthis returns the index position of the substringor raises valueerror exception on failure the other is the str find(methodthis returns the index position of the substringor - on failure both methods take the string to find as their first argumentand can accept couple of optional arguments the second argument is the start position in the string being searchedand the third argument is the end position in the string being searched strings also support the operator for formatting this operator is deprecated and provided only to ease conversion from python to python it is not used in any of the book' examples