Python:字符串基础

字符串是 Python 的基础数据类型。我们常用引号('或")来创建字符串,字符串在程序中是最常用的数据类型之一。

字符串的连接

连接字符串使用‘+’号

# 加号连接很简单,两个字符串相加就可以
print('Hello'+' World!')
# 字符串连接整型数据时会报错,如下:
year = '2017'
month = 8
# 注意写出下面代码会报TypeError错误,month为整数型,需要str进行转换
print(year+month)  # 会报错 TypeError错误数据类型不对
print(year+str(month)) # str 强制转换为字符串类型

Python字符串运算符

Python字符串运算常用的连接(+)、是否存在(in \ not in)、原始字符串(r / R

是否存在(in\not in)

str1 in str,判断str1字符串存于str2字符串中,存在返回True,否则False
str1 not in str,判断str1字符串不存于str2字符串中,与in相反

str1 = 'abcdefghijk'
print('b' in str1)  # b 存在str1 结果True
print('b' not in str1) # b 存在str1 结果False
print('cdf' in str1)   # cdf 不存在str1 结果False
print('cdf' not in str1) # cdf 不存在str1 结果True
Python原始字符串(r/R)

原始字符串,所有的字符串都是直接按照字面的意思来使用,它没有转义或不能打印的字符。即,字符串中的转义失效,你看到的是什么样,它的结果就是什么样。
原始字符串在字符的第一个引号前面加上r(可大写可小写),其他与字符串的语法相同。

# 与转义的对比,你会发现所有的\ 转义都不起作用了
print(r'Hello\''
      ' World!')  
print(r'C:\Windows\System32\')
print('C:\\Windows\\System32\\') # 如果文件地址不使用原始字符串,需要在\前加上\转义   
print(r'I\'am woodman')
print(r"我要学习\"Python\"")
print(R'linux\b')
print(R'linux\ngood!')
print(R'Python\vgood!')
print(R'Python\t good!')
print(R'woodman\r good!')
print(R'woodman\f good!')

拓展:原始字符串多用于文件地址的输入和正则表达式,如:r’C:\Windows\System32’,不用对\ 加上 \ 了。

字符串的切片

字符串的切片看上去非常复杂,其实很简单,分为下面几种

首先理解,字符串中每个字符都分配一个数字索引,第一个索引是0,第二个索引是1,依此类推。
1、获取单个字符

str[index] index为下标索引,从0开始,如果索引为负数则是倒着开始

print("Hello"[0])  # 获取第一个字符,字符获取从0开始,第二个字符为1
# 字符串的下标计数从0开始,它是一个标记特殊的list(数据结构会讲到)
print("Hello"[2])  # 获取第三个字符
print("Hello"[-1])  # 获取倒数第一个字符,使用负数表示获取倒数第几个字符

2、获取多个字符

str[start:end] 读取索引start开始到索引为end-1结束的字符 。

w = 'woodman good!'
print(w[1:3])  # 获取索引1到2的字符 输出结果:oo
print(w[:4])   # 获取前4位
print(w[5:])   # 获取从索引号5开始后面的字符串  输出结果:an good!
print(w[:])    # 获取整个字符串
print(w[5:-1])  # 获取从索引号5开始后面的字符串,不包括最后一位 输出结果:an good
print(w[-5:-1]) # 获取倒数第5位到倒数第1位 输出结果:an good   输出结果:good

3、通过步长截取(自动化中没什么用)

str[start?step] 读取索引start开始每相隔step读取字符直到索引为end-1 结束

w = 'woodman good!'
print(w[1:10:2])  # 表示从第二个字符开始截取,间隔2个字符取一个
#输出结果:oda o

#自己尝试一下索引为负数的

4、拓展

字符串切片有几种特殊的用法

w = 'woodman good!'
print(w[::2])  # 隔两个截取一个字符串
print(w[::-1])  # 字符串倒叙,这个是比较有意思的

1、常用字符串函数

#前面4个要牢记,百分百用到
string = ’ 我是个木头人,我是个大帅哥 ’
string.replace(‘帅哥’, ‘美女’) # 替换字符串,帅哥替换从美女
string.strip() # 去除左右空格
string.split(’,’) # 拆分字符串,返回list
string.find(’,’) # 查找字符串,返回索引号
string = “I’am woodman”
print(string.upper()) # 将字符串全部转为大写
print(string.lower()) # 将字符串全部转为小写
print(string.title()) # 将字符串单词的第一个字母转为大写,其它字母小写
注意:所有的字符串函数都是有返回值的,它不是对原有字符串操作,你需要一个变量来接收你处理后的字符串。

如:a=string.strip(),string.strip()得到的值传递给a,但是string的值没有被改变。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值