## Values, Types, Variable Names, and Keywords

Read these examples of using the 'print' and 'type' functions. You can also try to use them in the Repl.it command line.

In general, you can't perform mathematical operations on strings, even if the strings look like numbers, so the following are illegal:

'2'-'1' 'eggs'/'easy' 'third'*'a charm'

The `+`

operator works with strings, but it might not do what you expect: it performs **concatenation**, which means joining the strings by linking them end-to-end. For example:

first = 'throat' second = 'warbler' print first + second

The output of this program is `throatwarbler`

.

The `*`

operator also works on strings; it performs repetition. For example, `'Spam'*3`

is `'SpamSpamSpam'`

. If one of the operands is a string, the other has to be an integer.

This use of `+`

and `*`

makes sense by analogy with addition and multiplication. Just as `4*3`

is equivalent to `4+4+4`

, we expect `'Spam'*3`

to be the same as `'Spam'+'Spam'+'Spam'`

, and it is. On the other hand, there is a significant way in which string concatenation and repetition are different from integer addition and multiplication. Can you think of a property that addition has that string concatenation does not?