字符串使用

1、格式化

格式化,数据和模板分离,代码的可读性强,同时方便修改模板或数据,还方便代码的选择复制。

在项目开发中,如果是极少数或没有模板字符串的场景,可以考虑使用+操作符。而其它多用格式化语法。

  • 虽然格式化提供了%s,%d等语法,可以将不同数据类型转为str类型。但使用较多的就是str类型和int类型、float类型,一般是只使用%s,对数据直接str(xx)强转。
string = '%s中第%s组参数,第%s组payload测试时,存在xx漏洞' % (...)

2、字符串拼接

如果多个字符串之间,使用分隔符进行拼接。理想的写法如下:

def list_to_str(list_obj:list, separator:str='\n'):
    string = ''
    if len(list_obj)>0:
        string = list_obj[0]
        for i in range(1, len(list_obj)):
            string = string + separator + list_obj[i]
    return string

探讨:

循环读取,追加元素+分隔符

  • 结束循环后,需要去除掉多余的分隔符
string = string[:-len(separator)]
  • 需要注意如果本身为空集合,strign为空字符串,那么执行去除动作,虽然不会导致异常。但是最好额外判断是否为空集合或者空字符串

3、技巧

 如果对象是list[int]类型,想要快速获取其字符串格式。可以

string = str(list_obj)[1: -1]

4、常用方法

startswith(self, prefix, start=None, end=None)
count(self, sub, start=None, end=None)
lower(self, *args, **kwargs)
upper(self, *args, **kwargs)
strip(self, *args, **kwargs)
replace(self, *args, **kwargs)
index(self, sub, start=None, end=None)
encode(self, *args, **kwargs)

判断

isdigit(self, *args, **kwargs)
  • 如果只包含0-9,即使以0开头,返回True。否则返回False
isalnum(self, *args, **kwargs)
  • 如果只包含字母或数字0-9,返回True。否则返回False
isalpha(self, *args, **kwargs)
  • 如果只包含字母,返回True。否则返回False
isnumeric(self, *args, **kwargs)
  • 如果只包含0-9,即使以0开头,返回True。否则返回False
isdecimal(self, *args, **kwargs)
  • 如果只包含0-9,即使以0开头,返回True。否则返回False
posted @ 2023-08-08 15:49  挖洞404  阅读(8)  评论(0编辑  收藏  举报