pyhton3数据类型之str

一、python中的字符串

1、定义字符串:可以通过单引号和双引号来创建字符串,两种方式的作用和效果一样
s1 = 'hello world' 一个单引号
s2 = "hello world"
其他:
s3 = '''hello world''' 三个单引号
s4 = """hello world"""三个双引号
这两种通常用于换行,同换行符\n一样

2、单个字符也是一个字符串

3、字符串支持索引,从字符串头开始的索引是0,从字符串结尾开始的索引是-1

获取单个字符:s1[3] 结果为‘l‘
截取字符串:s1[3:6] 结果为‘lo ‘
截取前n个字符:s1[:3]结果为‘hel‘

二、python转义字符

转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\’单引号
\”双引号
\a响铃(半角空格)
\b退格(Backspace,删除\b前的一个空格)
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页

三、python字符串运算符

a=’Hello’ b=’World’

操作符描述实例
+字符串连接a + b 输出结果: HelloWorld
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e,a[-1]的结果 o
[ : ]截取字符串中的一部分a[1:4] 输出结果 ell,a[:-1]的结果 Hell
in成员运算符如果字符串中包含给定的字符返回 True ‘H’ in a 输出结果 True
not in成员运算符如果字符串中不包含给定的字符返回 True,’s’ not in a 输出结果 False
r/R原始字符串字符串前加上r/R,那么字符串中的转义都不会起作用

四、python字符串格式化

python字符串格式化符号:

符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

五、python字符串内建函数

注意:python字符串内建函数大多数是对c语言string的封装,所以使用时不能带参数名称
s1 = ‘Hello {0} {1} ’
s2 = ‘World’
s3 = ‘!’
参数前*表示一个或多个参数,**表示一个或多个键值对参数,=表示有默认值,无符号表示必须参数,下表中省略self

函数描述参数说明
format(*args, **kwargs)格式化字符串参数列表长度必须和占位符数量相等
strip(chars=None)去掉字符串两端指定的字符,默认去除空格chars类型是None或者str
split(sep=None, maxsplit=-1)分割字符串sep为分割符,maxsplit最大分割数,返回结果为list
replace(old, new, count=None)old为需要被替换的字符,new为新的字符串,count为替换个数,默认替换所有count为0时不替换任何字符
find(sub, start=None, end=None)查找指定字符串sub在原字符串中的位置start为查询的起始位置,end为查询的终止位置,未查到返回-1,查到返回sub在字符串中的索引
capitalize()将字符串的首字母转换为大写
casefold()将字符串中的所有大写转换为小写
center(width, fillchar=None)将字符串两边用fillchar字符填充width填充后总的长度
count(sub, start=None, end=None)统计字符串的个数sub被统计的字符串,start开始统计的起始位置,end为统计的结束位置
encode(encoding=’utf-8’, errors=’strict’)对字符串进行编码默认编码方式是utf-8,默认的错误处理方式是strict。返回byte数组
endswith(suffix, start=None, end=None)判处字符串的是否是以suffix结尾start开始位置,end结束位置
expandtabs(tabsize=8)将字符串中的\t转换为指定哥数空格默认8个空格
index(sub, start=None, end=None)和find方法一样,只不过没有查到会抛出异常
isalnum()如果字符串是由数字、字符或者汉子组成,则返回True,否则返回False
isalpha()如果字符串是由数字、字符或者汉子中的一种组成,返回True否则返回False
isdecimal()如果字符串中只有十进制数字字符,则返回True,否则返回False
isdigit()如果字符串中所有字符都是十进制数字,则返回True,否则返回False‘¹①⒈ ‘等特殊符号组成字符字符串返回True
isnumeric()如果字符串中所有字符都能代表一个数字,则返回True,否则返回False¾௰Ⅹ六’等特殊符号组成字符字符串返回True
islower()判断字符串的每个字符是否都是小写至少带有一个英文字符并且字符是小写才返回True,其他全返回False
isidentifier()判断一个字符串是否可以作为标识符如果字符串是关键字,也会返回True
isprintable()是否是可打印字符,也就是可见字符ASCII字符集由95个可打印字符(0x20-0x7E)和33个控制字符(0x00-0x19,0x7F)组成、
isspace()是否是空白字符常见的有‘\t\r\n\v\f‘已经全角空格和 半角空格
istitle()字符串中所有单词首字母是否是大写
isupper()字符串的每个单词是否是大写
join(iterable)在可迭代的元素中插入字符串迭代的元素必须是字符串
ljust返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
lower()将字符串中的大写全部转换为小写
lstrip(chars=None)移除字符串最左边指定的字符默认去掉空格
maketrans( *args, **kwargs)将两个字符串转化为对应ASCII码字典str.maketrans(‘god’,’123’)的结果是{103: 49, 111: 50, 100: 51}
translate(table)更具一个字典来转换字符table为字符ASCII码字典,例如{103: 49, 111: 50, 100: 51}表示的是{‘g’: ‘o’, ‘d’: ‘1’, ‘2’: ‘3’}
partition(sep)从左边第一个分割符分割字符串分割字符串为sep,返回list中包含分割符
rfind(sub, start=None, end=None)从字符串的右边查找字符串相当于find,只不过,返回的index从最右边开始计算的
rpartition(sep)从右边第一个分割符分割字符窜分割字符串为sep,返回list
rsplit(sep=None, maxsplit=-1)和split相似,用于分割字符串和split区别在于maxsplit是从右开始计数的
swapcase()将字符串中的小写全部转换大写
title()将字符串中的每个单词的首字母大写
zfill(width)在字符串的左边添加0使得字符串的长度为width

