Python之字符串

这两天在学习Python,就有心把自己的学习过程记录下来,作为自己的学习笔记吧。首先上一张有关Python字符串的思维导图

废话不多说,一步一步看

1.字符串的表示

Python中的字符串是指用单引号、双引号或者三引号引出的一组字符,例如:
(1)str_one = '我是用单引号引的字符串'
(2)str_two = ''我是用双引号引的字符串''
(3)str_three = '''我是由三个单引号引的字符串'''
(4)str_four = """我是由三个双引号引的字符串"""
对于字符串的表示很简单,这里不多做说明,需要注意以下几点:
(1)如果一句话中本身就存在单引号,那么我们就用双引号引它,如果一句话中本身就存在单引号,那么我们就用双引号引它,就像 a = "this is a so 'cute' cat",b = '今天终于“星期四”了,好开心!'
(2)三引号引出的字符串可以换行,如下

str_one = '''
我是第一行
我是第二行
'''

2.字符串的取值

content = "Never stop learning!"

(1)索引:content [num]

num是一个数值,在代码中,num从左到右的顺序是0,1,2,3...,所以content[0] = 'N',content[1] = 'e',当然我们也可以从右往左取,从右往左的下标顺序是-1,-2,代表倒是第一个,倒数第二个,如content[-1]='!'

(2)切片:content[m:n:s]m代表开始下标,n代表结束下标,取值时取m到n前一个的值,s代表步长

具体看下面代码示例来理解字符串的获取

content = "Never stop learning!"
print(content[0])  # N
print(content[-2])  # g
print(content[78])  # 超出字符串长度,报错:IndexError: string index out of range
print(content[0:5:1])  # 截取从索引0~取到第四个,步长为1,前闭后开
print(content[0:5])  # 从第0个取到第四个,默认步长为1
print(content[0:])  # 从第0个取到最后一个
print(content[:8])  # 截取从开始位置~ 位置8 的字符串
print(content[::])  # 截取完整的字符串
print(content[2:-1])  # 截取从索引2 ~ 末尾-1的字符串
print(content[-2:])  # 截取字符串末尾两个字符
print(content[::-1])  # 字符串的逆序(拓展)
print(content[3:100])  # 和索引有区别,切片值返回切的的数据,不报错
print(content[20:100])  # 返回空 不报错
print(content[0:-1:1])  # 倒数第一个不取 

如有疑问,可以自己取打印一下上面的值,不难理解。

3.字符串的格式化

照例先看一下如下代码

name = "lily"
age = 27.156789
print("%s今年%.2f岁" % (name, age))  # 1
print("I'm %(name)s. I'm %(age)d year old" % {'name': name, 'age': age})  # 2
print('{}今年{}岁'.format(name, age))  # 3
print('{1}今年{0}岁'.format(age, name))  # 4
print('{name}今年{a}岁'.format(name=name, a=age))  # 5

第1句:没啥东西,主要就是用了格式化符,%s表字符串,%f代表浮点类型,%.2f代表浮点数保留两位小数。
第2句:格式化符中间加(),里面填写属性名,跟后面赋值部分的属性名称相对照
第3句:.format格式开始,值的地方用{}占位i,然后.format()里填写属性即可
第4句:{}中间添加数值,代表的是.format()里相对的第几个
第5句:{}中间添加属性值,后面.format()里面改成赋值形式

格式化符对照表:

%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同
%g    指数(e)�或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
%%    字符"%"

一般用到最多的也就%s,%d,%f等

4.字符串中常用的内置函数

name = " lily Is A Big pig "
print(name.upper())  # 全部转换为大写
print(name.lower())  # 全部转换为小写
print(name.capitalize())  # 首字母大写,其余小写)
print(name.title())  # 首字母大写
print(name.replace('Big', 'small'))  # 替换,将big替换成small
print(name.find('Big'))  # 查找字符串中是否有字符串,查找到则返回第一个下标,查找不到则返回-1
# print(name.index('hyq'))  # 和find功能类似,区别在于index如果找不到会报错:ValueError: substring not found
print(name.isdigit())  # 判断是否是数字类型
print(name.strip())  # 前后的空格除去,这里把lily前面的空格和pig后面的空格去掉
print(name.lstrip())  # 去左边空格
print(name.rstrip())  # 去左边空格
print(name.count('g'))  # 统计指定字符出现的次数
print(name.split(' '))  # 按指定字符分割字符串为数组

常用的内置函数就不多说了,上面都有相对的注释,嘻嘻!
好啦,关于字符串要整理的就这些拉,想起来再来补充,打完收工!!

你可能感兴趣的:(Python之字符串)