已有字符串形式的函數(shù)名稱,那么如何調用這個函數(shù)呢?

按需定制網站可以根據(jù)自己的需求進行定制,成都網站設計、成都做網站構思過程中功能建設理應排到主要部位公司成都網站設計、成都做網站的運用實際效果公司網站制作網站建立與制做的實際意義
通過調用內置函數(shù)locals()和globals()返回的字典對象,就可以可以獲得名稱與對象的映射關系。其中,locals()僅在全局范圍內調用時可以獲得函數(shù)對象。 我們來看以下的例子。
需要注意的是,使用上述方法通過字符串調用函數(shù)時,為了系統(tǒng)的安全,防止執(zhí)行任意函數(shù),需要對函數(shù)名做一些處理,也就是使用統(tǒng)一的前綴為這些函數(shù)命名。例如在上述例子中,使用前綴cmd_+函數(shù)名的形式定義函數(shù)(cmd_help,cmd_sum)。
在傳入函數(shù)名字符串時,只傳入函數(shù)名的后半部分(如"help","sum"),由程序添加前綴后組成完整的函數(shù)名,再調用該函數(shù)。
對于類的成員函數(shù),則可以使用getattr()獲得類成員函數(shù)。
上述代碼通過字符串調用了類成員函數(shù),與前一段代碼執(zhí)行的結果相同。
此外,還可以使用字典將字符串與函數(shù)對應起來調用,缺點就是每增加一個函數(shù)需要相應在字典對象中添加相應的鍵值,增加代碼維護工作量。
以上代碼在Python 3.6以上運行通過。
Python中的str可以表示字符串類,也可以是將變量強制轉換為字符串的函數(shù),寫作str()。str函數(shù)是Python內置函數(shù)的一種,可以直接使用,無需調用。
Python由荷蘭數(shù)學和計算機科學研究學會的Guido van Rossum于1990年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數(shù)據(jù)結構,還能簡單有效地面向對象編程。
Python語法和動態(tài)類型,以及解釋型語言的本質,使它成為多數(shù)平臺上寫腳本和快速開發(fā)應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。
Python解釋器易于擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數(shù)據(jù)類型。Python也可用于可定制化軟件中的擴展程序語言。Python豐富的標準庫,提供了適用于各個主要系統(tǒng)平臺的源碼或機器碼。
概述
在Python3中,字符串格式化操作通過format()方法或者f'string'實現(xiàn)。而相比于老版的字符串格式化方式,format()方法擁有更多的功能,操作起來更加方便,可讀性也更強。該函數(shù)將字符串當成一個模板,通過傳入的參數(shù)進行格式化,并且使用大括號{}作為特殊字符代替%。
位置設定
默認位置
不指定格式化位置,按照默認順序格式化
示例結果:
設置位置
設置數(shù)字順序指定格式化的位置
示例結果:
設置關鍵字
設置關鍵字指定格式化的內容
示例結果:
參數(shù)傳遞
我們可以傳入各種類型參數(shù)格式化字符串,即不限于字符串變量或數(shù)字等。
元組傳參
利用元組傳參,傳參形式 *tuple
示例結果:
字典傳參
示例結果:
列表傳參
示例結果:
字符串 :在python中是作為序列存在的,序列中的元素具有從左到右的順序,并根據(jù)他們的相對位置進行讀取和儲存。嚴格意義來說,字符串是一系列單個字符組成的序列,其他類型的序列還包括列表和元組。在一串字符兩側加上雙引號或者單引號即可創(chuàng)建字符串。
注意 :如果字符串中需要出現(xiàn)雙引號或者單引號,則有兩種方法。
1)使用轉義字符(\)進行轉義。
2)將雙引號和單引號配合使用,即若向想打印單引號,可以使用雙引號表示字符串,在字符串中只用一個單引號。反之亦然。
在一個字符串前面加上r;則會自動為字符串中的反斜杠\轉義,使其只代表一個反斜杠\。但是注意,原始字符串最后不能有反斜杠\,否則會發(fā)生語法錯誤。如果非要在原始字符串最后加上,則可以寫為\。
運行結果為:
有時我們需要創(chuàng)建一個跨行的字符串,則可以使用三引號來創(chuàng)建。
運行結果為
1)可以通過len()函數(shù)得到序列的長度。
運行結果為:
2)可以通過索引操作得到序列的各個元素值。python中序列的索引是從0開始依次向后推移。
運行結果為:
3)python還支持反向索引,是從最后一個向前推移的。-1是指序列中的最后一個元素值,-len(str)是指該序列的第一個元素值。
運行結果為:
4)序列還支持一種 分片(slice) 的操作,這是一種能夠一步提取整個分片的方法。
分片可以看作是字符串中一部提取出其中一部分的方法。其一般形式為:X[I:J],表示從X序列中取出第I個元素到不包含第J個元素的部分,結果為返回一個新的對象。
運行結果為:
在一個分片(slice)中,左邊界默認為0。同時應注意負偏移量在分片中的邊界,也應為左側數(shù)字比右側數(shù)字小。拷貝全部字符串的用法為str[:]。
運行結果為:
5)作為一個序列,字符串還支持用“+”來合并字符串。
運行結果為:
6) 不可變性 ,python中字符串具有不可變性,在創(chuàng)建一個字符串之后不可以通過對其某一位置進行賦值而改變該字符串,但可以通過創(chuàng)建一個新的字符串并以同一個變量名命名。
運行結果為:
7)除了一般的序列操作,字符串還有一些其特有的操作方法。
如find()方法,可以用于查找一個子字符串,可以返回該子字符串的索引值。但如果存在多個符合的子字符串,只會返回第一個索引值。如果不存在該子字符串,則返回-1。replace(S1,S2)方法會將字符串中的S1替換為S2。
運行結果如下:
關于字符串,python還有許多內置函數(shù),可以通過調用dir()函數(shù)來查看。
1. 字符串字母處理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一個指定的寬度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串寬度直接返回字符串,否則使用 fillchar 去填充。
3,字符串計數(shù)
str.count(sub, start, end)
#統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)。可選參數(shù)為在字符串搜索的開始與結束位置。
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. 統(tǒng)計字符串長度
str.len() #返回對象(字符、列表、元組等)長度或項目個數(shù)。
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()創(chuàng)建字符映射的轉換表
str.maketrans()根據(jù)參數(shù)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。
網頁名稱:字符串函數(shù)python 字符串函數(shù)怎么用
本文鏈接:http://www.yijiale78.com/article2/hihhic.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、軟件開發(fā)、網站排名、小程序開發(fā)、服務器托管、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)