python字符串与format格式化

1.字符串操作符

比较操作符:字符串大小按ASCII码大小进行比较

a>A   b>a

切片操作符: [],[:],[::]

[n]:取字符串的某n个字符

[n:m]:取字符串第n到第m个字符显示效果为m-n,当m=2,n=1时只显示一个字符

[n:m:d]:取字符串第n到第m个字符,以d间隔

>>>str="abc123def"

>>>str[1]=b

>>>str[1:3]=bc

>>>str[::2]                      #每隔两个字符取一个

>>>ac2df

 

2.格式化字符串

学过C语言的人应该知道,c语言是要有占位符才能输出变量的,不像java可以直接用

C语言的格式如下 :  print ("%d",&a);

python语言稍有不同:print ("%d" % a)

提示:变量必须与占位符类型一致

比如python下:

a=1                      #没加双引号或单引号代表数字类型

a=1.2                   #没加双引号但是为小数代表浮点类型,浮点类型如果用%d则只输出整数位

a='1'                     #加单引号并且只有一个字符代表字符类型

a='12'                   #加单引号但是大于一个字符代表字符串

下面的表格是占位符对应变量的类型

python字符串与format格式化

 

3.字符串内建函数

string.capitalize():把字符串第一个字符大写

>>> str
'assdsada'
>>> str.capitalize()
'Assdsada'

string.center(width):返回一个用空格填充至长度width的新字符串,width只有大于字符串长度才能看到效果

>>> str.center(20)
'      assdsada      '

string.count(str,beg=0,end=len(string)):返回str在string里面出现的次数,从beg到end

 >>> str.count("sd",0,len(str))
1

string.endswith(str,beg=0,end=len(string)):检查字符串是否以str结束,如果是返回True,不是返回False

>>> str
'assdsada'
>>> str.endswith("da",0,len(str))
True
>>> str.endswith("aa",0,len(str))
False

string.islower():如果string中包含至少一个区分大小写的字符,则返回True

>>> str2='SADAS'
>>> str2.islower()
False

>>> str2=str2+"a"
>>> str2
'SADAS1a'
>>> str2.islower()
False

string.strip():删除字符串两端的空白

string.upper():将字符中的小写字母转换为大写


 

4.format格式化函数

位置参数: 

format 函数可以接受不限个参数,位置可以不按顺序。使用数字来获取变量,以0开始

格式:'{}{}'.format('','')

>>> 'my name is {},age {}'.format('libai',18)
'my name is libai,age 18'

>>> 'my name is {1},age {0}'.format('libai',18)
'my name is 18,age libai'

关键字参数:

格式:'{}{}'.format(key1=value1,key2=value2)

>>> 'my name is {name},age {age}'.format(name='libai',age='18')
'my name is libai,age 18'

 

数字格式化:

格式: '{:.}'.format(数字)

>>> '{:.2f}'.format(3.1415926)
'3.14'

>>> '{:^20.2f}'.format(3.1415926)
'        3.14        '
 

3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数(四舍五入)
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
3.1415926 {:^20.2f}     3.14 左右填充20个空格并且保留两位小数

 

使用索引:

格式:'{0[]}{0[]}'.format(['',''])

>>> 'my name is {0[0]},age {0[1]}'.format(['libai',18])
'my name is libai,age 18'