Welcome to my blog.|

Khru

园龄:2年11个月粉丝:22关注:1

2022-08-09 21:17阅读: 31评论: 0推荐: 0

Python-字符串

字符串

字符串表示方式

  • 普通字符串 - 'XXX'"XXX"
  • 原始字符串 - r"XXX"
  • 长字符串 - '''XXX'''"""XXX"""

字符串与数字类型的转换

  • int()float() 将字符串和其他进制的数字转换为十进制数字.

    int("ab", base=16) # 171
    int("80.0") # 发生错误
    int(0b11) # 非字符串不需要基数base
    float("80.0") # 80.0
    float(0b11) # 3.0
  • str() 可以将很多类型的数据都转换为字符串.

    str(123) # '123'
    str(True) # 'True'

字符串格式化

  • format() 实现字符串的拼接, 还可以格式化字符串.

    将表达式的计算结果插入字符串中需要用到占位符 {}.

    • 默认占位符

    • 参数序号占位符

    • 参数名占位符

    a = 2
    b = 3
    s = "a * a = {}".format(a * a)
    # s = 'a * a = 4'
    s = "{0} * {0} = {1}".format('a', a * a)
    # s = 'a * a = 4'
    s = "{p1} * {p2} = {p3}".format(p1 = a, p2 = b, p3 = a * b)
    # s = '2 * 3 = 6'
    • 格式化控制符 - 形如 {1:d}, 中间不含空格.
    name = "张三"
    money = 74659.15
    s = "{0:s}年龄{1:d}, 工资是{2:f}元. ".format(name, 20, money)
    # s = '张三年龄20, 工资是74659.150000元. '
    s = "{0:s}年龄{1:d}, 工资是{2:0.3f}元. ".format(name, 20, money)
    # s = '张三年龄20, 工资是74659.150元. '
    print("十进制数{0:d}用十六进制表示为{0:x}".format(11))
    # 十进制数11用十六进制表示为b
    print("十进制数{0:d}用十六进制表示为{0:X}".format(15))
    # 十进制数15用十六进制表示为F
格式控制符 说明
s 字符串
d 十进制整数
f, F 十进制浮点数
g, G 十进制整数或浮点数
e, E 科学计数法表示浮点数
o 八进制整数, 符号是小写英文字母 'o'
x, X 十六进制整数, 'x' 是小写表示, 'X' 是大写表示

操作字符串

方法 说明
capitalize() 将字符串的第一个字符转换为大写
lower() 将所有大写字母转换为小写
swapcase() 字符串中大小写转换
center(width, fillchar) 返回一个宽度width的字符串, 原字符串居中, 用fillchar填充(默认为空格)
ljust(width, fillchar) 返回一个宽度width的字符串, 原字符串左对齐, 用fillchar填充(默认为空格)
rjust(width, fillchar) 返回一个宽度width的字符串, 原字符串右对齐, 用fillchar填充(默认为空格)
zfill(width) 返回一个宽度width的字符串, 原字符串右对齐, 用0填充
count(str, beg=0, end=len(string)) 返回str在string指定范围内出现的次数
bytes.decode(encoding='utf-8', errors='strict') 对bytes类进行解码
encode(encoding='utf-8', errors='strict') 以指定格式编码字符串, 默认报UnicodeEncodeError异常
expandtabs(tabsize=8) 把字符串中的tab符号转为空格, tab符号默认的空格数是8
find(str, beg=0, end=len(string)) 在索引 [beg, end) 之间查找子字符串 sub, 如果找到, 则返回最左端位置的索引; 如果没有找到, 则返回 -1
rfind(str, beg=0, end=len(string)) 从右边查找第一个子字符串
index(str, beg=0, end=len(string)) 同find, 失败时会报出异常
rindex(str, beg=0, end=len(string)) 同rfind, 失败时会报出异常
isalnum() 如果字符串至少有一个字符, 并且所有字符都是字母或数字, 则返回True, 否则返回False
isalpha() 如果字符串至少有一个字符, 并且所有字符都是字母, 则返回True, 否则返回False
isdigit() 如果字符串只包含数字, 则返回True, 否则返回False
isnumeric() 如果字符串只包含数字字符, 则返回True, 否则返回False
isdecimal() 如果字符串只包含十进制字符, 则返回True, 否则返回False
islower() 如果字符串中包含至少一个区分大小写的字符, 并且所有这些字符都是小写, 则返回True, 否则返回False
isupper() 如果字符串中包含至少一个区分大小写的字符, 并且所有这些字符都是大写, 则返回True, 否则返回False
isspace() 如果字符串只包含空格, 则返回True, 否则返回False
istitle() 如果字符串是标题化的, 则返回True, 否则返回False
title() 返回标题化的字符串, 所有单词仅首字母大写
join(seq) 以指定字符串作为分隔符, 将seq中的所有元素(字符串表示)合并为一个新的字符串
len(str) 返回str长度
lstrip(chars) 截掉字符串开头的字符, 默认为空格
rstrip(chars) 截掉字符串结尾的字符
strip(chars) 同时执行lstrip和rstrip
max(str) 返回str中最大的字母
min(str) 返回str中最小的字母
replace(old, new, max) 将 old 子字符串替换为 new 子字符串, max参数指定了替换 old 子字符串的最大个数
split(str='', num=string.count(str)) 以str为分隔符截取字符串
startswith(prefix, start=0, end=len(string)) 字符串指定范围内是否以prefix开头
endswith(suffix, start=0, end=len(string)) 字符串指定范围内是否以suffix结束

本文作者:khrushchefox

本文链接:https://www.cnblogs.com/khrushchefox/p/16567642.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Khru  阅读(31)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起