测试代码:

if __name__ == '__main__':
    s1 = 'Hello {0} {1} '
    s2 = 'World'
    s3 = '!'
    print(len(s1))
    print(s1.format(s2,s3))
    print(s2.strip(''))
    print(s1.split(' '))
    print(s1.replace('l','s',2))
    print(s1.find('{',7,9))
    print('world'.capitalize())
    print("WORld S".casefold())
    print(s2.center(12,'s'))
    print(s1.count('l',1,3))

    s4 = '学\t习'
    print(s4.encode('gbk'))
    print(s2.endswith('l',1,4))
    print(s4.expandtabs())
    print(s2.index('o'))
    print('hi你好123'.isalnum())
    print('你好'.isalpha())
    print('1'.isdecimal())
    print('¹①⒈'.isdigit())
    print('¾௰Ⅹ六'.isnumeric())
    print('jwr0@学'.islower())
    print('_jwr_0_'.isidentifier())
    print('None'.isidentifier())
    print('\t'.isprintable())
    print('\t\r\n\v\f'.isspace())
    print('Hello World'.istitle())
    print('HELLO WORLD'.isupper())
    myArray = {'1','2','3','3'}
    print('HELLO WORLD'.join(myArray.__iter__()))
    print('Hello World'.ljust(15,'c'))
    print('Hello WORLd'.lower())
    print('Hello WORLdH'.lstrip('H'))

    a = 'good good study'
    print(a.translate(str.maketrans('god','123')))
    print(a.translate({103: 49, 111: 50, 100: 51}))
    print(a.partition('oo'))
    print(a.rfind('o'))
    print(a.rpartition('oo'))
    print(a.rsplit('oo',1))
    print(a.split('oo',1))
    print(a.swapcase())
    print(a.title())
    print(a.zfill(44))

结果:

14
Hello World ! 
World
['Hello', '{0}', '{1}', '']
Hesso {0} {1} 
-1
World
world s
sssWorldssss
1
b'\xd1\xa7\t\xcf\xb0'
True
学       习
1
True
True
True
True
True
True
True
True
False
True
True
True
3HELLO WORLD2HELLO WORLD1
Hello Worldcccc
hello world
ello WORLdH
1223 1223 stu3y
1223 1223 stu3y
('g', 'oo', 'd good study')
7
('good g', 'oo', 'd study')
['good g', 'd study']
['g', 'd good study']
GOOD GOOD STUDY
Good Good Study
00000000000000000000000000000good good study
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值