有2个标准库函数可以完成你说的要求,建议用eval()
在黄龙等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站制作 网站设计制作按需规划网站,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,成都外贸网站建设公司,黄龙网站建设费用合理。
eval() 和exec()
区别是eval()有返回值
def test1():
print "Test1 Excuted!"
return True
ret = eval ("test1()")
print ret
结果如下
Test1 Excuted!
True
而exec()只执行,并无返回值。
def test2():
print "Test2 Excuted!"
return True
exec("test2()")
结果如下
Test2 Excuted!
如果要将exec()赋值,会有以下语法错误!
ret = exec("test2()")
1. 字符串字母处理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一个指定的宽度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
3,字符串计数
str.count(sub, start, end)
#统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
start, end遵循**“左闭右开”**原则。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判断字符串是否以指定后缀结尾/开头,如果以指定后缀「结尾」/「开头」返回 True,否则返回 False。
5. 字符串查找
6. 字符串判断
7. 字符串拼接
str.join() #将序列中的元素以指定的字符连接生成一个新的字符串。
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b")
# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob
8. 统计字符串长度
str.len() #返回对象(字符、列表、元组等)长度或项目个数。
9. 去除字符两侧空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左边」/「右边」/「左右」两侧的空格或指定字符。
str0 = ' Hello World!' str0.lstrip() 'Hello World!' str1 = 'aaaa Hello World!' str1.lstrip('a') ' Hello World!'
10. str.maketrans(intab, outtab)和str.translate(table)
str.maketrans()创建字符映射的转换表
str.maketrans()根据参数table给出的表转换字符串的字符。
str.maketrans()传入的也可以是字典
tab = {'e': '3', 'o': '4'} trantab = str.maketrans(tab) str0.translate(trantab) 'H3ll4 W4rld!'
11. 字符串替换
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定长度的字符串,原字符串右对齐,前面填充0。
单引号和双引号
字符串可以包含在单引号或双引号中。
这种灵活的方式可以让我们在字符串中包含引号。
当我们需要创建一个多行字符串的时候,可以用三个引号。如下所示:
改变大小写
你可以很方便的改变字符串的大小写。如下所示:
最常见的大小写形式是全小写(lower),首字母大写(title)和全大写(upper)。如下所示:
注意:初始字符串没被改变。
你会经常见到这种用法。变量名后跟点和操作名称,且后跟一组圆括号。圆括号里可能是空的,也可能包含一些数据。
variable_name.action()
在这个例子中, action 是一个 方法 的名字。 title , lower , upper 是内置在 Python 中的函数,可以作用于字符串的方法。
连接字符串
字符串连接示例如下所示:
加号连接两个字符串。你可以使用任意个加号来连接字符串。
格式化字符串简介
空白符
空白符通常指计算机能够发现但不可见的字符。诸如空格,制表符,换行符等。
空格很容易创建,基本上在你拥有计算机的时候就会打出空格符。制表符和换行符是由特殊字符连接组成的。
"\t" 代表制表符,"\n" 代表换行符。你可以将它们添加进字符串的任意部分。
去除空白符
有时候我们想去除掉字符串开始或者结尾的空白符。Python 中有一些方法可以帮我们做到这点。如下所示:
lstrip 去除左侧开端的空白符, rstrip 去除右端结尾的空白符, strip 去除两端空白符。
看一个更清晰的例子,如下所示:
动手试一试
Someone Said
找一条自己喜欢的名言,存储在变量。结合适当的介绍打印出来。例如:" Ken Thompson once said, 'One of my most productive days was throwing away 1000 lines of code' "。
First Name Cases
将你的姓存储在一个变量中。
分别用 lowercase, Titlecase, UPPERCASE 三种方式打印姓。
Full Name
将你的名和姓存储在不同的变量中,连接它们并打印。
Name Strip
将你的姓存储在变量中。在姓的前后两端至少各包含两种空白符。
打印姓。
分别打印出去掉左侧空白符,右侧空白符,都去掉空白符的姓。
已有字符串形式的函数名称,那么如何调用这个函数呢?
通过调用内置函数locals()和globals()返回的字典对象,就可以可以获得名称与对象的映射关系。其中,locals()仅在全局范围内调用时可以获得函数对象。 我们来看以下的例子。
需要注意的是,使用上述方法通过字符串调用函数时,为了系统的安全,防止执行任意函数,需要对函数名做一些处理,也就是使用统一的前缀为这些函数命名。例如在上述例子中,使用前缀cmd_+函数名的形式定义函数(cmd_help,cmd_sum)。
在传入函数名字符串时,只传入函数名的后半部分(如"help","sum"),由程序添加前缀后组成完整的函数名,再调用该函数。
对于类的成员函数,则可以使用getattr()获得类成员函数。
上述代码通过字符串调用了类成员函数,与前一段代码执行的结果相同。
此外,还可以使用字典将字符串与函数对应起来调用,缺点就是每增加一个函数需要相应在字典对象中添加相应的键值,增加代码维护工作量。
以上代码在Python 3.6以上运行通过。