已有字符串形式的函数名称,那么如何调用这个函数呢?
公司专注于为企业提供成都网站制作、成都网站设计、外贸营销网站建设、微信公众号开发、商城网站定制开发,成都微信小程序,软件按需网站开发等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联公司更提供一系列网站制作和网站推广的服务。
通过调用内置函数locals()和globals()返回的字典对象,就可以可以获得名称与对象的映射关系。其中,locals()仅在全局范围内调用时可以获得函数对象。 我们来看以下的例子。
需要注意的是,使用上述方法通过字符串调用函数时,为了系统的安全,防止执行任意函数,需要对函数名做一些处理,也就是使用统一的前缀为这些函数命名。例如在上述例子中,使用前缀cmd_+函数名的形式定义函数(cmd_help,cmd_sum)。
在传入函数名字符串时,只传入函数名的后半部分(如"help","sum"),由程序添加前缀后组成完整的函数名,再调用该函数。
对于类的成员函数,则可以使用getattr()获得类成员函数。
上述代码通过字符串调用了类成员函数,与前一段代码执行的结果相同。
此外,还可以使用字典将字符串与函数对应起来调用,缺点就是每增加一个函数需要相应在字典对象中添加相应的键值,增加代码维护工作量。
以上代码在Python 3.6以上运行通过。
python string函数是什么?一起来看下吧:
python string函数包括:
1、str.capitalize:将原字符串内的首字母转成大写,其他部分小写,再返回新字符串
print("s.capitalize() = {function}" s.capitalize() = Abcada a
2、str.lower:将原字符串的字母转为小写
print("s.lower() = {function}".format(function = s.lower())) s.lower() = abcada a
3、str.upper:将原字符串的字母转为大写
print("s.upper() = {function}".format(function = s.upper())) s.upper() = ABCADA A
4、str.swapcase:将原字符串的大写小写反转
print("s.swapcase() = {function}".format(function = s.swapcase())) s.swapcase() = ABCAdA A
5、str.title:原字符串内如果有特殊字符(包括数字)连接字母,则将特殊字符后的首个英文字母转化为大写形态,并返回新字符串
print("s2.title() = {function}".format(function = s2.title())) s2.title() = 123A Abc Abcsaa S
6、str.center:str.center(宽度,填充字符) 将字符串以居中的格式返回,若宽度值比len(s)小则返回原字符串,填充以从左到右为规则,填充字符的默认值为空格,值可以自己更改
print("s2.center() = {function}".format(function = s2.center(19,''))) print("s2.center() = {function}".format(function = s2.center(20,''))) #s2 = 123a abc ABCSAa s s2.center() = 123a abc ABCSAa s s2.center() = 123a abc ABCSAa s
7、str.expandtabs:str.expandtabs(tabsize = 8) 将原字符串中 以前的字符补满8位(默认),tabsize的值从0-7即8位,在0-7中任意取值则默认tabsize = 8,此后往上+1,就相当于增加一个空格
print("s3.expandtabs ={function}".format(function = s3.expandtabs())) print("s3.expandtabs ={function}".format(function = s3.expandtabs(0))) print("s3.expandtabs ={function}".format(function = s3.expandtabs(5))) print("s3.expandtabs ={function}".format(function = s3.expandtabs(8))) print("s3.expandtabs ={function}".format(function = s3.expandtabs(9)))#s3 = " as b123" s3.expandtabs = as b123 s3.expandtabs =as b123 s3.expandtabs = as b123 s3.expandtabs = as b123 s3.expandtabs = as
除了上述举例的,string函数还有许多实用的函数。
概述
在Python3中,字符串格式化操作通过format()方法或者f'string'实现。而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强。该函数将字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%。
位置设定
默认位置
不指定格式化位置,按照默认顺序格式化
示例结果:
设置位置
设置数字顺序指定格式化的位置
示例结果:
设置关键字
设置关键字指定格式化的内容
示例结果:
参数传递
我们可以传入各种类型参数格式化字符串,即不限于字符串变量或数字等。
元组传参
利用元组传参,传参形式 *tuple
示例结果:
字典传参
示例结果:
列表传参
示例结果: