#仿 ¼å¼å表达å¼å°æ¹æ³
[ä¸ä¸è®²](./202.md)ï¼ä¸»è¦ä»ç»äºç¨%表达çä¸ç§è¾åºæ ¼å¼å表达å¼ãå¨é£ä¸è®²æååæå±äºä¸ç¹ä¸è¥¿ï¼æå±çé£ç¹ï¼åæ°ï¼æ ¼å¼åæ¹æ³ãå 为å®ç¥è¯ä¸æ¯ä½¿ç¨äºstrç__format__æ¹æ³ã
ç°å¨æä»¬å°±æ ¼å¼åæ¹æ³åä¸ä¸ªè¯¦ç»ä¸ç¹ç交代ã
##åºæ¬çæä½
æè°æ ¼å¼åæ¹æ³ï¼å°±æ¯å¯ä»¥å
建ç«ä¸ä¸ªè¾åºåç¬¦ä¸²çæ¨¡æ¿ï¼ç¶åç¨formatæ¥å¡«å
模æ¿çå
容ã
>>> #å
åä¸ä¸ªå符串模æ¿
>>> template = "My name is {0}. My website is {1}. I am writing {2}."
>>> #ç¨format便¬¡å¯¹åºæ¨¡æ¿ä¸çåºå·å
容
>>> template.format("qiwsir","qiwsir.github.io","python")
'My name is qiwsir. My website is qiwsir.github.io. I am writing python.'
å½ç¶ï¼ä¸é¢çæä½å¦æä½ è¦è¿æ ·åï¼ä¹æ¯å¯ä»¥çï¼
>>> "My name is {0}. My website is {1}. I am writing {2}.".format("qiwsir","qiwsir.github.io","python")
'My name is qiwsir. My website is qiwsir.github.io. I am writing python.'
è¿äºï¼è·ç¨%åçè¡¨è¾¾å¼æ²¡æä»ä¹å¤ªå¤§çåºå«ãä¸è¿çå®å«çæ¥ï¼ä¸è¬å°å©åé½åºå«ä¸å°ï¼é¿å¤§äºææåºå«çãæ
¢æ
¢çï¼æ
¢æ
¢å®éªã
é¤äºå¯ä»¥æç
§å¯¹åºé¡ºåºï¼ç±»ä¼¼å ä½ç¬¦äºï¼å¡«å
模æ¿ä¸çä½ç½®ä¹å¤ï¼è¿è½è¿æ ·ï¼ç¨å
³é®åæ¥æææåºè¯¥ç°ä¸çå
容ã
>>> template = "My name is {name}. My website is {site}"
>>> template.format(site='qiwsir.github.io', name='qiwsir')
'My name is qiwsir. My website is qiwsir.github.io'
å
³é®è¯ææå®çå
容ï¼ä¹ä¸ä¸å®éæ¯strï¼å
¶å®çæ°æ®ç±»åä¹å¯ä»¥ãæ¤å¤ï¼å
³é®è¯ååé¢çä½ç½®ç¼å·ï¼è¿å¯ä»¥æ··ç¨ãæ¯å¦ï¼
>>> "{number} is in {all}. {0} are my number.".format("seven",number=7,all=[1,2,3,4,5,6,7,8,9,0])
'7 is in [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]. seven are my number.'
æ¯ä¸æ¯å¼å§æè§æç¹ææäºï¼çè¾åºç»æï¼å°±ç¥éï¼ç»è¿formatæ¹æ³å¾å°æ¯ä¸ä¸ªæ°çstrã
##åºå对象çåç§»é
æè¿æ ·ä¸ä¸ªè¦æ±ï¼å¨è¾åºä¸ï¼æ¾ç¤ºåºä¸ä¸ªåè¯ç第ä¸ä¸ªåæ¯å第ä¸ä¸ªä¸ªåæ¯ãæ¯å¦åè¯pythonï¼è¦åè¯çå®ï¼ç¬¬ä¸åæ¯æ¯pï¼ç¬¬ä¸ä¸ªåæ¯æ¯tã
è¿ä¸ªé®é¢å¹¶ä¸é¾ãå®ç°æ¹æ³ä¹ä¸å°ï¼è¿éä¸»è¦æ¯è¦å±ç¤ºä¸ä¸åç§»éå¨formatä¸çåºç¨ã
>>> template = "First={0[0]}, Third={0[2]}"
>>> template.format(word)
'First=p, Third=t'
list乿¯åºåç±»åçï¼å
¶åç§»éä¹å¯ã
>>> word_lst = list(word)
>>> word_lst
['p', 'y', 't', 'h', 'o', 'n']
>>> template
'First={0[0]}, Third={0[2]}'
>>> template.format(word_lst)
'First=p, Third=t'
对ä¸é¢ç综åä¸ä¸ï¼ç¨å¾®å°å¦ä¸ç¹çå®éªï¼
>>> template = "The word is {0}, Its first is {0[0]}. Another word is {1}, Its second is {1[1]}."
>>> template.format("python","learn")
'The word is python, Its first is p. Another word is learn, Its second is e.'
>>> "{name}\'s first is {name[0]}".format(name="qiwsir") #æå®å
³é®è¯çå¼çåç§»é
"qiwsir's first is q"
å¼å¾æ³¨æçæ¯ï¼åç§»éå¨åºåç±»åçæ°æ®ä¸ï¼å 为å¯ä»¥æ¯è´æ°ï¼å³è½å¤ä»å³è¾¹å¼å§è®¡æ°ã
>>> word
'python'
>>> word[-1]
'n'
>>> word[-2]
'o'
使¯ï¼å¨æ¨¡æ¿ä¸ï¼æ æ³ä½¿ç¨è´æ°çåç§»éã
>>> "First={0[0]}, End={0[-1]}".format(word) #æ¥é
Traceback (most recent call last):
File "