字符串处理技巧总结二

print参数sep和end

sep和end是print函数对象自带的属性,其中sep表示多个输出值之间的分割符

print("sdjkhfs","教师的工作是",sep="|")
print("sdjkhfs","教师的工作是")

序列解包特性和认为是false的几种情况

序列解包特性

x,y=333,555   #分别将x,y进行赋值
x,y=y,x #将x与y的值进行互换,相当于将指针指向对方

认为是false的几种情况
none
0
“”
()
[]
{}

x=None
print(bool(x))
#输出false

exec和eval字符串转python执行

exec的作用是将字符串转化为python执行语句执行,并且会保留在记忆中,有点类似于在javascript中使用函数对象将代码以字符串的形式传递给构造函数
js:

var fun1=new Function("console.log('AddSearchProvider');");

p:

exec("a=6")
>>> a
6

可以做典型案例:gui的计算器

python中的对象表示方法
类似于其他语言(js,c#),举例表示一个对象:

person={“name”:“香江小海涛”,sex:“男”}

举例对象结合exec函数进行传值的形式:

person={“name”:“香江小海涛”,sex:“男”}
exec("print('姓名'+name+'性别'+sex)",person)
#输出:姓名香江小海涛性别男

关于exec函数的应用

ca=""
print("如果输入的是ljyok,表示输入完毕,开始执行")
while True:
    x=input("")
    if x=="ljyok":
        print("---------------------开始执行代码,并输出结果--------------")
        exec(ca)
        break
    else:
        ca+=x+"\n"

# 如果输入的是ljyok,表示输入完毕,开始执行
# a=40
# b=23
# c=9
# x=a*b+c
# print(x)e
# ljyok
# ---------------------开始执行代码,并输出结果--------------
# 929

eval函数
这个函数的执行效果类似于exec函数,eval函数会返回一个执行的结果,我们可以将执行的结果保存起来

>>> x=eval("3")
>>> x
3
>>> y=exec("3")
>>> y
>>>
>>> x=eval("a+b",s,t)
>>> x
4
#这是在repl环境下看到的效果,这个环境的分步执行效果更容易看出,eval函数对于执行结果的保存能力

字符串基本处理操作的运用

百分号的使用%
以前是用在数值的取余上面 7%2=1
百分号在字符串中使用,可以替换字符串中相应文本
举例,使用方法类似于c:

 varstr=“欢迎您,%s,这里是%s” %(代替前面的内容“x”,“编程”)

案例操作:(通过pyrhonrepl环境来操作代码)

 varstr="hello,%s,this is %s" % ("湘江","小海涛")
>>> print(varstr)
hello,湘江,this is 小海涛
varstr2="您好,"+"leevis"+",这里是"+"创建程序人生"
>>> print(varstr2)
您好,leevis,这里是创建程序人生

模板字符串templete类使用

templete类来解决重复性的问题
在使用template类的时候,这里需要被替换的文字需要使用$符号和名称来标注
实例:

import string
template=string.Template("谁$b终将声震人间,必$b长久身自缄默,"
                "谁终将点燃闪电$a,$a必长久如云漂泊")
print(template)
# 开始替换
#s=template.substitute(a="妈咪妈咪哄")
s=template.substitute(a="妈咪妈咪哄",b="他妈")

print(s)

template=string.Template("dksjfhgs;kdfj${s}sdfg make $$")
print(template)
n=template.substitute(s="ttttt")

print(n)
#<string.Template object at 0x0141DE20>
#谁他妈终将声震人间,必他妈长久身自缄默,谁终将点燃闪电妈咪妈咪哄,妈咪妈咪哄必长久如云漂泊
#<string.Template object at 0x0141DCB8>
#dksjfhgs;kdfjtttttsdfg make $

欢迎各位大佬评论,下次继续。

上一篇:sqlserver导入mdf文件


下一篇:lambdaQueryWrapper多条件嵌套查询