其他分享
首页 > 其他分享> > 字符串

字符串

作者:互联网

"""
字符串是另一种常遇到的类型。一般使用一对单引号或一对双引号表示一个字符串。
字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转义便是字符的含义发生改变,比如
常用的 \n 组合,转义后不再表示字符 n 本身,而是完成换行的功能。
类似的,还有很多转义字符,如 \t , 正则表达式中 \s , \d 等等
"""

"""
转义的语法:一个 \ +单个字符,组合后单个字符失去原来字面意义,会被赋予一个新的功能。
常见的转义字符: \n 完成换行, \t tab 空格等 或者字符串要显示有特殊功能的字符时 \转义
转义的另外一个重要作用是用于Python的正则。正则不仅指使用模块 re 完成字符串处理,还
泛指很多常用包中函数的参数使用小巧的正则表达,比如数据分析必备包 pandas , str 访问
器中 split , cat 等方法参数中使用转义字符
"""
_str = "That isn't horse"  # That isn't horse 无需转义

_str = 'That isn\'t horse'  # That isn\'t horse 需要转义 \转义表示 该字符是是字符串显示的内容,而不是声明字符串的引号

# 换行字符串 遇到超长字符串 需要多行换行展示 可以一对三重单引号或者双引号表示
_str = """   
this 
is 
"""

# 字符串乘以数字 会克隆出背倍数的字符串
'str' * 3  # strstrstr

'-' * 5  # -----

# 多个字符串自动结合
'py''thon'  # python

"""字符串数值转换"""
# ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值
ord('李')  # 26446

# chr() 函数用来返回整数所对应的Unicode字符,参数为整数,取值范围必须在【0 - 1114111(十六进制为 0x10FFFF)】之间
chr(26446)  # 李

# 字节转换
b = bytes('python', encoding='utf-8')  # b'python'
s = str(b, encoding='utf-8')  # python

"""字符串打印及格式化"""
#  format 函数 ,字符串变量用{}里面下标取值,, format 参数中指定要取的变量的取值
print('i name  {0},age {1}'.format('77', 18))  # i name 77, age 18

#  f打印 ,f 后面紧跟一个字符串,其中花括号 {} 中直接写出变量名称
name = '77'
age = 18
print(f'i name {name},age {age}')  # i name 77, age 18

"""控制打印方法"""
# 保留小数点后两位
print('{:.2f}'.format(3.1415))  # 3.14

# 带符号保留小数点后两位
print('{:+.2f}'.format(-1))  # -1.00

# 不带小数位 四舍五入
print('{:.0f}'.format(3.14))  # 3

# 整数补零,填充左边, 宽度为3
print('{:0>3d}'.format(5))  # 005

#  以逗号分隔的数字格式,数值平均分,若不能完全平均,最小的在第一个
print('{:,}'.format(12345678))  # 12,345,678

# 百分比格式,若不能完全转换,会自动补0 or 四舍五入
print('{:.2%}'.format(0.1354))  # 13.56%

# 指数记法
print('{:.2e}'.format(10241024))  # 1.02e+07

"""字符串常见处理操作"""
# 串联多个字符串 ''.join
chars = ['p', 'y', 't', 'h', 'o', 'n']
print(''.join(chars))  # python

# 分割字符串 split 以指定字符分割 ,第二个参数为分割次数
# split默认从左侧开始分割
_str = 'p,yt,hon'
print(_str.split(','))  # 全部分割['p', 'yt', 'hon']
print(_str.split(',', 1))  # 只分割一次 ['p', 'yt,hon']

# 分割字符串 rsplit 默认从右侧开始分割
print(_str.rsplit(',', 1))  # ['p,yt', 'hon']

# 替换字符串 replace(old,new,max) 用新字符串替换旧字符串,如果指定max,则替换不超过多少次

r = 'hello word'
print(r.replace('l', 'e'))  # heeeo word

# 检查字符串是否以指定字符开头 startswith ,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查
switch = 'this is string example'
print(switch.startswith('this'))  # true
print(switch.startswith('is'))  # False
print(switch.startswith('is', 2, 4))  # true

# 移除字符串头尾指定的字符 strip 默认删除空格或换行或字符序列
strip_str = '0012300'
print(strip_str.strip('0'))  # 123

# 截掉字符串左边的空格或指定字符 lstrip
lstrip_str = '0012300'
print(lstrip_str.lstrip('0'))  # 12300

"""
大小写转换操作
"""
s = 'sdDsda'
i = 'Sadsadasdas'
j = 'im Im am,Am'
# 指定字符串变为大写 upper
print(s.upper())  # SDDSDA

# 指定字符串变为大写 lower
print(s.lower())  # sddsda

# 将给定的字符串中所有单词的首字母大写,其他全部小写 title
print(j.title())  # Im Im Am,Am

# 将给定的字符串中首字母大写,其他小写 capitalize
print(j.capitalize())  # Im im am,am

# 每行指定数量字符
import textwrap

words = '是想与朋友们分享一个再普通不过的道理:脚踏实地做些实事,哪怕是不起眼的小事,每天前进一点,日积月累会做出一点成绩的。'
print(textwrap.fill(words, 11))  # 打印结果为每行11个字符,自动换行

 

标签:字符,format,转义,print,str,字符串
来源: https://www.cnblogs.com/Mickey-7/p/16358862.html