两个字符串紧挨着写在一起,具体格式为:

str_name = 'str1' 'str2'

示例:

str1 = '百度网址:' 'www.baidu.com'
print(str1)

结果:

百度网址:www.baidu.com

注意:这种方法只适用拼接字符串常量。

使用变量就借助 + 运算符来拼接;

语法格式为:

str_name = str1 + str2

示例:

1 name = "百度"
2 url = 'www.baidu.com'
3 str = name + '网址:' + url
4 print(str)

结果:

百度网址:www.baidu.com

字符串和数字的拼接:

Python不允许直接拼接数字和字符串,所以必须先将数字转换成字符串,借助 str() 和 repr() 函数将数字转换为字符串。

格式:

str(obj)
repr(obj)

obj 表示要转换的对象,它可以是数字、列表、元组、字典等多种类型的数据。

示例:

1 name = '张三'
2 age = 24
3 salary = 3500
4 str = name + '已经' + str(age) + '岁了,工资是' + str(salary) + '元'
5 print(str)

结果:

张三已经24岁了,工资是3500元

str() 和 repr() 的区别:

str() 和 repr() 函数虽然都可以将数字转换成字符串,但它们之间是有区别的:

  • str() 用于将数据转换成适合人类阅读的字符串形式。
  • repr() 用于将数据转换成适合解释器阅读的字符串形式(Python 表达式的形式),适合在开发和调试阶段使用;如果没有等价的语法,则会发生 SyntaxError 异常。

示例:

1 s = 'www.baidu.com'
2 s_str = str(s)
3 s_repr = repr(s)
4 
5 print(type(s_str))
6 print(s_str)
7 print(type(s_repr))
8 print(s_repr)

结果:

<class 'str'>
www.baidu.com
<class 'str'>
'www.baidu.com'

s 本身就是一个字符串,但是我们依然使用 str() 和 repr() 对它进行了转换。从运行结果可以看出,str() 保留了字符串最原始的样子,而 repr() 使用引号将字符串包围起来,这就是 Python 字符串的表达式形式。

 

截取字符串:

字符串是由多个字符构成的,字符之间是有顺序的,顺序号就称为索引(index),Python允许通过索引来操作字符串中的单个或者多个字符,比如获取只当索引处的字符,返回只当字符的索引值等。

获取单个字符:

知道字符串名字后,在方括号 [] 中使用索引即可访问对应的字符,具体格式为:

str_name[index]

Python 允许从字符串的两端使用索引:

  • 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
  • 当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3 ……

 示例:

1 str1 = 'www.baidu.com'
2 # 获取索引为3的字符
3 print(str1[4])
4 # 获取索引为5的字符
5 print(str1[5])

结果:

b
a

 

获取多个字符(字符串截取/字符串切片):

使用 [ ] 除了可以获取单个字符外,可以指定一个范围来获取多个字符,也就是一个子串或者片段。

具体格式为:

str_name[start:end:step]

对各个部分的说明:

  • str_name:要截取的字符串;
  • start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
  • end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
  • step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

示例一:

1 url = '表示要截取的第一个字符所在的索引(截取时包含该字符)。'
2 # 获取索引从3到27(不包含27)的子串
3 print(url[3:27])
4 # 获取索引7到-6的子串
5 print(url[7:-6])
6 # 获取索引从-26到-3的子串
7 print(url[-26:-3])
8 # 从索引3开始,每个4个字符取出一个字符,直到索引27为止
9 print(url[3:27:4])

结果:

截取的第一个字符所在的索引(截取时包含该字符)。
一个字符所在的索引(截取时包
示要截取的第一个字符所在的索引(截取时包含该字
截一所引时字

也可以如下所示:

1 url = '表示要截取的第一个字符所在的索引(截取时包含该字符)。'
2 # 获取从索引5开始,知道末尾的子串
3 print(url[5:])
4 # 获取从索引-26
5 print(url[-26:])
6 # 从开头截取字符串,知道索引27为止
7 print(url[:27])
8 # 每隔3个字符取出一个字符
9 print(url[::3])

结果:

的第一个字符所在的索引(截取时包含该字符)。
示要截取的第一个字符所在的索引(截取时包含该字符)。
表示要截取的第一个字符所在的索引(截取时包含该字符)。
表截第字在引取含符