python学习

Python字符串内置方法与格式化详解
本文详细介绍了Python字符串的常用内置方法,包括转换大小写、计数、检查子字符串、填充与对齐等,并讲解了字符串的格式化方法,如%d、%f、%s等格式化符号的使用。

python学习

1.字符串的常用内置方法
(1)capitalize()将字符串的第一个字符转化为大写
(2)lower()将字符串中所有的大写字符转化为小写字符
(3)upper()将字符串中所有的小写字符转化为大写字符
(4)swapcase()将字符串中的大写字符转化为小写字符,小写字符转化为大写字符

s3 = 'LOVElove'
print(s3.capitalize())
print(s3.lower())
print(s3.upper())
print(s3.swapcase())
Lovelove
lovelove
LOVELOVE
loveLOVE

(5)count(str,beg = 0,end = len(string))返回str在string里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数。

s3 = 'LOVElove'
print(s3.count('L',0,len(s3)))
1

(6)endwith(suffix,beg = 0,end = len(string))检查字符串是否以指定子字符串suffix结束,如果是,返回True,如果不是,返回False。如果beg和end为定值,则在指定范围内查找
(7)startwith(substr,beg = 0,end = len(string))检查字符串是否以指定子字符串substr开头,如果是,返回True,如果不是,返回False。如果beg和end为定值,则在指定范围内查找

s3 = 'LOVElove'
print(s3.endswith('ve'))
print(s3.endswith('ov'))
print(s3.startswith('LOV'))
print(s3.startswith('LV'))

True
False
True
False

(8)find(str,beg = 0,end = len(string))检测str是否包含在字符串中,如果beg和end确定,则在指定范围内查找,包含返回开始的索引值,不包含返回-1
(9)rfind(str,beg = 0,end = len(string))类似于find()函数,不过是从右边开始查找

s3 = 'LOVEVlove'
print(s3.find('V'))
print(s3.find('vs'))
print(s3.rfind('V'))
2
-1
4

(10)isnumeric()如果字符串中只包含数字字符,则返回True,否则返回False

s3 = 'LOVElove'
print(s3.isnumeric())
False

(11)ljust(width[,fillchar])返回一个原字符串左对齐,并使用fillchar(默认空格)填充至长度width的新字符串。
(12)rjust(width[,fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串。

s3 = 'LOVElove'
print(s3.ljust(9,'y'))
print(s3.rjust(12,'I'))
LOVElovey
LOVElove    
IIIILOVElove

(13)lstrip([chars])删除字符串左边的空格或指定字符
(14)rstrip([chars])删除字符串右边的空格或指定字符
(15)strip([chars])同时执行lstrip()和rstrip()

s4 = ' I love python '
print(s4.lstrip())
print(s4.rstrip())
print(s4.lstrip().strip('I'))
I love python 
 I love python
 love python 

(16)partition(sub)找到子字符串sub,把字符串分为一个三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’,’’,’’)
(17)rpartition(sub)和partition(sub)类似,不过是从右边开始查找。

s4 = ' I love python  '
print(s4.lstrip().partition('o'))
print(s4.rstrip().partition('m'))
print(s4.strip().rpartition('o'))
('I l', 'o', 've python  ')
(' I love python', '', '')
('I love pyth', 'o', 'n')

(18)replace(old,new[,max])把字符串中的old替换为new,如果max指定,则替换不超过max次

s4 = ' I love python '
print(s4.replace('o','q',2))
 I lqve pythqn 

(19)split(str = " ",num)不带参数默认是以空格为分隔符切片字符串,如果num参数有设置,则仅分隔num个子字符串,返回切片后的子字符串拼接的列表。

s4 = ' I love python '
print(s4.split('o',1))
print(s4.split('o'))
[' I l', 've python ']
[' I l', 've pyth', 'n ']

(20)splitlines([keepends])按照行(’\r’,’\r\n’,’\n’)分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则包含换行符。

s = 'I\nlove\none\rgirl'
print(s.splitlines())
['I', 'love', 'one', 'girl']

(21)maketrans(intab,outtab)创建字符映射的转换表,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标

s = 'this is a beautiful girl'
intab = 'this'
outtab = 'Lijj'
trantab = s.maketrans(intab,outtab)
print(trantab)
print(s.translate(trantab))
{116: 76, 104: 105, 105: 106, 115: 106}
Lijj jj a beauLjful gjrl

2.字符串格式化
(1)Python format 格式化函数

s = '{0} love one {1}'.format('I','girl')
print(s)

s = '{a} love one {b}'.format(a = 'I',b = 'girl')
print(s)

s = '{0} love one {b}'.format('I',b = 'girl')
print(s)

print('{0:.4f}{1}'.format(520.131415,'一生一世'))
I love one girl
I love one girl
I love one girl
520.1314一生一世

%c 格式化字符及其ASCII码
%s 格式化字符串,用str()方法处理对象
%r 格式化字符串,用reper()方法处理对象
str()和reper()的区别:前者对用户友好,后者面对python友好,str无法通过内建函数eval()返回原对象,reper()一般可以通过内建函数eval()返回原对象,但是在某些情况下也无法返回原对象
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%E

print('%c'%65)
print('%c'%97)
print('%c %c %c' %(97,98,99))
print('%d + %d = %d' %(4,5,9))
print('我叫 %s 今年 %d 岁' %('小明',10))
print('%o' %(10))
print('%x' %(10))
print('%X' %(10))
print('%f' %(23.4645))
print('%e' %(23.4645))
print('%E' %(23.4645))
print('%g' %(23.4645))
text = 'I am %d year old'%22
print('I said: %s'%text)
print('I said: %r'%text)
A
a
a b c
4 + 5 = 9
我叫 小明 今年 1012
a
A
23.464500
2.346450e+01
2.346450E+01
23.4645
I said: I am 22 year old
I said: 'I am 22 year old'

(2)格式化操作符辅助指令
(m.n) m是显示的最小总宽度,n是小数点的位数(如果可用的话)

(–)用作左对齐
(+)在正数前面显示加号(+)
(#)在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
(0)显示的数字前面填充’0’而不是默认的空格

print('%5.1f' %27.456)
print('%.2e'%27.658)
print('%10d' %10)
print('%-10d' % 10)
print('%+d' % 10)
print('%#o' % 10)
print('%#x' % 10)
print('%#X' % 10)
print('%010d'%5)
 27.5
2.77e+01
        10
10        
+10
0o12
0xa
0XA
0000000005

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值