首页 > 开发 > Python > 正文

Python中的字符串String

2023-04-27 19:03:17
字体:
来源:转载
供稿:网友

Python中除了数字(Numbers)(int,float,complex)之外,另外一种重要的类型就是字符串。

字符串是字符序列,可以由任何字符构成。

在Python语言中,字符串可以放在单引号('这是字符串内容')或双引号("这是字符串内容")中。

Python中提供了丰富的字符串操作函数以及灵活的运算方式。本站将在今后陆续推出相关内容。

Python中的字符串

1、Python字符串定义及输出

Python中字符串的定义与变量的定义方式相同。字符串内容放入单引号或双引号即可。

下面是在Python 3.8.2 IDLE中的执行情况:

>>> "Hello"
'Hello'
>>> 'www.VeVb.com'
'www.VeVb.com'
>>> "'I Love You',She said and went out yesterday."
"'I Love You',She said and went out yesterday."
>>> 'VeVb.com的名称是"武林网VEVB"'
'VeVb.com的名称是"武林网VEVB"'
>>> s = "www.VeVb.com"
>>> s
'www.VeVb.com'
>>> s = 'www.VeVb.com'
>>> s
'www.VeVb.com'
>>> s = "武林网VEVB"
>>> print(s)
武林网VEVB

从上面的执行可以看出,在Python IDLE中直接输出字符串的话 ,输出结果是含单引号的,并且在字符串中不包含双引号或单引号的话,Python输出的字符串一律使用单引号包裹起来,否则会原样输出。使用print()函数输出的字符串是不含单引号或双引号的。

2、字符串中引号的处理

 有时字符串内容中包含单引号或双引号,这时,我们可以有2种处理方式:

(1)单引号中使用双引号或双引号中使用单引号

s1 = "他昨天跟我说:'我已经学会了Python的所有基础内容。'"
print(s1)
s2 = '她昨天拒绝了我的求爱,她是这样跟我说的:"我的孩子现在上小学了。"'
print(s2)

#下面这种定义方式存在问题
s3 = '轻轻的我走了,正如我轻轻的来。'你个小偷,往哪里走!'突然屋主人醒了。'
print(s3)
#下面这种定义方式也存在问题
s4 = "轻轻的我走了,正如我轻轻的来。"你个小偷,往哪里走!"突然屋主人醒了。"
print(s4)

上面例子中,后面两个由于字符串中的引号和包裹字符串内容的引号使用相同,会给出 SyntaxError: invalid syntax 的错误。而第1和第2个例子中,包裹字符串的引号和字符串中的引号使用不同的形式,可以避免发生问题

(2)使用转义字符

 转义字符是指对字符串中一些特殊字符的处理方式,如换行、tab键字符、单引号、双引号等(本站将在今后专门来介绍)。转义字符使用 / 来表示,即 / 后的一个字符。

str = "He was my loved man,but he always said to me:/"You are doing right things. But I/'m not a GUY/""
print(str)
OutPut: He was my loved man,but he always said to me:"You are doing right things. But I'm not a GUY"

上面的例子中字符串中包含了双引号和单引号的情况,而在字符串中出现引号的前面加一个 / 就避免了出现语法错误的问题。

3、连接字符串

在Python中可以使用 + 把多个字符串连接成一个字符串。

>>> 'Hello' + ' Kitty'  #注意,我这里的Kitty前面加了一个空格
'Hello Kitty'
>>> s1 = "Hello,"
>>> s2 = "VeVb.com"
>>> s1 + s2
'Hello,VeVb.com'
>>> s3 = s1 + s2
>>> print(s3)
Hello,VeVb.com

 在Python中,并列定义的多个字符串,自动合并为一个字符串,如下例:

>>> "武林网VEVB" "网址是:" "www.VeVb.com"
'武林网VEVB网址是:www.VeVb.com'
>>> s = "I Love you since I/'m a child." "Sure,I/'m your father after all."
>>> print(s)
I Love you since I'm a child.Sure,I'm your father after all.

上面的例子中,并列定义时,不允许换行。

这种语法在处理较长文本时是非常有用的:

s = ("昨天一个疯子跑过来,使劲拽着我的胳膊,我甩都甩不掉了。"
      "当时我吓坏了,我一直在想着逃脱的方法。"
     "这时一位警察走过来,把我摁倒在地。"
"警察说:/"我们盯你好久了,你竟然光天化日下抢夺别人的东西!/""
)
print(s)

上面这个例子,将会把所有的字符串按一个字符串来处理。

这种语法结构只能用于字符串本身的情况,不可以使用变量,下面这个例子将会有语法错误:

s1 = "武林网"
s2 =  s1 "VEVB"  #语法错误
s3 = "www.VeVb.com"
s4 = s1 s3  #语法错误
s5 = "武林网" s3   #语法错误

上面在定义s2、s4和s5时的写法都是错误的。这种情况下只能使用 + 来把多个字符串连接。

4、字符串的重复次数

在Python中可以使用 * 对某个字符串重复若干次。

>>> "I Love You!" * 3
'I Love You!I Love You!I Love You!'
>>> 3 * 'abc'
'abcabcabc'
>>> s = "AB"
>>> s * 3
'ABABAB'
>>> 3 * s
'ABABAB'

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表