字符串方法
格式化
#!/usr/bin/python3
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
# f-string
name = 'Runoob'
'Hello %s' % name # 'Hello Runoob'
f'Hello {name}' # 'Hello Runoob'
>>> x = 1
>>> print(f'{x+1}') # Python 3.6
2
>>> x = 1
>>> print(f'{x+1=}') # Python 3.8
'x+1=2'
字符串截取字符
# 0、a,b为参数。从字符串指针为a的地方开始截取字符,到b的前一个位置(因为不包含b)
var1 = "hello world";
print(var1[a: b]);
# 1、如果a,b均不填写,默认取全部字符。即,下面这两个打印结果是一样的
print(var1[: ]); # hello world
print(var1); # hello world
# 2、如果a填写,b不填写(或填写的值大于指针下标),默认从a开始截取,至字符串最后一个位置
print(var1[3: ]); # lo world
# 3、如果a不填写, b填写,默认从0位置开始截取,至b的前一个位置
print(var1[: 8]); # hello wo
# 4、如果a为负数,默认从尾部某一位置,开始向后截取
print(var1[-2: ]); # ld
# 5、如果a>=b, 默认输出为空。
print(var1[3: 3]);
print(var1[3: 2]);
# 6、[::2] 表示的是从头到尾,步长为2。第一个冒号两侧的数字是指截取字符串的范围,第二个冒号后面是指截取的步长。
>>> L=['a','b','c','d','e','f','g']
>>> print(L[::2])
['a', 'c', 'e', 'g']
# 7、倒序
>>> ch = "我给大佬点烟。"
>>> ls = [0, 1, 2, 3, 4]
>>> st = (0, 1, 2, 3, 4)
>>> print(ch[::-1])
。烟点佬大给我
>>> print(ls[::-1])
[4, 3, 2, 1, 0]
>>> print(st[::-1])
(4, 3, 2, 1, 0)
格式化符号进行进制转换
>>> num=10
>>> print('十六进制:%#x' % num) #使用%x将十进制num格式化为十六进制
十六进制:0xa
>>> print('二进制:', bin(num)) #使用bin将十进制num格式化为二进制
二进制: 0b1010
>>> print('八进制:%#o' % num) #使用%o将十进制num格式化为八进制
八进制:0o12
>>> print('八进制:%o' % num)
八进制:12
>>> print('十六进制:%x' % num)
十六进制:a
格式化符号 %f 可指定小数点后的精度
>>> num=18.7254
>>> print("the price is %.2f" %num)
the price is 18.73
>>>
参考
Python3 字符串