>ä½ ä»¬åå¬è§æå©åå¤äººçè¯ï¼è¯´ï¼âä¸å¯èèªï¼æèµ·çèªï¼æ»è¦å主谨å®âãåªæ¯æåè¯ä½ 们ï¼ä»ä¹èªé½ä¸å¯èµ·ï¼ä¸å¯æç天起èªï¼å 为天æ¯ç¥ç座ä½ãä¸å¯æçå°èµ·èªï¼å ä¸ºå°æ¯ä»çè蹬ï¼ä¹ä¸å¯æçè¶è·¯æå·èµ·èªï¼å 为è¶è·¯æå·æ¯å¤§åç京åãåä¸å¯æçä½ ç头起èªï¼å ä¸ºä½ ä¸è½ä½¿ä¸æ ¹å¤´ååé»åç½äºãä½ çè¯ï¼æ¯ï¼å°±è¯´æ¯ã䏿¯ï¼å°±è¯´ä¸æ¯ãè¥åå¤è¯´ï¼å°±æ¯åºäºé£æ¶è
ã(Matthew 5:33-37)
#å符串(3)
å符串æ¯ä¸ä¸ªè¯é¢ä¸å¿ï¼è¿è¦åç»§ç»ã
ä¾å¦è¿æ ·ä¸ä¸ªå符串`python`ï¼è¿è®°å¾åé¢å¯¹å符串çå®ä¹åï¼å®å°±æ¯å符ï¼p,y,t,h,o,nï¼æåèµ·æ¥ãè¿ç§æåæ¯éå¸¸ä¸¥æ ¼çï¼ä¸ä»
ä»
æ¯å符æ¬èº«ï¼èä¸è¿æé¡ºåºï¼æ¢è¨ä¹ï¼å¦ææä¸ªå符æ¢äºï¼å°±åæä¸ä¸ªæ°å符串äºï¼å¦æè¿äºå符顺åºåçååäºï¼ä¹æä¸ºäºä¸ä¸ªæ°å符串ã
å¨Pythonä¸ï¼æååç¬¦ä¸²è¿æ ·ç对象类åï¼åé¢è¿ä¼ååºæ¥ç±»ä¼¼çå
¶å®æè¿ç§ç¹ç¹ç对象类åï¼æ¯å¦å表ï¼ï¼ç»ç§°ä¸ºåºåã
顾åæä¹ï¼åºåå°±æ¯âæåºæåâã
æ¯å¦æ°´æ³æ¢å±±ç108个好æ±ï¼éé¢åæä¹æå¥³çï¼é¾é女æ±åæ¯ä»è¿éæ¥çåï¼ï¼ï¼å°±æ¯ä¸ä¸ªâæåºæåâçåºåãä»è大宿±ä¸ç´æå°ç¬¬108ä½éæ¯ç¬æ®µæ¯ä½ãå¨è¿ä¸ªåºåä¸ï¼æ¯ä¸ªäººæç¼å·ï¼ç¼å·åæ¯ä¸ªäººä¸ä¸å¯¹åºã1å·æ¯å®æ±ï¼2å·æ¯å¢ä¿ä¹ãåè¿æ¥ï¼éè¿æ¯ä¸ªäººçå§åï¼ä¹è½æ¾åºä»å¯¹åºçç¼å·ãæ¦æ¾æ¯å¤å°å·ï¼14å·ãæéµå¢ï¼22å·ã
å¨Pythonä¸ï¼ç»è¿äºç¼å·åäºä¸ä¸ªæé
çååï¼å«å**ç´¢å¼**(å«çç¼ç¨è¯è¨ä¹è¿ä¹ç§°å¼ï¼ä¸æ¯Pythonç¬æçã)ã
##ç´¢å¼ååç
æ¢å±±å¥½æ±ï¼ä»1æå°108ï¼å°±æ¯ç´¢å¼ã
åçPythonçå符串ï¼
>>> lang = "study python"
>>> lang[0]
's'
>>> lang[1]
't'
æä¸ä¸ªå符串ï¼è¦å¾å°è¿ä¸ªå符串ç第ä¸ä¸ªåè¯`s`ï¼å¯ä»¥ç¨`lang[0]`ãå½ç¶ï¼å¦æä½ 䏿¿æè®©åélangæ¥æåé£ä¸ªå符串ï¼ä¹å¯ä»¥è¿æ ·åï¼
>>> "study python"[0]
's'
æææ¯ä¸æ ·çãå 为langæ¯æ ç¾ï¼å°±æåäº`"study python"`å符串ãå½è®©æ§è¡`lang[0]`çæ¶åï¼å°±æ¯è¦è½¬å°é£ä¸ªå符串对象ï¼å¦åä¸é¢çæä½ä¸æ ·ãåªä¸è¿ï¼å¦æä¸ç¨langè¿ä¹ä¸ä¸ªåéï¼åé¢å¦æååï¼å°±è´¹ç¬å¢¨äºï¼è¦æ¯æ¬¡é½æé£ä¸ªå符串åå
¨äºã为äºçäºï¼è¿æ¯å¤å¶ç»ä¸ä¸ªåéå§ãåéå°±æ¯å符串ç代表äºã
å符串è¿ä¸ªåºåçæåºæ¹æ³è·æ¢å±±å¥½æ±æç¹ä¸åï¼ç¬¬ä¸ä¸ªä¸æ¯ç¨æ°å1表示ï¼èæ¯ç¨æ°å0表示ãä¸ä»
ä»
Pythonï¼å
¶å®å¾å¤è¯è¨é½æ¯ä»0å¼å§æåºçã为ä»ä¹è¿æ ·åå¢ï¼è¿å°±æ¯è§å®ãå½ç¶ï¼è¿ä¸ªè§å®æ¯æä¸å®ä¼å¿çãæ¤å¤ä¸å±å¼ï¼æå
´è¶£çç½ä¸å»googleä¸ä¸ï¼æä¸é¨å¯¹æ¤è¿è¡è§£éçæç« ã
0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11
---|---|---|---|---|---|---|---|---|---|---|---
s |t |u |d |y | |p |y |t |h |o |n
ä¸é¢çè¡¨æ ¼ä¸ï¼å°è¿ä¸ªå符串ä»ç¬¬ä¸ä¸ªå°æåä¸ä¸ªè¿è¡äºæåºï¼ç¹å«æ³¨æï¼ä¸¤ä¸ªåè¯ä¸é´çé£ä¸ªç©ºæ ¼ï¼ä¹å ç¨äºä¸ä¸ªä½ç½®ã
ç©ºæ ¼ä¹æ¯ä¸ä¸ªå符ãâæ âä¸å®å
¨çäºâ没æâã
éè¿ç´¢å¼è½å¤æ¾å°è¯¥ç´¢å¼æå¯¹åºçå符ï¼é£ä¹åè¿æ¥ï¼è½ä¸è½éè¿åç¬¦ï¼æ¾å°å
¶å¨å符串ä¸çç´¢å¼å¼å¢ï¼æä¹æ¾ï¼
ç¨å符串çä¸ä¸ªæ¹æ³ââindexï¼
>>> lang.index("p")
6
å°±è¿æ ·ï¼æ¯ä¸æ¯å·²ç»è½å¤åæ¢å±±å¥½æ±çä¾å对ä¸å·äºï¼ä½æåºå«ï¼ç¬¬ä¸ä¸ªçç´¢å¼å¼æ¯0ã
妿æä¸å¤©ï¼å®å¤§å¥ç«å¨å¤§ç³å¤´ä¸ï¼åçåä½å¼å
大åï¼âå
å¼ä»¬ï¼é½æå¥½éãâçå
å¼ä»¬æå¥½ä¹åï¼å®æ±è¯´ï¼âç°å¨ç»å使²¡æèå©çå
å¼åé
女æåï¼æè¿éå·²ç»æäºååï¼æå¿µå°çå
å¼ç«åºæ¥ãä¸è¿ææ¯æç
§åºå·æ¥å¿µçã第29å·å°ç¬¬34å·å
åºåï¼å°æè¾¹æ¿åçååé
女æåãâ
ç»§ç»åºç¨åè¿°å符串ï¼`lang[1]`è½å¤å¾å°å符串ç第äºä¸ªå符`t`ï¼å°±ç¸å½äºä»åç¬¦ä¸²ä¸æè¿ä¸ªâåâåºæ¥äºãä¸è¿ï¼æä»¬è¿ä¹âåâå´ä¸å½±å忥å符串ç宿´æ§ï¼å½ç¶å¯ä»¥ç解为å°é£ä¸ªå符`t`å¤å¶ä¸ä»½æ¿åºæ¥äºã
é£ä¹å®æ±å¤§å¥æ²¡æä¸ä¸ªä¸ä¸ªâåâï¼èæ¯ä¸ä¸å°å 个å
å¼å«åºæ¥ãå¨Pythonä¸ä¹è½åç±»ä¼¼äºæ
ã
>>> lang
'study python' #å¨åé¢âåâäºè¥å¹²çå符ä¹åï¼åçä¸ä¸è¯¥å符串ï¼è¿æ¯å®æ´çã
>>> lang[2:9]
'udy pyt'
éè¿`lang[2:9]`è¦å¾å°å¤ä¸ªï¼ä¸æ¯ä¸ä¸ªï¼å符ï¼ä»è¿åçç»æä¸å¯ä»¥çåºï¼æä»¬å¾å°çæ¯åºå·åå«å¯¹åºç`2,3,4,5,6,7,8`(è·ä¸é¢çè¡¨æ ¼å¯¹åºä¸ä¸)å符ï¼å
æ¬é£ä¸ªç©ºæ ¼ï¼ãä¹å°±æ¯ï¼è¿ç§è·å¾é¨ååç¬¦çæ¹æ³ä¸ï¼è½å¤å¾å°å¼å§éè¦ç以åæåä¸ä¸ªåºå·ä¹åçæå¯¹åºçå符ãæç¹æå£ï¼èªå·±å¯¹ç
§ä¸é¢çè¡¨æ ¼æ°ä¸æ°å°±ç¥éäºãç®å说就æ¯å
æ¬å¼å¤´ï¼ä¸å
æ¬ç»å°¾ââåå
æ¬ï¼åä¸å
æ¬ã
ä¸è¿°ï¼ä¸ç®¡æ¯å¾å°ä¸ä¸ªè¿æ¯å¤ä¸ªï¼éè¿ç´¢å¼èå´å¾å°å符çè¿ç¨ï¼ç§°ä¹ä¸º**åç**ã
åçæ¯ä¸ä¸ªå¾æææçä¸è¥¿ãå¯ä»¥âåâåºä¸å°è±æ ·å¢ï¼
>>> lang
'study python'
>>> b = lang[1:] #å¾å°ä»1å·å°ææ«å°¾çå符ï¼è¿æ¶æåé£ä¸ªéè¦ä¸ç¨å
>>> b
'tudy python'
>>> c = lang[:] #å¾å°ææå符
>>> c
'study python'
>>> d = lang[:10] #å¾å°ä»ç¬¬ä¸ä¸ªå°10å·ä¹åçå符
>>> d
'study pyth'
å¨è·ååççæ¶åï¼å¦æåå·çï¼
- åé¢ä¸åæ°åï¼å°±è¡¨ç¤ºä»å符串ç第ä¸ä¸ªå¼å§ï¼å
æ¬ç¬¬ä¸ä¸ªï¼ï¼
- åé¢çåºå·ä¸åï¼å°±è¡¨ç¤ºå°å符串çå°ææ«ä¸ä¸ªåç¬¦ç»æï¼å
æ¬æåä¸ä¸ªï¼ã
`lang[:10]`çææå`lang[0:10]`æ¯ä¸æ ·çã
>>> e = lang[0:10]
>>> e
'study pyth'
é£ä¹ï¼`lang[1:]`å`lang[1:11]`ææä¸æ ·åï¼
请æèåä½çã
>>> lang[1:11]
'tudy pytho'
>>> lang[1:]
'tudy python'
ä¸ä¸æ ·ã
åå å°±æ¯åè¿°æè¯´çï¼å¦æåå·å颿æ°åï¼æå¾å°çåçï¼ä¸å
å«è¯¥æ°åæå¯¹åºçåºå·ï¼åå
æ¬ï¼åä¸å
æ¬ï¼ãé£ä¹ï¼æ¯ä¸æ¯å¯ä»¥è¿æ ·å¢ï¼`lang[1:12]`ï¼ä¸å
æ¬12å·ï¼äºå®æ²¡æ12å·ï¼ï¼æ¯ä¸æ¯å¯ä»¥å¾å°1å°11å·å¯¹åºçå符å¢ï¼
>>> lang[1:12]
'tudy python'
>>> lang[1:13]
'tudy python'
æç¶æ¯ãå¹¶ä¸ä¸ä»
ä»
åé¢å12ï¼å13ï¼ä¹è½å¾å°åæ ·çç»æã
使¯ï¼ç¹å«è¦æéï¼è¿ç§è·å¾åççåæ³å¨ç¼ç¨å®è·µä¸æ¯ä¸æå¡çãç¹å«æ¯å¦æåé¢è¦ç¨å°å¾ªç¯çæ¶åï¼è¿æ ·åæè®¸å¨ä»ä¹æ¶åéå°éº»ç¦ã
妿å¨åççæ¶åï¼åå·å·¦å³é½ä¸åæ°åï¼å°±æ¯å颿æä½ç`c = lang[:]`ï¼å
¶ç»ææ¯åécçå¼ä¸ååç¬¦ä¸²ä¸æ ·ï¼ä¹å°±æ¯âå¤å¶âäºä¸ä»½ã注æï¼è¿éçâå¤å¶âææä¸äºå¼å·ï¼æææ¯å¦åå¤å¶ï¼æ¯ä¸æ¯ççå¤å¶å¢ï¼å¯ä»¥ç¨ä¸é¢çæ¹å¼æ£éªä¸ä¸
>>> id(c)
3071934536L
>>> id(lang)
3071934536L
`id()`çä½ç¨å°±æ¯æ¥ç该对象å¨å
åå°åï¼å°±æ¯å¨å
åä¸çä½ç½®ç¼å·ï¼ãä»ä¸é¢å¯ä»¥çåºï¼ä¸¤ä¸ªçå
åå°å䏿 ·ï¼è¯´æcålang两个åéæåçæ¯åä¸ä¸ªå¯¹è±¡ãç¨`c=lang[:]`çæ¹å¼ï¼å¹¶æ²¡æçæä¸ä¸ªæ°çå符串ï¼èæ¯å°åécè¿ä¸ªæ ç¾ä¹è´´å¨äºåæ¥é£ä¸ªå符串ä¸äºã
>>> lang = "study python"
>>> c = lang
å¦æè¿æ ·æä½ï¼åécålangæ¯ä¸æ¯æååä¸ä¸ªå¯¹è±¡å¢ï¼æè
两è
ææåç对象å
åå°åå¦ä½å¢ï¼ç¨`id()`彿°æ¥ç便ç¥ã
å符串æç´¢å¼ï¼è½å¾å°åçãä¸ä»
妿¤ï¼è¿ææ´å¤æä½ã
##åç¬¦ä¸²åºæ¬æä½
å符串æ¯ä¸ç§åºåï¼ææåºå齿å¦ä¸åºæ¬æä½ï¼è¿æ¯åºåå
±æçæä½ã
1. len()ï¼æ±åºåé¿åº¦
2. + ï¼è¿æ¥2个åºå
3. * : éå¤åºåå
ç´
4. in :夿å
ç´ æ¯å¦åå¨äºåºåä¸
5. max() :è¿åæå¤§å¼
6. min() :è¿åæå°å¼
7. cmp(str1,str2) :æ¯è¾2个åºå弿¯å¦ç¸å
é个æ¼ç¤ºï¼æ¹è½çè§£ï¼
###`+`
>>> str1 + str2
'abcdabcde'
>>> str1 + "-->" + str2
'abcd-->abcde'
è¿å
¶å®å°±æ¯æ¼æ¥ï¼ä¸è¿å¨è¿éï¼çå®åºè¯¥æä¸ä¸ªæ´å¤§çè§å¿µï¼æä»¬ç°å¨åªæ¯å¦äºå符串è¿ä¸ç§åºåï¼åé¢è¿ä¼éå°å表ãå
ç»ä¸¤ç§åºåï¼é½è½å¤å¦æ¤å®ç°æ¼æ¥ã
###`in`
>>> "a" in str1
True
>>> "de" in str1
False
>>> "de" in str2
True
`in`ç¨æ¥å¤ææä¸ªå符串æ¯ä¸æ¯å¨å¦å¤ä¸ä¸ªå符串å
ï¼æè
è¯´å¤ææä¸ªå符串å
æ¯å¦å
å«å¦å¤ä¸ä¸ªå符串ï¼è¿ä¸ªå符串被称为åå符串ï¼ï¼å¦æå
å«ï¼å°±è¿å`True`ï¼å¦åè¿å`False`ã
###æå¤§å¼åæå°å¼
>>> max(str1)
'd'
>>> max(str2)
'e'
>>> min(str1)
'a'
å¨è±æåå
¸ä¸ï¼ææç忝齿ä¸ä¸ªæåºï¼æä»¬ç§°ä¹ä¸ºâåå
¸é¡ºåºâã
èæ¯ä¸ªå符ï¼ä¹é½éè¿ç¼ç 对åºçä¸ä¸ªæ°åï¼å®ä»¬é½ä¼æä¸å®ç顺åºã`min()`å`max()`å°±æ¯æ ¹æ®è¿ä¸ªé¡ºåºè·å¾æå°å¼åæå¤§å¼ï¼ç¶å对åºåºç¸åºçå符ã读è
å¯ä»¥googleæå
³å符ç¼ç ï¼æè
ASCIIç¼ç ä»ä¹çï¼å¾å®¹ææ¥å°ã
###æ¯è¾
>>> cmp(str1, str2)
-1
å°ä¸¤ä¸ªå符串è¿è¡æ¯è¾ï¼ä¹æ¯é¦å
å°å符串ä¸ç符å·è½¬å为对åºç¼ç çæ°åï¼ç¶åæ¯è¾ã妿è¿åçæ°å¼å°äºé¶ï¼è¯´æç¬¬ä¸ä¸ªå°äºç¬¬äºä¸ªï¼çäº0ï¼å两个ç¸çï¼å¤§äº0ï¼ç¬¬ä¸ä¸ªå¤§äºç¬¬äºä¸ªã为äºè½å¤æç½å
¶æä»¥ç¶ï¼è¿å
¥ä¸é¢çåæã
>>> ord('a')
97
>>> ord('b')
98
>>> ord(' ')
32
`ord()`æ¯ä¸ä¸ªå
å»ºå½æ°ï¼è½å¤è¿åæä¸ªåç¬¦ï¼æ³¨æï¼æ¯ä¸ä¸ªå符ï¼ä¸æ¯å¤ä¸ªåç¬¦ç»æçä¸²ï¼æå¯¹ä¸ä¸ªçASCIIå¼ï¼æ¯åè¿å¶çï¼ï¼å符aå¨ASCIIä¸ç弿¯97ï¼ç©ºæ ¼å¨ASCIIä¸ä¹æå¼ï¼æ¯32ã顺便说æï¼åè¿æ¥ï¼æ ¹æ®æ´æ°å¼å¾å°ç¸åºå符ï¼å¯ä»¥ä½¿ç¨`chr()`ï¼
>>> chr(97)
'a'
>>> chr(98)
'b'
äºæ¯ï¼å°±å¾å°å¦ä¸æ¯è¾ç»æäºï¼
>>> cmp("a","b") #a-->97, b-->98, 97å°äº98ï¼æä»¥aå°äºb
-1
>>> cmp("abc","aaa")
1
>>> cmp("a","a")
0
ççä¸é¢çæ¯è¾ï¼æ¯æä¹è¿è¡çå¢ï¼
>>> cmp("ad","c")
-1
å¨åç¬¦ä¸²çæ¯è¾ä¸ï¼æ¯ä¸¤ä¸ªå符串ç第ä¸ä¸ªå符å
æ¯è¾ï¼å¦æç¸çï¼å°±æ¯è¾ä¸ä¸ä¸ªï¼å¦æä¸ç¸çï¼å°±è¿åç»æãç´å°æåï¼å¦æè¿ç¸çï¼å°±è¿å0ã使°ä¸å¤æ¶ï¼æç
§æ²¡æå¤çï¼æ³¨æï¼æ²¡æä¸æ¯0ï¼0å¨ASCIIä¸å¯¹åºçæ¯NULï¼ï¼ä½æ°å¤çé£ä¸ªå¤©ç¶å¤§äºã`ad`ä¸ç`a`å
ååé¢ç`c`è¿è¡æ¯è¾ï¼æ¾ç¶`a`å°äº`c`ï¼äºæ¯å°±è¿åç»æ`-1`ã
妿è¿è¡ä¸é¢çæ¯è¾ï¼æ¯æå®¹æè®©äººè¿·è«çãè½ä¸è½æ ¹æ®åæéè¿°çæ¯è¾çè§£å¢ï¼
>>> cmp("123","23")
-1
>>> cmp(123,23) #ä¹å¯ä»¥æ¯è¾æ´æ°ï¼è¿æ¶åå°±æ¯æ´æ°çç´æ¥æ¯è¾äºã
1
å¦æè¯»è
é
读å°è¿éï¼ä¸ç¥éä½ æ¯å¦å°ä¸é¢çå项è¿è¡äºå®é
æä½ï¼å¦ææä½äºï¼å¨Python 3ä¸è½æååï¼
ä¸é¢çæä½åªè½éç¨äºPython 2ï¼ä¸éç¨Python 3ã
Python 3ä¸åæ¶äº`cmp()`彿°ãé£ä¹å¨Python 3䏿乿¯è¾å¢ï¼
>>> str1 = "abc"
>>> str1 > str2
False
>>> str1 < str2
True
>>> str1 == str2
False
ç¨æ¯è¾è¿ç®ç¬¦ï¼ä¹å¯ä»¥å¾å°æ¯è¾ç»æã
###â*â
å符串ä¸çâ乿³âï¼è¿ä¸ªä¹æ³ï¼å°±æ¯éå¤é£ä¸ªå符串çå«ä¹ãå¨æäºæ¶åå¾å¥½ç¨çãæ¯å¦æè¦æå°ä¸ä¸ªå丽çåå²çº¿ï¼
>>> str1*3
'abcdabcdabcd'
>>> print "-"*20 #ä¸ç¨è¾å
¥å¾å¤ä¸ª`-`
--------------------
###len()
è¦ç¥éä¸ä¸ªå符串æå¤å°ä¸ªå符ï¼ä¸ç§æ¹æ³æ¯ä»å¤´å¼å§ï¼ç¯çå±å¹æ°ä¸æ°ãå¦ï¼è¿ä¸æ¯è®¡ç®æºå¨å¹²æ´»ï¼æ¯é®å®¢å¨å¹²æ´»ã
>é®å®¢ï¼ä¸æ¯å客ãå客æ¯ä»¥å为æ¦å¨çä¾ å®¢ï¼èé®å®¢æ¯ä»¥é®ç为æ¦å¨çä¾ å®¢ãå½ç¶ï¼è¿æè´±å®¢ï¼é£æ¯è´±äººçæé«å¢çï¼è´±å°å¤§ä¾ çç¨åº¦ï¼æ¯å¦å²³ä¸ç¾¤ä¹æµã
Pythonç¨`len()`彿°æ¥è·å¾å符串é¿åº¦ï¼ä¸ç®¡Python 2è¿æ¯Python 3ã
>>> a = "hello"
>>> len(a)
5
彿°`len(object)`ï¼å¾å°çç»æå°±æ¯è¯¥å符串é¿åº¦ã
>>> m = len(a) #æç»æè¿ååèµå¼ç»ä¸ä¸ªåé
>>> m
5
>>> type(m) #è¿ä¸ªè¿åå¼ï¼åéï¼æ¯ä¸ä¸ªæ´æ°åï¼Python 3ä¸è¿åçç»æç¥æå·®å«ã