python学习023-----python之字符串

==================【关于字符串应该掌握的方法】=================
***************************************************************
1.capitalize()
***************************************************************
字符串首字母大写,例:

str2 = 'hushuiweilan'
str2 = str2.capitalize()
print(str2)        #输出:Hushuiweilan

***************************************************************
2.casefold()
***************************************************************

将字符串中所有大写字母变为小写,例:

str3 = 'HUSHUIweilan'
str3 = str3.casefold()
print(str3)       #输出:hushuiweilan

***************************************************************
3.center(width)
***************************************************************

将字符串居中,并使用空格填充至长度为width的新字符串中。例:

str3 = str3.center(30)
print(str3)         #输出:"         hushuiweilan         "

***************************************************************
4.count(sub[,start,end])
***************************************************************

返回sub在字符串里出现的次数,start和end参数表示范围,可选。例:

a = str2.count('u')
print(a)           #输出:2
b = str2.count('u', 0, 2)
print(b)           #输出:1

***************************************************************
5.endswith(sub[,start,end])
***************************************************************

检查字符串是否以sub字符串结束,如果是,返回True,否则返回False。start和end参数表示范围,可选。例:

a = str2.endswith('lan')
print(a)           #输出:True
b = str2.endswith('a')
print(b)           #输出:False

***************************************************************
6.find(sub[,start,end])
***************************************************************

检查sub是否包含在字符串中,如果有,返回索引值;否则返回-1。start和end参数表示范围,可选。例:

a = str2.find('see')
b = str2.find('wei')
print(a)
print(b)

其余内置函数还有很多,不再赘述,需要自查。
=======================【字符串格式化】=======================
python中,字符串的格式化要使用fomat关键字,它接收两种参数:位置参数,关键字参数;这两个要传送到一个叫replacement的字段里,这个字段是由花括号表示的。
比如:
1.位置参数:

str1 = "{0} love {1}.{2}".format("I","FishC","com")
print(str1)  #输出:I love FishC.com

2.关键字参数:

str1 = "{a} love {b}.{c}".format(a = "I",b = "FishC",c = "com")
print(str1)  #输出:I love FishC.com

3.关键字参数和位置参数结合使用:
  这种情况下要注意:位置参数必须在关键字参数前面,如下:

str1 = "{0} love {b}.{c}".format("I", b = "FishC", c = "com")
print(str1)

  如果位置参数写在关键字参数后面,系统会认为位置参数(0、1、2)也是关键字参数,从而会报错,如下面的代码:

str1 = "{a} love {1}.{c}".format(a = "I", "FishC", c = "com")
print(str1)
#输出结果:SyntaxError:positional argument follows keyword argument

下面提出一个问题:以下代码会输出什么?

str2 = "{{0}}".format("会输出什么?")
print(str2)

结果是输出:{0},因为如果只加一个花括号,结果是不会输出花括号的。双花括号相当于一个转义字符,输出花括号。即前面的"{{0}}"被解释成了{0},后面的format没有字段可以匹配输出,故最终结果只输出一个"{0}"。如果把双花括号改成单花括号,就会依据正常的规则,输出:"会输出什么?",见下:

str2 = "{{0}}".format("会输出什么?")
print(str2)       #输出:会输出什么?

再提一个问题:以下代码会输出什么?

str3 = "{0:.1f}{1}".format(27.658, 'GB')
print(str3)

结果是输出:27.7GB ,原因是替换域(即replacement字段,即花括号中)的0后面多了一个冒号(:)和格式化字符".1f"。在替换域中,冒号表示格式化符号的开始,它后面就是格式化符号。其中'.1f'表示保留浮点数后一位小数。
====================【字符串格式化符号含义】====================
***************************************************************
1. %c  格式化字符及其ASCII码
***************************************************************

具体作用是将字符转化为其对应的ASCII码。语法:
单个字符转换:'%c' % X

多个字符转换:'%c %c %c' %(X1, X2, X3)

示例:

print('%c' % 97)                         #输出:a
print('%c, %c, %c' % (97,98,99))       #输出:a, b, c
print('%c %c %c' % (97,98,99))           #输出:a b c

Q: “格式化” 到底体现在哪里?
A: 这里的 “格式化” 主要指输入的字符内容,会遵循前面单引号中的'%c'的格式。如上面第二行print中,单引号中的每个'%c'后都 有一个逗号,则输出的内容中,每个字符后面就会有一个逗号。作为对比,第三行的print单引号中的每个'%c'后没有逗号,输出的字符后也就没有逗号了。也就是说,前面单引号中的'%c'的格式,规定了输出字符的格式。这就是所谓的 “格式化” 。
***************************************************************
2. %s  格式化字符串
***************************************************************

作用是用格式化字符来格式化字符串。语法:'%s' %'xxxxxxxx'
可以理解为把百分号后面的字符串替代到前面的%s中去。示例:

print('我是%s' % '湖水微澜')                  #输出:我是湖水微澜
print( '%s, 我是%s' % ('大家好','湖水微澜'))  #输出:大家好, 我是湖水微澜

ps:一定要注意符号的正确性。之前我不小心把英文逗号写成了中文逗号,找了好久bug......
***************************************************************
3. %d  格式化整数
***************************************************************

作用是格式化整数。语法: '%d' %'xxx'
可以理解为把百分号后面的整数替代到前面的%d中去。
示例:

print('%d + %d = %d' % (4, 5, 4+5))  #输出:4 + 5 = 9

***************************************************************
4. %o  格式化无符号八进制数
***************************************************************

作用是将10进制(或其他进制)数转换为8进制数。语法:'%o' %'xxx'  
示例:

print('%o' % 8)  #输出:10(十进制数8的八进制表示,下同)
print('%o' % 10) #输出:12
print('%o' % 80) #输出:120

***************************************************************
5. %x  格式化无符号十六进制数
***************************************************************

作用是将10进制(或其他进制)数转换为16进制数。语法:'%x' %'xxx'
示例:

print('%x' % 10)   #输出:a    PS:格式化字符用小写x,就输出小写a
print('%X' % 10)   #输出:A    PS:格式化字符用大写X,就输出大写A
print('%X' % 160)  #输出:A0

***************************************************************
6. %f  格式化定点数,可指定小数点后的精度(默认精确到小数点后6位)
***************************************************************

语法:'%f' %'xxx'
示例:

print('%f' % 27.658)  #输出:27.658000
print()

***************************************************************
7. %e  用科学计数法格式化定点数
***************************************************************

语法:'%e' %'xxx'
示例:

print('%e' % 27.658)   #输出:2.765800e+01
print('%E' % 27.658)   #输出:2.765800E+01

***************************************************************
8. %g  根据值的大小决定使用%f或%e。
***************************************************************

语法:'%g' %'xxx'
示例:

print('%g' % 27.658)                     #输出:27.658
print('%G' % 0.0000000000000027658)      #输出:2.7658E-15

==================【格式化操作符的辅助指令】===================
 1.  -   用于左对齐
 2.  +   在正数前面显示加号(+)(一般没啥用)
 3.  #   在八进制数前面显示零('0'),在十六进制数前面显示'0x'
更多具体的操作符可以在python学习005中查看,这里只要了解即可

print('%#o' % 10)  #输出:0o12   其中,o表示八进制数。
print('%#x' % 108) #输出:0x6c   其中,x表示十六进制数。
print('%#d' % 10)  #输出:10     其中,d表示十进制数。
print(bin(10))     #输出:0b1010  其中,bin表示二进制数。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值