有2個(gè)標(biāo)準(zhǔn)庫函數(shù)可以完成你說的要求,建議用eval()
在黃龍等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設(shè)公司,黃龍網(wǎng)站建設(shè)費(fèi)用合理。
eval() 和exec()
區(qū)別是eval()有返回值
def?test1():
print?"Test1?Excuted!"
return?True
ret?=?eval?("test1()")
print?ret
結(jié)果如下
Test1?Excuted!
True
而exec()只執(zhí)行,并無返回值。
def?test2():
print?"Test2?Excuted!"
return?True
exec("test2()")
結(jié)果如下
Test2?Excuted!
如果要將exec()賦值,會(huì)有以下語法錯(cuò)誤!
ret?=?exec("test2()")
1. 字符串字母處理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一個(gè)指定的寬度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串寬度直接返回字符串,否則使用 fillchar 去填充。
3,字符串計(jì)數(shù)
str.count(sub, start, end)
#統(tǒng)計(jì)字符串里某個(gè)字符出現(xiàn)的次數(shù)??蛇x參數(shù)為在字符串搜索的開始與結(jié)束位置。
start, end遵循**“左閉右開”**原則。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判斷字符串是否以指定后綴結(jié)尾/開頭,如果以指定后綴「結(jié)尾」/「開頭」返回 True,否則返回 False。
5. 字符串查找
6. 字符串判斷
7. 字符串拼接
str.join() #將序列中的元素以指定的字符連接生成一個(gè)新的字符串。
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. 統(tǒng)計(jì)字符串長度
str.len() #返回對象(字符、列表、元組等)長度或項(xiàng)目個(gè)數(shù)。
9. 去除字符兩側(cè)空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左邊」/「右邊」/「左右」兩側(cè)的空格或指定字符。
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()創(chuàng)建字符映射的轉(zhuǎn)換表
str.maketrans()根據(jù)參數(shù)table給出的表轉(zhuǎn)換字符串的字符。
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。
單引號和雙引號
字符串可以包含在單引號或雙引號中。
這種靈活的方式可以讓我們在字符串中包含引號。
當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)多行字符串的時(shí)候,可以用三個(gè)引號。如下所示:
改變大小寫
你可以很方便的改變字符串的大小寫。如下所示:
最常見的大小寫形式是全小寫(lower),首字母大寫(title)和全大寫(upper)。如下所示:
注意:初始字符串沒被改變。
你會(huì)經(jīng)常見到這種用法。變量名后跟點(diǎn)和操作名稱,且后跟一組圓括號。圓括號里可能是空的,也可能包含一些數(shù)據(jù)。
variable_name.action()
在這個(gè)例子中, action ?是一個(gè) 方法 的名字。 title ,? lower ,? upper ?是內(nèi)置在 Python 中的函數(shù),可以作用于字符串的方法。
連接字符串
字符串連接示例如下所示:
加號連接兩個(gè)字符串。你可以使用任意個(gè)加號來連接字符串。
格式化字符串簡介
空白符
空白符通常指計(jì)算機(jī)能夠發(fā)現(xiàn)但不可見的字符。諸如空格,制表符,換行符等。
空格很容易創(chuàng)建,基本上在你擁有計(jì)算機(jī)的時(shí)候就會(huì)打出空格符。制表符和換行符是由特殊字符連接組成的。
"\t" 代表制表符,"\n" 代表換行符。你可以將它們添加進(jìn)字符串的任意部分。
去除空白符
有時(shí)候我們想去除掉字符串開始或者結(jié)尾的空白符。Python 中有一些方法可以幫我們做到這點(diǎn)。如下所示:
lstrip ?去除左側(cè)開端的空白符, rstrip ?去除右端結(jié)尾的空白符, strip ?去除兩端空白符。
看一個(gè)更清晰的例子,如下所示:
動(dòng)手試一試
Someone Said
找一條自己喜歡的名言,存儲(chǔ)在變量。結(jié)合適當(dāng)?shù)慕榻B打印出來。例如:" Ken Thompson once said, 'One of my most productive days was throwing away 1000 lines of code' "。
First Name Cases
將你的姓存儲(chǔ)在一個(gè)變量中。
分別用 lowercase, Titlecase, UPPERCASE 三種方式打印姓。
Full Name
將你的名和姓存儲(chǔ)在不同的變量中,連接它們并打印。
Name Strip
將你的姓存儲(chǔ)在變量中。在姓的前后兩端至少各包含兩種空白符。
打印姓。
分別打印出去掉左側(cè)空白符,右側(cè)空白符,都去掉空白符的姓。
已有字符串形式的函數(shù)名稱,那么如何調(diào)用這個(gè)函數(shù)呢?
通過調(diào)用內(nèi)置函數(shù)locals()和globals()返回的字典對象,就可以可以獲得名稱與對象的映射關(guān)系。其中,locals()僅在全局范圍內(nèi)調(diào)用時(shí)可以獲得函數(shù)對象。 我們來看以下的例子。
需要注意的是,使用上述方法通過字符串調(diào)用函數(shù)時(shí),為了系統(tǒng)的安全,防止執(zhí)行任意函數(shù),需要對函數(shù)名做一些處理,也就是使用統(tǒng)一的前綴為這些函數(shù)命名。例如在上述例子中,使用前綴cmd_+函數(shù)名的形式定義函數(shù)(cmd_help,cmd_sum)。
在傳入函數(shù)名字符串時(shí),只傳入函數(shù)名的后半部分(如"help","sum"),由程序添加前綴后組成完整的函數(shù)名,再調(diào)用該函數(shù)。
對于類的成員函數(shù),則可以使用getattr()獲得類成員函數(shù)。
上述代碼通過字符串調(diào)用了類成員函數(shù),與前一段代碼執(zhí)行的結(jié)果相同。
此外,還可以使用字典將字符串與函數(shù)對應(yīng)起來調(diào)用,缺點(diǎn)就是每增加一個(gè)函數(shù)需要相應(yīng)在字典對象中添加相應(yīng)的鍵值,增加代碼維護(hù)工作量。
以上代碼在Python 3.6以上運(yùn)行通過。
分享文章:python字符串函數(shù)名,python常用字符串函數(shù)
文章源于:http://chinadenli.net/article22/heiojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站營銷、電子商務(wù)、網(wǎng)站排名、網(wǎng)站改版、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)