字符串(String),由零个或多个字符组成的有限串行
在Python中,字符串类型的对象通常由单引号或者双引号包裹起来
>>> 'I Love Python'
'I Love Python'
>>> "I Love Python"
'I Love Python'
>>>
从以上两个例子中可以看出,无论是双引号还是单引号,它们的结果是相同的。
>>> type(111)
<type 'int'>
>>> "111"
'111'
>>> type("111")
<type 'str'>
>>>
这两个看似一样,但是区别很大,我们通过type( )可以看出,这两个一个类型为整型,一个为字符串,对象的类型是不同的。
下面做两个练习
>>> print "This is a string"
This is a string
>>> print "This --- is --- a --- string"
This --- is --- a --- string
>>>
思考,如果在单引号字符串中有单引号怎么办?
如:
>>> 'what's this'
SyntaxError: invalid syntax
>>>
我们发现出现了语法错误。
那么,该如何解决这个问题呢?
如果接触过Java或者类C编程语言的同学可能知道,遇到特殊字符用转义字符来解决。
方法一
如果字符串中包括单引号的字符串,那么用双引号将会解决这个小语法错误。
>>> "What's this?"
"What's this?"
>>>
方法二
其实就是我们所说的转义
>>> 'What\'s this ?'
"What's this ?"
>>>
变量和字符串
在Python中,变量无类型,对象有类型,变量就相当于一个标签,贴在了不同的对象上
>>> b = "This is a string"
>>> print b
This is a string
>>> type(b)
<type 'str'>
>>>
连接字符串
’ + ‘号在数学中是一个加号,但是在编程语言中,它还有一种独特的身份,那就是用来 连接
>>> a = 'Hello'
>>> b = 'World'
>>>> print a + b
HelloWorld
>>>
但是如果a= 10 ,b =”this is ten”,用Print a + b会怎么样呢?
>>> a = 10
>>> b = "this is ten"
>>> print a + b
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
print a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
我们发现报错了,语法错误是,不支持操作Int类型和str类型的连接
那么如何解决呢?
方法一
使用反引号来解决
注意,是反引号,即键盘上ESC下的键
在shell中,反引号通常用来作为一个命令的结果来使用
>>> a = 10
>>> b = "This is ten"
>>> print `a` + b
10This is ten
>>>
方法二
用函数repr( ),其实是反引号的替代品
a = 10
b = “This is ten”
print repr(a) + b
10This is ten今天的学习就到此结束。希望对大家所帮助!