tianchiday05

天池Python训练营

Day05

字符串和字典

字符串

1.字符串的定义

  • Python 中字符串被定义为引号之间的字符集合。
  • Python 支持使用成对的 单引号 或 双引号。
#例1
str1 = 'I love Python!'
str2 = "I love Python!"
#以上两条代码中,单引号和双引号是等效的。
print(str1)
print(str2)
I love Python!
I love Python!

如果字符串中需要出现特殊符号,则需要使用转义符号\来进行转义,否则会被视为普通字符或者出现语法错误。

#例2:
#不使用转义符时
str3 = 'let's go'
print(str3)
  File "<ipython-input-4-59604bc18ddd>", line 3
    str3 = 'let's go'
                ^
SyntaxError: invalid syntax
#使用转义符时
str4 = 'let\'s go'
print(str4)
let's go
#若特殊符号为单引号或者双引号时,可以在外层使用不同的引号来区别
#例3
str5 = "let's go"
str6 = '"my book"'
print(str5)
print(str6)
let's go
"my book"
  • Python 的常用转义字符
转义字符描述
\\反斜杠符号
\'单引号
\"双引号
\n换行
\t横向制表符(TAB)
\r回车

也可以在原始字符串前面加一个英文字母r

#例4
str7 = 'C:\\Program Files\\Intel\\Wifi\\Help'
str8 = r'C:\Program Files\Intel\Wifi\Help'
#以上两种表示方式是等效的
print(str7)
print(str8)
C:\Program Files\Intel\Wifi\Help
C:\Program Files\Intel\Wifi\Help

也可以使用三引号,允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

#例5
str9 = """多行字符串示例:
里面可以包含单引号',双引号",也可以包含换行符\n,
制表符\tab"""
print(str9)
多行字符串示例:
里面可以包含单引号',双引号",也可以包含换行符
,
制表符	ab

2.字符串的切片与拼接

字符串的切片与拼接要注意以下几点:

  • 字符串是不可修改的
  • 字符串的索引也是从0开始
  • 切片通常写成 start:end 这种形式,包括「start 索引」对应的元素,不包括「end索引」对应的元素。
  • 索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1。
  • 同样使用len()函数来获取字符串的长度。
#例6
str10 = 'abcdefghijk'
print(len(str10)) #获取字符串的长度
print(str10[0]) #获取字符串第一个字符
print(str10[-1]) #获取字符串最后一个字符
print(str10[2:4]) #获取字符串第3到第4个字符
print(str10[:5]) #获取字符串第一个到第5个字符
print(str10[4:]) #获取字符串从第5个到结束的字符
11
a
k
cd
abcde
efghijk
#例7:字符串的拼接
str11 = 'I love string!'
str12 = '需要合并的字符串'
print(str11)
print(str12)
str11 = str11 + '直接合并字符串'
print(str11)
str12 = str11 + str12
print(str12)
I love string!
需要合并的字符串
I love string!直接合并字符串
I love string!直接合并字符串需要合并的字符串

3.字符串的常用内置方法

  • capitalize() 将字符串的第一个字符转换为大写。
#例8
str13 = 'abcef'
print(str13.capitalize())
Abcef
  • lower() 转换字符串中所有大写字符为小写。
  • upper() 转换字符串中的小写字母为大写。
  • swapcase() 将字符串中大写转换为小写,小写转换为大写。
#例9
str14 = 'AbCdefG'
print(str14.upper())
print(str14.lower())
print(str14.swapcase())
ABCDEFG
abcdefg
aBcDEFg
  • count(str, beg= 0,end=len(string)) 返回str在 string 里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数。
#例10
str15 = 'DAXIExiaoxie'
print(str15.count('xi'))
2
  • endswith(suffix, beg=0, end=len(string)) 检查字符串是否以指定子字符串 suffix 结束,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。
  • startswith(substr, beg=0,end=len(string)) 检查字符串是否以指定子字符串 substr 开头,如果是,返回 True,否则返回 False。如果 beg 和 end 指定值,则在指定范围内检查。
#例11
str16 = 'DAXIExiaoxie'
print(str16.endswith('ie'))
print(str16.endswith('xi'))
print(str16.startswith('Da'))
print(str16.startswith('DA'))
True
False
False
True
  • find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end,则检查是否包含在指定范围内,如果包含,返回开始的索引值,否则返回 -1。
  • rfind(str, beg=0,end=len(string)) 类似于 find() 函数,不过是从右边开始查找。
#例12
str17 = "DAXIExiaoxie"
print(str17.find('xi'))  # 5
print(str17.find('ix'))  # -1
print(str17.rfind('xi'))  # 9
5
-1
9

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值