python 定义字符串变量_python 字符串(1)

字符串

操练一下字符串吧。

>>> print "good good study, day day up"

good good study, day day up

在python中,通常用一对双引号、或者单引号来包裹一个字符串。或者说,要定义一个字符串,就用双引号或者单引号。

转义字符例子:

>>> print "小明说:\"你好啊\""

小明说"我没有少圆明园"

这个例子中,为了打印出那句含有双引号的字符串,也就是双引号是字符串的一部分了,使用了一个符号:\,在python中,将这个符号叫做转义符。本来双引号表示包括字符串,它不是字符串一部分,但是如果前面有转义符,那么它就失去了原来的含义,转化为字符串的一部分,相当于一个特殊字符了。

转义符在打印第二句话:

>>> print 'what\'s your name?'

what's your name?

另外,双引号和单引号还可以嵌套,比如下面的句子中,单引号在双引号里面,虽然没有在单引号前面加转义符,但是它被认为是字符串一部分,而不是包裹字符串的符号

>>> print "what's your name?" #双引号包裹单引号,单引号是字符

what's your name?

>>> print 'what "is your" name' #单引号包裹双引号,双引号是字符

what "is your" name

变量连接到字符串

变量不仅可以跟数字连接,还能够跟字符串连接。

>>> a=5

>>> a

5

>>> print a

5

>>> b="hello,world"

>>> b

'hello,world'

>>> print b

hello,world

还记得我们曾经用过一个type命令吗?现在它还有用,就是检验一个变量,到底跟什么类型联系着,是字符串还是数字?

>>> type(a)

>>> type(b)

连接字符串(1)

>>> a = "我们"

>>> b= "学python"

>>> c = a+b

>>> print c

我们学python

用+号实现连接,的确比较简单,不过,有时候你会遇到这样的问题:

>>> a = 1989

>>> b = "free"

>>> print b+a

Traceback (most recent call last):

File "", line 1, in

TypeError: cannot concatenate 'str' and 'int' objects

抱错了,其错误原因已经打印出来了(一定要注意看打印出来的信息):cannot concatenate 'str' and 'int' objects。原来a对应的对象是一个int类型的,不能将它和str对象连接起来。怎么办?

可以用下面三种方法中的任何一种:

>>> print b + `a` #注意,` `是反引号,不是单引号,就是键盘中通常在数字1左边的那个,在英文半角状态下输入的符号

free1989

>>> print b + str(a) #str(a)实现将整数对象转换为字符串对象

free1989

>>> print b + repr(a) #repr(a)与上面的类似

free1989

首先明确,repr()和``是一致的,就不用区别了。接下来需要区别的就是repr()和str,一个最简单的区别,repr是函数,str是跟int一样,一种对象类型。

连接字符串(2)

先说明一下什么是占位符,此前在讲解变量(参数)的时候,提到了占位符,这里对占位符做一个比较严格的定义:

来自百度百科的定义:

顾名思义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。

根据这个定义,在python里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符:%d——表示那个位置是整数,%s——表示那个位置应该是字符串。下面看一个具体实例:

>>> print "one is %d"%1

one is 1

要求打印(print)的内容中,有一个%d占位符,就是说那个位置应该放一个整数。在第二个%后面,跟着的就是那个位置应该放的东西。这里是一个整数1。

我们做下面的操作,就可以更清楚了解了:

>>> a=1

>>> type(a)

#a是整数

>>> b="1"

>>> type(b)

#b是字符串

>>> print "one is %d"%a

one is 1

>>> print "one is %d"%b #报错了,这个占位符的位置应该放整数,不应该放字符串。

Traceback (most recent call last):

File "", line 1, in

TypeError: %d format: a number is required, not str

同样道理,%s对应的位置应该放字符串,但是,如果放了整数,也可以。只不过是已经转为字符串对待了。但是不赞成这么做。

>>> print "one is %s"%b

one is 1

>>> print "one is %s"%a #字符串是包容的

one is 1

下面我们就用占位符来连接字符串:

>>> a = "py"

>>> b = "thon"

>>> print "%s%s"%(a,b) #注

python

注:仔细观察,如果两个占位符,要向这两个位置放东西,代表的东西要写在一个圆括号内,并且中间用逗号(半角)隔开。

Python转义字符

在字符串中,有时需要输入一些特殊的符号,但是,某些符号不能直接输出,就需要用转义符。所谓转义,就是不采用符号现在之前的含义,而采用另外一含义了。下面表格中列出常用的转义符:

转义字符

描述

\

(在行尾时) 续行符

\ \

反斜杠符号

'

单引号

"

双引号

\a

响铃

\b

退格(Backspace)

\e

转义

\000

\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

八进制数,yy代表的字符,例如:\o12代表换行

\xyy

十六进制数,yy代表的字符,例如:\x0a代表换行

\other

其它的字符以普通格式输出

以上所有转义符,都可以通过交互模式下print来测试一下,感受实际上是什么样子的。例如:

>>> print "hello.I am hiekay.\ #这里换行,下一行接续

... My website is 'http://hiekay.github.io'."

hello.I am hiekay.My website is 'http://hiekay.github.io'.

>>> print "you can connect me by qq\\weibo\\gmail" #\\是为了要后面那个\

you can connect me by qq\weibo\gmail

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值