python字符串以及常用魔法

创建

  • 单引号 ‘str’
  • 双引号"str"
  • 三引号’’‘str’’’ “”“str”"" 可以用来进行多行注释以及直接打印多行字符串
  • raw字符串 r’\n1234’ 其中的转义字符均不会被转义
  • unicode字符串 u’发挥’可以定义一些非英文的字符
  • 工厂函数str()
>>> x = 123
>>> a = str(x)
>>> a
'123'

特性和方法

  • 字符串一旦定义后就无法进行修改
  • 可进行遍历、切片、索引

python字符串魔法

替换

  • str.capitalize()
    将字符串首字母转换成大写并进行返回

  • str.lower()
    将字符串全转换成小写并进行返回

  • str.upper()
    将字符串全转换成大写并进行返回

  • str.replace(old, new[, count])
    将旧字符用新字符进行替换,可指定替换的次数

  • str.title()
    将字符串首字母变为大写,其余变为小写

  • str.swapcase()
    将字符串大小写进行互换并返回

  • static str.maketrans(x[, y[, z]])
    建立需要字符替换的映射

  • str.translate()
    对已经进行映射的字符进行替换

>>> trans = str.maketrans("aeiou","12345")
>>> "aheiiiou".translate(trans)
'1h233345'
>>> 

查询

  • str.count(sub[, start[, end]])
    返回字符串在区间内出现的次数,默认为全区间

  • str.endswith(suffix[, start[, end]]) str.startswith(prefix[, start[, end]])
    若字符串以输入的后缀结尾(开头)则返回true,反之则返回false

  • str.find(sub[, start[, end]])
    查询某字符串是否出现在原字符串中第一次出现的下标,若不存在则返回-1

若只是需要判断一个子字符串是否出现在字符串中,则使用‘in’

  • str.isalnum()
    判断是否字符串全由字母和数字组成

  • str.isalpha()
    判断是否字符串全由字母组成

  • str.isdecimal() str.isdigit() str.isnumeric()
    判断是否全由数字组成,下面两个可以判断出一些非阿拉伯数字的数字

  • str.isidentifier()
    判断是否是标准的变量名(由数字字母下划线组成)

  • str.islower()
    判断字符串是否都由小写字母组成

  • str.isupper()
    判断字符串是否只有大写字符组成

  • str.isspace()
    判断字符串是否只由空格组成

  • str.istitle()
    判断字符串是否为首字母大写其余皆为小写的字符串

拼接、填充、剥离

  • str.lstrip([chars]) str.rstrip([chars]) str.strip([chars])
    会将字符串两侧(左、右)根据chars提供的字符进行剥离,若不指定则默认会将空格剥离,并将字符串进行返回。
'www.example.com'.lstrip('cmowz.')
'example.com'
  • str.center(width[, fillchar])
    返回width长度的字符串,并将初始字符串居中,其余部分默认用空格填充,也可以使用fillchar的字符填充。
x = "csdn"
x = x.center(8,"*")
>>> x
'**csdn**'
  • str.expandtabs(tabsize=8)
    将制表符“\t”用一个或者多个空格进行代替,tabsize指定一个区间,对字符串进行逐一的检查,若碰到制表符则将换成空格填充至区间长度,并重新开始计数,超出区间长度以及碰到换行符也会重新开始计数。
x = "1\t12\t123\t1234\t".expandtabs(4)
>>> x
'1   12  123 1234    '
  • str.ljust(width[, fillchar]) str.rjust(width[, fillchar])
    返回width长度的字符串,并将初始字符串左对齐,其余部分默认用空格填充,也可以使用fillchar的字符填充。

  • str.zfill(width)
    返回width长度的字符串,缺少部分用0补齐。

  • str.format(*args, **kwargs) str.format_map(mapping)
    将数据用格式化的方式显示,将像相应数据显示在占位符{}中,可以用,也可以用关键字参数,或者用字典

 "The sum of 1 + 2 is {0}".format(1+2)
'The sum of 1 + 2 is 3'
>>> name="hyj"
>>> age=26
"usrname is {name},age is {age}".format(name=name,age=age)
'usrname is hyj,age is 26'

分割

  • str.join(iterable)
    使用字符对字符串进行串联
>>> "*".join("12345")
'1*2*3*4*5'
  • str.partition(sep) str.rpartition(sep)
    将字符串用sep指定的字符分割成三个部分(发现的第一个字符为准),并用元祖形式返回。
>>> "paraty".partition("a")
('p', 'a', 'raty')
  • str.split(sep=None, maxsplit=-1) str.rsplit(sep=None, maxsplit=-1)
    指定sep分割符,默认为空格,指定maxsplit为最大分割次数,默认为都分割。分割会以列表形式返回。若分割对象是空字符串则返回空列表。

  • str.splitlines([keepends])
    根据行边界符号来进行分割,返回一个列表。

>>> 'ab c\n\nde fg\rkl\r\n'.splitlines()
['ab c', '', 'de fg', 'kl']
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(keepends=True)
['ab c\n', '\n', 'de fg\r', 'kl\r\n']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值