字串模板 Python

2021-08-13 14:01:13 字數 789 閱讀 8860

使用%的方式格式化字串時,如果採用dict進行格式化時,需要指定型別符號(例如:%(name)s ),並且這種形式容易忘記。採用字串模板的方式會很好的規避這種情況。

字串模板使用的是string模組下的template類,在使用的時候先使用字串建立乙個物件,字串中使用$的方式作為佔位符。然後呼叫template例項物件的substitute或者safe_substitute方法來設定佔位符的內容。substitute方法在出現不匹配佔位符中變數時會報keyerror異常,而safe_substitute在這種情況下會原樣輸出佔位符。示例如下:

string import template

s = template("hi $,your age is $")

#使用substitute方式

s.substitute(name="wang",age=20) # 輸出內容為:hi wang,your age is 20

s.substitute(name="wang") #由於缺少了age引數會報keyerror異常

s.substitute(name="wang",age=20,***="f") #多傳引數***會正常輸出

#使用safe_substitute方式

s.safe_substitute(name="wang",age=21) #正常輸出hi wang,your age is 21

s.safe_substitute(name="wang") #由於沒有傳age引數,輸出結果為:hi wang,your age is $

多行字串 模板字串

多行字串 下面是普通字串的寫法 普通字串 var l abcd console.log l 編譯結果 如何讓讓乙個字串獨佔多行呢?就需要用到es6 裡的多行字串 多行字串 var i ab cd console.log i 編譯結果 再說說拼接字串,一般情況我們是如何拼接字串的呢?看下面 正常拼接字...

模板 字串 字串匹配

計算next陣列的方法是對於長度為n的匹配串,從0到n 1位依次求出字首字尾最大匹配長度。下面的寫法是僅僅檢測有沒有匹配然後返回第乙個匹配位置,而不是返回所有匹配位置。include include include using namespace std const int n 100 char s...

字串模板

include include include include using namespace std const int maxn 1e6 7 int next maxn string s,t void get next string str void kmp intmain include in...