# å°å¸
båç»æ°æä»¬çãè½»æ¾å
¥é¨Pythonåºç¡æç¨ã
> ä½è
ï¼[å°å¸
b](https://fxxkpython.com/)
> 欢è¿å
³æ³¨å
¬ä¼å·ï¼å°å¸
båä»çæå们ï¼å¾®ä¿¡æç´¢ï¼xsb_pro
* [å°å¸
båç» 0 åºç¡æåç Python è½»æ¾å
¥é¨æç¨](#å°å¸
båç»-0-åºç¡æåç-python-è½»æ¾å
¥é¨æç¨)
* [pick up Python](#pick-up-python)
* [为ä»ä¹è¦å¦ Python](#为ä»ä¹è¦å¦-python)
* [嫿ï¼Python 䏿¯èè](#嫿python-䏿¯èè)
* [Python : Hello World !](#python--hello-world-)
* [å®è£
Python](#å®è£
-python)
* [å¼å§ç©è](#å¼å§ç©è)
* [Pythoner ï¼æéä¸ä¸ªPythonç¼è¾å¨](#pythoner-æéä¸ä¸ªpythonç¼è¾å¨)
* [IDLE](#idle)
* [PyCharm](#pycharm)
* [Sublime Text](#sublime-text)
* [Visual Studio Code](#visual-studio-code)
* [VIM](#vim)
* [Emacs](#emacs)
* [èªå·±åä¸ä¸ª Say Hello ç python ç¨åº](#èªå·±åä¸ä¸ª-say-hello-ç-python-ç¨åº)
* [è¿ä¸ªPythonç¨åºå¯ä»¥å¹²å](#è¿ä¸ªpythonç¨åºå¯ä»¥å¹²å)
* [å¼å§ç¼å第ä¸ä¸ª python å°ç¨åº](#å¼å§ç¼å第ä¸ä¸ª-python-å°ç¨åº)
* [ä»ä¹æ¯å¸¸éï¼ä»ä¹æ¯åéï¼](#ä»ä¹æ¯å¸¸éä»ä¹æ¯åé)
* [常é](#常é)
* [åé](#åé)
* [Pythonåºæ¬æ°æ®ç±»åä¹ãæ°ã](#pythonåºæ¬æ°æ®ç±»å乿°)
* [æ°](#æ°)
* [æ´æ°](#æ´æ°)
* [æµ®ç¹æ°](#æµ®ç¹æ°)
* [夿°](#夿°)
* [äºè¿å¶å
«è¿å¶åå
è¿å¶çå¿«é转å](#äºè¿å¶å
«è¿å¶åå
è¿å¶çå¿«é转å)
* [äºè¿å¶](#äºè¿å¶)
* [äºè¿å¶æä¹è½¬åæå
«è¿å¶ï¼](#äºè¿å¶æä¹è½¬åæå
«è¿å¶)
* [äºè¿å¶æä¹è½¬åæåå
è¿å¶ï¼](#äºè¿å¶æä¹è½¬åæåå
è¿å¶)
* [ä¸åçè¿å¶è¡¨è¾¾æ¹å¼](#ä¸åçè¿å¶è¡¨è¾¾æ¹å¼)
* [è¿å¶ä¹é´çç¸äºè½¬å](#è¿å¶ä¹é´çç¸äºè½¬å)
* [äºè¿å¶è½¬å为åè¿å¶](#äºè¿å¶è½¬å为åè¿å¶)
* [åè¿å¶è½¬å为äºè¿å¶](#åè¿å¶è½¬å为äºè¿å¶)
* [äºè¿å¶è½¬å为å
«è¿å¶](#äºè¿å¶è½¬å为å
«è¿å¶)
* [äºè¿å¶è½¬å为åå
è¿å¶](#äºè¿å¶è½¬å为åå
è¿å¶)
* [åç§ç¬¦å·çæä¹åç¨æ³](#åç§ç¬¦å·çæä¹åç¨æ³)
* [å åä¹é¤(+-/*)](#å åä¹é¤-)
* [å¹(**)](#å¹)
* [æ´é¤ï¼//ï¼](#æ´é¤)
* [忍¡ï¼%ï¼](#忍¡)
* [左移ï¼<<ï¼åå³ç§»(>>)](#左移åå³ç§»)
* [ä¸ï¼&ï¼](#ä¸)
* [æï¼|ï¼](#æ)
* [弿ï¼^ï¼](#弿)
* [翻转ï¼~ï¼](#翻转)
* [Pythonåºæ¬æ°æ®ç±»åä¹ãå符串ã](#pythonåºæ¬æ°æ®ç±»åä¹å符串)
* [åå¼å·ï¼'ï¼å符串](#åå¼å·å符串)
* [åå¼å·(")å符串](#åå¼å·å符串)
* [ä¸å¼å·å符串ï¼'''æè
"""ï¼](#ä¸å¼å·å符串æè
)
* [转ä¹](#转ä¹)
* [åç¬¦ä¸²çæ¼æ¥](#åç¬¦ä¸²çæ¼æ¥)
* [åå§å符串](#åå§å符串)
* [Python çæ§å¶æµæ¡ä»¶è¯å¥](#python-çæ§å¶æµæ¡ä»¶è¯å¥)
* [if...else](#ifelse)
* [if...elif...else](#ifelifelse)
* [and](#and)
* [or](#or)
* [Pythonä¸ç循ç¯è¯å¥](#pythonä¸ç循ç¯è¯å¥)
* [while循ç¯](#while循ç¯)
* [for循ç¯](#for循ç¯)
* [ç»æ¢å¾ªç¯break](#ç»æ¢å¾ªç¯break)
* [continue](#continue)
* [Pythonä¸ç彿°](#pythonä¸ç彿°)
* [å®ä¹å½æ°](#å®ä¹å½æ°)
* [彿°çå½¢ååå®å](#彿°çå½¢ååå®å)
* [å±é¨åéåå
¨å±åé](#å±é¨åéåå
¨å±åé)
* [returnè¿åå¼](#returnè¿åå¼)
* [docString](#docstring)
* [模å](#模å)
* [ä½¿ç¨æ¨¡å](#ä½¿ç¨æ¨¡å)
* [å建èªå·±ç模å](#å建èªå·±ç模å)
* [å®è£
ç¬¬ä¸æ¹æ¨¡å](#å®è£
ç¬¬ä¸æ¹æ¨¡å)
* [é¢å对象](#é¢å对象)
* [pythonå建ä¸ä¸ªç±»](#pythonå建ä¸ä¸ªç±»)
* [ç±»ä¸çæ¹æ³ä½¿ç¨](#ç±»ä¸çæ¹æ³ä½¿ç¨)
* [__init__彿°](#__init__彿°)
* [ç»§æ¿](#ç»§æ¿)
* [夿](#夿)
* [å¼å¸¸](#å¼å¸¸)
* [å¼å¸¸æè·](#å¼å¸¸æè·)
* [æåºå¼å¸¸](#æåºå¼å¸¸)
* [python ä¸çæ°æ®ç»æ](#python-ä¸çæ°æ®ç»æ)
* [å表](#å表)
* [å
ç»](#å
ç»)
* [åå
¸](#åå
¸)
* [åºå](#åºå)
* [ç´¢å¼](#ç´¢å¼)
* [åç](#åç)
* [ç¸å ç¸ä¹](#ç¸å ç¸ä¹)
* [æåèµæ ¼](#æåèµæ ¼)
* [Pythonä¸çIO](#pythonä¸çio)
* [读åæä»¶](#读åæä»¶)
* [åå
¥æä»¶](#åå
¥æä»¶)
* [æä»¶åå¨å¨](#æä»¶åå¨å¨)
* [ç¨pythonç»èªå·±åä¸ä¸ªæä½çé¢](#ç¨pythonç»èªå·±åä¸ä¸ªæä½çé¢)
* [Pythonçäºèç½ç¼ç¨](#pythonçäºèç½ç¼ç¨)
* [Python ä¸ç TCP ç¼ç¨](#python-ä¸ç-tcp-ç¼ç¨)
* [TCP æå¡ç«¯çç¼å](#tcp-æå¡ç«¯çç¼å)
* [Pythonä¸ç UDP ç¼ç¨](#pythonä¸ç-udp-ç¼ç¨)
* [æä½ çPythonç¨åºæå
æexe坿§è¡æä»¶](#æä½ çpythonç¨åºæå
æexe坿§è¡æä»¶)
* [å卿å](#å卿å)
# pick up Python
é£ä¸ªï¼å¦æä½ æ¯ 0 åºç¡ï¼é£ä¹æ¥ä¸æ¥å°±åæä¸èµ· pick up Python å§ã
æ¯çï¼æ²¡éï¼pick upï¼ä»¥åä½ åè¯å«äººè¯´ä½ è¦å¦ pythonï¼ä½ å¯ä»¥å¾è£
é¼çåè¯ä»ï¼âèåè¦pick up Pythonäºï¼â
> 
人çè¦çï¼æç¹ä¹è¦pick up Python~~~
è¿ä¸ªæç¨æä¼å°½éåå¾é£è¶£å¹½é»ï¼è®©ä½ çèµ·æ¥åçå°é»æä¸æ ·è½»æ¾ï¼ææå½ä½ä½ çæåï¼å°ç¹è·ç¦»æï¼è¿æ£æ¯ææ³åçäºæ
ã
> 
å¬å°å°é»æï¼æ³æ³è¿æç¹é¸¡å¨å¢ (ä½ å¯å«ä¹±æ¥åï¼)
## 为ä»ä¹è¦å¦ Python
对äºï¼è¿æ²¡åè¯ä½ 为ä»ä¹è¦å¦ Python å¢ï¼ææ¥è¯´è¯´è¿å ç¹å°±å·²ç»è¶³å¤ï¼
> 
1. ç°å¨ Python å·²ç»æä¸ºä¸ç䏿æµè¡çç¼ç¨è¯è¨ä¹ä¸äºï¼èä¸å¤§é¨åç Linux ç³»ç»ï¼MacOSç³»ç»é½ç´æ¥å
ç½®äº Python ï¼å°±é®ä½ çé¼ä¸ï¼
2. ç°å¨è¿å°å¦çé½å¼å§å¦ä¹ Python äºï¼Python å·²ç»çº³å
¥äºæå°åºå°å¦çææäºãPyhon å·²ç¶æä¸ºäºç¼ç¨çç âç½çº¢âï¼ç°å¨ç¨åºå们å¯è½ä¸ç¥éCobolï¼Basicï¼Pascalï¼Perlï¼Rubyï¼ä½æ²¡æä¸ä¸ªç¨åºåä¸ç¥éPythonçã
3. 䏿ç®åï¼ç°å¨å¾å¤ä»æ¥æ²¡æ¥è§¦è¿ç¼ç¨ç人é½çæå¼å§å¦ä¹ Python äºï¼ææä¸æåï¼ä¹å没æä»»ä½ç¼ç¨åºç¡ï¼å¦äºå年夿¾å°äºä»½å·¥ä½ï¼å·¥èµ 12k 妥妥çï¼ä¸è¿ä¸è¦å»ç¾¡æ
å«äººçæ°åï¼äººå®¶èåçåªåä½ æ²¡çå°èå·²ï¼å¦æä½ ç°å¨ä¹æ¯æ²¡æä»»ä½åºç¡æè
æ³è¦ä» 0 å¦ä¹ Python ï¼é£ä¹ä½ æ¥å¯¹å°æ¹äºï¼å 为人çè¦çï¼æä»¬ä¸èµ·æ Pythonã
4. webå¼åï¼ç§å¦è®¡ç®ï¼3D建模ï¼äººå·¥æºè½ï¼åµå
¥å¼å¼åï¼äºè®¡ç®ï¼å¤§æ°æ®ççé½ç¹ä¹è½çå° Python ç身影ï¼ä¸ç¥éä½ ç¥ä¸ç¥é NASAï¼ç¾å½å®èªå±ï¼ä½¿ç¨ Python æ¥å¼åç¨äºç³»ç»éæå嫿ï¼ç«ç®çæµè¯èªå¨åä¹ï¼è¿æç½æï¼è
¾è®¯ï¼æçï¼éå±±ï¼è±ç£ï¼YouTube ï¼googleï¼é
èï¼å¤ªå¤ï¼ä¸¾ä¾ä¸å®ï¼é½å¨ç¨Pythonãæä»¥è¿ä¹çé¼ï¼ä½ä¸ pick up python å¢ï¼
5. ç¨ Python å¯ä»¥åå¾å¤äºæ
ï¼å¯ä»¥ç¬åä½ æ³è¦çæ°æ®ï¼å¯ä»¥åèªå¨èæ¬ï¼ä¹åç微信跳ä¸è·³è¾
å©ï¼12306æ¢ç¥¨çé½å¯ä»¥ç¨Pythonå®ç°ï¼è¿æå¾å¤æ°æ®åæï¼é¡¹ç®ç³»ç»ï¼è天系ç»ï¼æ¸¸æççå¤äºå»äºãæä»¥è¿ä¹çé¼ï¼ä½ä¸ pick up Python å¢ï¼
> 
æ¯ä¸æ¯ççåï¼åæ³éªæå¦ä¹ ~
ä¸å¦¨åæ¥çä¸[Pythonå®ç½](https://www.python.org/)ä¹åçä»ç»ï¼**ä»è¯´è¿äºæ¯ä½¿ç¨Pythonçäººå®æ¿ä¸ä½¿ç¨å
¶ä»ä»»ä½ä¸è¥¿çä¸äºåå **ï¼
> 
1. Pythonå¾çé¼...èä¸å¾å¿«ï¼
2. å¯ä»¥åå«äººä¸èµ·Pï¼
3. å¨åªé½å¯ä»¥æï¼
4. é常å好&å¦ä¹ ç®åï¼
5. 弿¾ã
> 
>好æ£ï¼æè¦pick up Pythonäºï¼æ¥ä¸æ¥å°æ¯å¦ä¹ pythonçæ£ç¡®å¿ï¼
## 嫿ï¼Python 䏿¯èè
PSï¼è½ç¶ Python çä¸ææææ¯ãèèãï¼ä½æ¯ [Python è¯è¨çåé è
Guido van Rossum](https://mp.weixin.qq.com/s?__biz=Mzg2NzYyNjg2Nw==&mid=2247490157&idx=1&sn=2538bae8abf60bf5e745cfc7f24afe76&chksm=ceb9e071f9ce696744bd1ee3a6b785c46a41e0b278d8a541c4aa5f9254cf28e0496716e8681b&token=1031215785&lang=zh_CN#rd) æ¯å 为è¶
忬¢è±å½å¹¿æå
¬å¸çèç®ãèèé£è¡é©¬æãèå½åè¿ä¸ªè¯è¨çï¼æä»¥ä½ å¯å«ä»¥ä¸º Python åé è
æ¯ä¸ªå欢èèçæªååå¦ã
> 
>python åå§äºº
# Python : Hello World !
ä¸ç®¡å¦ä»ä¹ç¼ç¨è¯è¨ï¼å¨ä¸å¼å§å
¥é¨çæ¶åï¼é½ä¼ä»ãHello Wroldãå¼å§ï¼è¿å·²ç»æä¸ºç¼ç¨çç䏿æè§å®ã
å¨ 1972 å¹´çæ¶åï¼æä¸ªå«ç§æ¯ å¸è±æ©çäººä½¿ç¨ B è¯è¨æ°åäºç¬¬ä¸ä¸ªä½¿ç¨åæ°ç Hello World ç¸å
³ç¨åºã
说æä¸ä¸ï¼æ¤ç§æ¯éå½¼ç§æ¯ï¼è¿å¥ä»¬å½ç¶ä¸æ¯æçé£ä½æNBAçå¶ååï¼
> 
>å¦æç§æ¯ä¸æ NBA èå»ç¼ç¨ï¼ä¼æ¯æä¹æ ·å¢ï¼
çä¸å¾ï¼è¿å°±æ¯ç± ç§æ¯ å¸è±æ© æ°åçãHello Wroldãç¨åºï¼
> 
èªæ¤ï¼Hello World æä¸ºäºè®¡ç®æºç¨åºåå¦ä¹ æ°çç¼ç¨è¯è¨çä¼ ç»ç¾å¾·ï¼
é£ä¹ï¼æä»¬å¦ä¹ Python ä¹ä»ãHello Worldãå¼å§å§ï¼
## å®è£
Python
å¦æä½ ç¨ç Mac æè
Linux çè¯ï¼é£ä¹ä½ å°±ä¸éè¦å®è£
äºï¼å 为系ç»å·²ç»å
ç½® Python äºï¼å¦ææ¯ Windows ç³»ç»çè¯ï¼å®è£
ä¹å¾ç®åï¼æ¯å®è£
LOL è±éèçè¿ç®åãæä»¥æç¸ä¿¡ä¸ç¨æè¯´ï¼ä½ ä¹ç¥éæä¹å®è£
ï¼å¦æä½ è¿è½¯ä»¶é½ä¸ä¼å®è£
ï¼é£ä¹å¯ä»¥ä¸ç¨å
³æ³¨æäºã
> 
>说ç好å±åï¼ä¸ç¥éæ¯ä¸æ¯ççï¼
ä½ å¯ä»¥ç´æ¥è®¿é® [Python çå®ç½](http://www.python.org) ä¸è½½ææ°ççæ¬ã
> 
å¨è¿éåè¯ä¸ä¸å®å
¨æ²¡ç»éªçæå们ï¼åä¸ä¸è¦å»ç¾åº¦æç´¢ python ä¸è½½ï¼ç¶åå»å°ç±»ä¼¼è¿æ ·çå°æ¹ä¸è½½ï¼
> 
>å«å¨è¿éä¸è½½ python
å ä¸ºè¿æ ·å**å¾å®¹æè¢«äººéªå»é¼ç**ã
> 
>å¬è¯´ç°å¨éªç¾åº¦æ¯ä¸ç§æ£ç¡®çä»·å¼è§ï¼
## å¼å§ç©è
å·²ç»å®è£
好Pythonä¹åå¢ï¼ä½ å¯ä»¥å¨å½ä»¤è¡éé¢è¾å
¥ãpythonãï¼ç¶åä½ å°±ä¼çå°è¿æ ·çä¸ä¸ï¼
> 
> å¦æä½ æ¾ç¤ºçæ¯ python2 çæ¬ï¼è¯·åçº§å° python3 çæ¬å¦ï¼ç°å¨ææ°çæ¬æ¯ 3.10 å¦ï½
ææ²¡æçå°ä¸éæ æ ã >>>ããæ¯ä¸æ¯çªç¶æ³å°å°å¦çæ¶åï¼é£äºåèå¸ç±æ´ï¼å¦çä¸çå¥½æ¦æ ·çéé¿è¢å£ä¸çä¸éæ ï¼
> 
>ä¸éæ ï¼æä¸æ
> 
>大éé¿å大éå§ï¼çé¼çé¼ï¼ç¤¾ä¼ç¤¾ä¼ã
ä¸è¿å¨ Python è¿éå¢ï¼ >>> æ¯ä¸ä¸ªæç¤ºç¬¦æ¥çï¼ä¹å°±æ¯å¨å®åé¢å¯ä»¥è¾å
¥ä¸äºå
å®¹ï¼æ´ç¡®åç说ï¼**è¿æ¯äº¤äºå¼Pyhonè§£é卿¥æ¶å
容ç符å·**ã
æ¯å¦æä»¬è¦ Python ç»æä»¬æå° Hello World çåæ ·ï¼é£ä¹ä½ å°±å¯ä»¥è¿æ ·åï¼å¨ "ä¸éæ " åé¢è¾å
¥ print ("Hello World") , ç¶åç¨åæä¸ä¸å车é®ï¼ä½ å°±å¯ä»¥çå° Python è§£é卿å°åº Hello World è¿æ ·çå符串äºï¼
> 
å½ç¶ä»
ä»
æ¯æå° Hello World ä½ å¯è½è§å¾æ²¡ä»ä¹çé¼çï¼ä½æ¯è¿ä¸æ¯æå
¥é¨ä¹ï¼æ³è¦åæ´å¤æè¶£çäºæ
ä¹ï¼è·çæä¸æ¥ä¸æ¥æ¥ï¼
# Pythoner ï¼æéä¸ä¸ªPythonç¼è¾å¨
æä»¬å¨ç©æ¸¸æçæ¶åï¼æä»¬éè¿å±å±åªåçææªå级ï¼ä¸ºçæ¯ä»ä¹ï¼æ¯å¥³äººä¹ï¼æ¯éé±ä¹ï¼ å½ç¶ä¸æ¯ï¼æä»¬æé£ä¹è¤æµ
ä¹ï¼æä»¬ä¸ºäºè½å¤æ¥ææ´çé¼çè£
å¤ã
> 
>èè¯è¯´ç好ï¼å·¥æ¬²åå
¶äºå¿
å
å©å
¶å¨ï¼ä½ çæ¦å¨è¶çé¼ï¼ä½ ç女人就è¶è½å¤å¯¹ä½ ææå¸å¸çã
æä»¥ï¼æä»¬å¨ä½¿ç¨ Python æ¥ç¼ç¨çæ¶åï¼æä»¬ä¹éè¦ä¸ä¸ªçé¼çæ¦å¨ï¼æ¥ç¼åæä»¬ç代ç ââ ç¼è¾å¨ï¼
å¨è¿éè·å¤§å®¶è¯´ä¸ä¸ç°å¨å¸é¢ä¸æ¯è¾ä¸»æµç Python ç¼è¾å¨ä¾ä½ åèï¼è¦ç¥éï¼éåèªå·±çææ¯å¥½çãå¦æä½ çä¸ä¸å¾å°ï¼ä½¿ç¨å大 size çå¥å¥ä¹æ¯ç½æï¼
## IDLE
> 
å¦æä½ ä¹å齿²¡ç¢°è¿ç¼è¾å¨ï¼å¯ä»¥å
ä½¿ç¨ [IDLE](https://docs.python.org/3/library/idle.html), 宿¯ Pyhton èªå¸¦ç䏿¬¾ç¼è¾å¨ï¼æä»¥åå¼å§ä¹å¯ä»¥ä½¿ç¨å®æ¥ç©ç©ï¼IDLEå
·å¤è¯æ³é«äº®åè½ï¼è¿å
è®¸ä½ å¨IDLEä¸è¿è¡ä½ çç¨åºã
## PyCharm
> 
æä¸ªæ¯è¾å¤äººä½¿ç¨ï¼å¦æä½ 使ç¨è¿ [IntelliJ IDEA](https://www.jetbrains.com/idea/) çè¯ï¼ä½ åºè¯¥ä¼å¯¹å
¶ç±ä¸éæï¼èè¿æ¬¾ PyCharm 乿¯åºèªåä¸å®¶å
¬å¸ï¼ç¨èµ·æ¥ä¼å¾é¡ºæï¼ç°å¨å¾å¤å
¬å¸ï¼å¦Twitterï¼Grouponï¼Spotifyï¼eBayå Telefonica çé½å¨ç¨ PyCharmã Pycharm 社åºå
è´¹çæ¬å°±å¾éåæ°æä½¿ç¨äºã
## Sublime Text
> 
[Sublime Text](https://www.sublimetext.com/) ä¹éå Python æ°æä½¿ç¨ï¼Sublime Textæ¯æè·¨å¹³å°ï¼èä¸å¯ä»¥ä½¿ç¨å
¶ä¸°å¯çæä»¶å主é¢ãåç§è¯æ³é«äº®å代ç è¡¥å
¨ï¼æ´ä½çèµ·æ¥æºèæçï¼èä¸ä¸»é¢é
置起æ¥ä¹ä¸é¾ã
## Visual Studio Code
> 
[vc code](https://code.visualstudio.com/) ï¼å¾®è½¯åºåï¼æ¥æå¾å¤ä¸°å¯çæä»¶ï¼ä¹å¾éåä½ä¸º Python çç¼è¾å¨ä½¿ç¨ï¼å®¹æä¸æã
## VIM
> 
[Vim](https://www.vim.org/)æ¯ä¸æ¬¾å¼ºå¤§çç¼è¾å¨ï¼å¦æä½ çç»ä½¿ç¨ Vim çè¯ï¼é£ä¹ä½ å®å
¨å¯ä»¥è±ç¦»é¼ æ ï¼åæå¨é®çä¸åå¼¹é¢ç´é£è¬é
¸ç½ï¼ä¸è¿ Vim éè¦ä¸å®çå¦ä¹ ææ¬ï¼éè¦è±ç¹æ¶é´å»ç ç©¶ä¸ä¸åç§å¿«æ·å½ä»¤åæä»¶ç使ç¨ï¼ä½æ¯ä»é¿è¿æ¥çï¼è¿é½æ¯å¤§ææççã
## Emacs
> 
[Emacs](https://www.gnu.org/s/emacs/) å¨ python å¼åçä¹å¾å欢è¿ï¼å®æ¯ä¸æ¬¾å¼æºçç¼è¾å¨ï¼æ¯ææä»¶æ©å±ï¼å¯ä»¥é
ç½®ä¸ä¸ª python éæå¼åç¯å¢ï¼ Emacs ä¸ä»
ä»
æ¯ä¸ä¸ªç¼è¾å¨ï¼ä»æ¯ä¸ä¸ªæ´åç¯å¢ï¼å¯ä»¥è¯´æ¯ä¸ä¸ªéæå¼åç¯å¢ã
okï¼å°±æ¨èè¿å 个å¸é¢ä¸æ¯è¾æµè¡çç¼è¾å¨ï¼å½ç¶è¿æå
¶ä»çç¼è¾å¨ï¼æéåèªå·±çææ¯æå¥½çï¼ç¨èµ·æ¥é¡ºæä¸å°´å°¬æç½å~
å¨è¿éç»ç¹å»ºè®®å°±æ¯æ°æå¯ä»¥å
ä¸æä½¿ç¨ IDLE å Pycharm æ vs codeï¼Vim æ¯ä¸æ¬¾å¼ºå¤§çç¼è¾å¨ï¼æ²¡äºè±ç¹æ¶é´ç ç©¶ä¸ï¼ç¸ä¿¡æï¼ççä¼åçåªæµ
çã
# èªå·±åä¸ä¸ª Say Hello ç python ç¨åº
æ¯ä¸æ¯è§å¾æç¹ä¹æå®è£
äº Python 软件ï¼è¿ä¹å¿«æå°±å¯ä»¥ååº python ç¨åºäºï¼
å
嫿ççå
ï¼ä¸å¼å§æå°±è¯´äºï¼Python è¯è¨ç®åï¼ä¸æå¿«ï¼æä»¥ä½ è·çæå¢ï¼ä¸æ¥ä¸æ¥æ¥ï¼å没éçã
> 
>åä»å¦çä¸è¦è¸äºï¼
ç¸ä¿¡ä½ å·²ç»ç¥é使ç¨ä»ä¹æ ·çç¼è¾å¨äºï¼å 为è¿éè¦ç
§é¡¾å°ä¸äºè¿æ²¡æç¼ç¨åºç¡çæåä»¬ï¼æä»¥ç°å¨å°±å
ç¨ IDLE è¿ä¸ªç¼è¾å¨ï¼å°æ¶åä½ è¶æ¥è¶çé¼äºï¼å±ä»¬åæ¢ç¼è¾å¨ï¼æ²¡æ¯ç
ã
> 
>好äºï¼å«åºè¯äºï¼å¿«ç¹å¸¦æåç¨åºåï¼
## è¿ä¸ªPythonç¨åºå¯ä»¥å¹²å
é¦å
æä»¬æ¥æ³ä¸ä¸æä»¬è¿ä¸ª Python ç¨åºå¯ä»¥å¹²åï¼
1. å¯ä»¥è®©æä»¬è¾å
¥ååï¼
2. å¯ä»¥è·æä»¬è¾å
¥çè¿ä¸ªååsay Helloï¼
okï¼æä»¬è¦è¾¾å°ä»¥ä¸çåè½ï¼å±ä»¬è¯´å¹²å°±å¹²ï¼
## å¼å§ç¼å第ä¸ä¸ª python å°ç¨åº
æå¼æä»¬çç¼è¾å¨ï¼
> 
ç°å¨ç宿¯å¤äºäº¤äºå¼è§£éå¨çç¶æï¼å¦ææä»¬ç°å¨å¨è¿ä¸ªäº¤äºè§£éå¨ç¼å代ç ï¼é£çä¸å
³æææç代ç å°±ä¸è§äºï¼æä»¬å½ç¶æ¯æ³è¦è½å¤ååºä¸ä¸ªèªå·±åå«äººé½è½å¤è¿è¡çç¨åºï¼æä¹è½è¯´ä»£ç 丢æå°±ä¸¢æå¢ï¼
> 
>æçå°ä¹ä¹é½è¢«ä½ åç°äºï¼æ¯ä¸æ¯æçpp䏿¬ï¼ä½ å°±ç¥éææ¯è¦æå°¿è¿æ¯æshitã
é£ä¹æä»¬å°±ä½¿ç¨å¿«æ·é®ãCtrl + Nãæ¥æ°å»ºä¸ä¸ªç¼è¾çªå£ï¼å¯ä»¥çå°è¿é没æãä¸éæ ãæç¤ºç¬¦äºå§ï¼æä»¬å¨è¿éåç代ç å¾
ä¼å¯ä»¥ä¿åï¼ç±å¨åªéè¿è¡å°±åªéè¿è¡ã
> 
æä»¬åå说äºï¼æ³è¦è¿ä¸ªç¨åºå¯ä»¥è®©æä»¬è¾å
¥ååï¼é£ä¹æä»¬å¯ä»¥ç¨ä¸ä¸ªå«å name çåéæ¥æ¥æ¶å«äººè¾å
¥ååï¼å¯è½ä½ ç°å¨ä¸ç¥éå鿝ä»ä¹é¬¼ï¼ä½æ¯æ²¡å
³ç³»ï¼ä½ ç°å¨æå®ç解为æ¯ä¸ä¸ªãæ ç¾ãï¼è¿ä¸ªãæ ç¾ãå¯ä»¥æ¥å¯¹åºç¨æ·è¾å
¥çåå就好äºï¼å¾åæä¼åè¯ä½ åéç使ç¨ï¼å«æ¥ï¼å±ä»¬æ
¢æ
¢æ¥ã
okï¼é£ä¹æä»¬å°±å¯ä»¥åæä»¬ç第ä¸è¡ä»£ç äºï¼
``` python
name = input ("ä½ ä»å¦å«ä»ä¹ç©æå¿ï¼")
```
è§£éä¸ä¸è¿è¡ä»£ç çææï¼input æ¯è¾å
¥çææï¼èãä½ ä»å¦å«ä»ä¹ç©æå¿ï¼ãå°±æ¯æ¾ç¤ºç»ç¨æ·ççæç¤ºè¯ã
æä»¬å·²ç»å®æäºç¬¬ä¸ç¹ï¼ä¹å°±æ¯è¿ä¸ªç¨åºå¯ä»¥è®©æä»¬è¾å
¥ååï¼é£ä¹æä»¬ç»§ç»å®æç¬¬äºç¹ï¼å¯ä»¥è·æä»¬è¾å
¥çè¿ä¸ªåå say Helloï¼
é£ä¹å¾ç®åï¼æä»¬åªè¦ååä¸è¡ä»£ç å³å¯ï¼
``` python
print("Hello" + name)
```
è§£éä¸ä¸è¿è¡ä»£ç çææï¼ print å°±æ¯æå°çææï¼ä½ å¯ä»¥ç解为信æ¯çè¾åºï¼æä»¬å·²ç»ç¥é name è¿ä¸ª "æ ç¾" å·²ç»è´´å°äºç¨æ·è¾å
¥çååï¼æä»¥ "Hello" + name å°±æ¯ä¼è¾åº Hello xxxï¼
> 
okï¼æä»¬å·²ç»åå®ä»£ç äºï¼æä»¬ãCtrl + Sãä¿åä¸ä¸æä»¶å°æ¡é¢ï¼ä½ å¯ä»¥æå®å½å为ãHello.pyãã
æ¥çæä»¬å°±å¯ä»¥æ¥è¿è¡æä»¬çç¨åºäºï¼å¨æä»¬ç IDLE ä¸ç¨åçæä¸ä¸ F5 å¼å§è¿è¡ç¨åºï¼
> 
> 
>å¯ä»¥å¯ä»¥~
çå°æ¨æï¼æä»¬çç¨åºå®æäºãæ¯ä¸æ¯æºå¥½ç©çï¼æ
¢æ
¢æ¥ï¼æä»¬å°æ¶å°±å¯ä»¥å游æï¼åç½ç«ï¼åç¬è«äºï¼æ¯ä¸æ¯æ³æ³è¿æç¹å°æ¿å¨å¢ï¼
# ä»ä¹æ¯å¸¸éï¼ä»ä¹æ¯åéï¼
è¿ä¸¤ä¸ªæ¦å¿µå¾ç®åçè§£ï¼ä»¥åæä»¬å¨ä½¿ç¨ Python ç¼ç¨çæ¶åä¹ä¼ç»å¸¸ç¨å°ã
## 常é
æä»¬ç¥éï¼ä¸çæ¯è¸¢çæ¯é伿´¾åº 11 åéååºåºæ¯èµï¼è¿éç 11 æ¯åºå®ä¸åçãæä»¬é«ä¸çæ¶åå¦çç©çæä¸ªå«åéåå éåº¦çæ¦å¿µï¼å®æ¯ 9.8 m/s²ï¼è¿éç 9.8 乿¯ä¸æ ·æ¯åºå®ä¸åçï¼**对äºè¿äºåºå®ä¸åçï¼å
·å¤åé¢ä¸çæä¹çéæä»¬å°±ç§°ä¸ºã常éã**ï¼å®å°±åä¸åº§é«é«ç大山ï¼ä¸ä¼è¢«è½»èæä¸¾çæ¹åï¼æå
¬ç§»å±±ï¼ä¸åå¨çã
> 
> 
>æå
¬ä¸çè°é¾ï¼åæä¸æï¼æå±±ä¸æ¢ï¼æç»æå¨å¤©å¸èå°å±±æªèµ°çæ
äºãéè¿æå
¬çåæä¸æä¸æºåçèå°æ¯æ¦ï¼ä»¥åâæâä¸âæºâç对æ¯åè¯äººä»¬ï¼æ 论éå°ä»ä¹å°é¾ï¼åªè¦ææå¿ãææ¯
åå°åä¸å»ï¼å°±æå¯è½æåã
> 
>è¿ç¹ä¹è·å¸¸éææ¯å
³ç³»ï¼
## åé
åéå¯ä»¥æå®ç解为ä¸ä¸ªãæ ç¾ãï¼ä½ å¯ä»¥éè¿å®æ¥ãè´´å°ãä¸äºååçå¼ä¸ã
å
¶å®è¯´ç½äºåéå°±æ¯æåä½ çè®¡ç®æºä¸åå¨ä¿¡æ¯çä¸é¨åå
åå°åï¼å¯¹åºçå
åå¯ä»¥åå¨ä¸äºå¼ï¼å¯¹è±¡ï¼ã
æ¯å¦è¯´ä½ æ³è¦ç¨ã i ã æ¥è¡¨ç¤ºä¸ä¸ªåéï¼å¯¹ python æ¥è¯´æ¯ä¸ä»¶å¾ç®åçäºï¼ä½ åªè¦ç¨ ãi = ååçå¼ãå°±å¯ä»¥äºã
举个ä¾åï¼
> 
è¿éä½¿ç¨ i æ¥è¡¨ç¤ºä¸ä¸ªå¼ 5ï¼ä¹å°±æ¯è¯´æä»¬å° 5 èµå¼ç»åé i ãé£ä¹ç°å¨è¿ä¸ª i æåçå¼å°±æ¯ 5 ã
æä»¥è¿éç i+6 å°±æ¯ 5+6ã
å妿们ç°å¨æ³è®© i æ¥è¡¨ç¤ºçå¼åæ 2ï¼è¿å®å
¨æ²¡é®é¢ï¼åªè¦è¿æ ·å³å¯ï¼
> 
> 
>ç·äººè½å±è½ä¼¸ï¼å¯é¿å¯çï¼ç®ä¸ç®åéï¼
注æäºï¼Pythonä¸çåéåç§°åªè½**ç±åæ¯ãæ°åãä¸å线ææï¼èä¸ä¸å¯ä»¥æ°åæå¤´**ï¼åãxiaoshuaib_520ãè¿æ ·çæ¯åæ³çï¼ä½æ¯å¦ææ¯ã520_xiaoshuaibã飿¯ä¸å¯ä»¥çã
ä¸ä¿¡ä½ ç§ï¼
> 
# Pythonåºæ¬æ°æ®ç±»åä¹ãæ°ã
ç¸ä¿¡ä½ å·²ç»ç¥éäºåéæ¯ä¸ªä»ä¹ç©æäºï¼åéå¯ä»¥æ¥è¡¨ç¤ºååçå¼ï¼èè¿äºååçå¼å¢ï¼æ¯å¯ä»¥å¯¹å
¶åé¨å«ç±»çï¼ä¹å°±æ¯è¯´æ¯ä¸ªååçå¼å®æ¯æä¸å±çç±»åçï¼ä½ å¯ä»¥ç解为è¿ä¸ªå¼å°±æ¯ä¸ä¸ªå¯¹è±¡ã
å¨è¿éè¡¥å
ä¸ç¹ï¼Python ä¸çå鿝ä¸éè¦å£°æãæ¯ä¸ªåéå¨ä½¿ç¨åé½å¿
é¡»èµå¼ï¼åéèµå¼ä»¥åè¿ä¸ªåéæä¼è¢«å建ã
æ¯å¦è¯´ i = 5 ï¼å¨è¿éå¹¶ä¸éè¦å»å®ä¹è¿ä¸ª i çç±»åï¼ä¾å¦ãæ´æ°ç±»å i = 5ãï¼æä»¬åªè¦ç´æ¥æ 5 èµå¼ç» i å°±å¯ä»¥äºï¼èµå¼åè¿ä¸ªåé i 就被å建äºãè¿æ¶åæä»¬å°±å¯ä»¥è¯´åé i ç°å¨ææçæ¯ä¸ä¸ªä¸ºãæ´æ°ç±»åçå¼5ãã
> 
>Pythoné¤äºåºæ¬æ°æ®ç±»åãæ°ãä¹å¤ï¼è¿å«çåºæ¬ç±»åä¾å¦åç¬¦ä¸²ï¼æä»¬ä¹å¯ä»¥èªå·±å®ä¹æ°æ®ç±»åï¼è¿ä¸ªå¾å讲ã
æ¥ä¸æ¥å°±æ¥è¯´è¯´ Python ä¸åºç¡æ°æ®ç±»åä¸çãæ°ãã
## æ°
å¨ Python ä¸çæ°æåç§ï¼å嫿¯æ´æ°ï¼intï¼ãé¿æ´æ°ï¼longï¼ãæµ®ç¹æ°ï¼floatï¼ã夿°ï¼complexï¼ã
### æ´æ°
å 6 è¿æ ·çæ°åå°±æ¯æ´æ°ï¼ä¸å¸¦å°æ°ç¹çï¼èé¿æ´æ°åªä¸è¿ä»£è¡¨çæ¯æ¯è¾å¤§ä¸ç¹çæ´æ°ï¼ç°å¨ python3 ä¸çæ´æ°ï¼intï¼å·²ç»ä¸éå¶æ°ç大å°éå¶äºï¼æä»¥æ´æ°ç±»åä¹å
æ¬é¿æ´æ°ã
æä»¬å¯ä»¥éè¿ Python 交äºå¼è§£é卿¥è¿ç®æ´æ°ï¼
> 
è¿éç ã6+6ãæ²¡ä»ä¹å¥½è¯´çå§ï¼è ã6//2ãå°±æ¯6æ´é¤2çææäºï¼ã1%2ãçæææ¯è¯´1é¤ä»¥2ç使°ï¼ã%ãæä¸ªä¸ä¸åè¯å«åå使è
忍¡ãèã2**3ãå°±æ¯2ç䏿¬¡æ¹çææã
æä¹æ ·ï¼ç®åå§ï¼
### æµ®ç¹æ°
使¯å¦æä½ è¯è¯ ã1/2ãï¼è¿æ¶åä½ ä¼åç°ç»ææå°æ°ç¹ï¼
> 
å¨è¿éç ã/ãæ¯é¤çææï¼ä½æ¯ä¸ä¼æ´é¤ï¼ä½ å¯ä»¥çå°æ¯æ¬¡çç»æé½ä¼æå°æ°ç¹ãèè¿äºå ã0.5ãï¼ã1.0ã带æå°æ°ç¹çæ°æä»¬å°±å«åæµ®ç¹æ°ã
### 夿°
Pythonä¸ç夿°ç±å®æ°é¨ååèæ°é¨åç»æãèé¨çåç¼ä¸ºãjãã
ä¾å¦ï¼4+5j å°±æ¯ä¸ä¸ªå¤æ°ï¼å®æ°é¨å为 4.0ï¼èæ°é¨å为 5.0ã
ä½ å¯ä»¥æå¤æ°çè§£æä¸ºä¸ä¸ªå¹³é¢çä¸ä¸ªç¹ï¼ä¾å¦ä¸é¢è¿ä¸ªä¾åä½ å¯ä»¥æå®ç解为平é¢ä¸çç¹ï¼4,5ï¼ã
Pythonè¿å¤æ°é½æ¯æï¼ä½ 说å®è½ä¸å¼ºå¤§ä¹ï¼
# äºè¿å¶å
«è¿å¶åå
è¿å¶çå¿«é转å
## äºè¿å¶
æä»¬é½ç¥éï¼å¨è®¡ç®æºä¸ï¼åå¨çæ°æ®é½æ¯åè¿æ ·ã010101010110010101...ãçä¸ä¸ï¼è¿ä¸ä¸²æ°åå°±æ¯äºè¿å¶ã
æ³æ³ä½ å®¶éçç¯ï¼æ¯ä¸æ¯åªæä¸¤ç§ç¶æï¼ä¸ç§æ¯å¼ç¯ï¼ä¸ç§æ¯å
³ç¯ã
> 
èæä»¬çè®¡ç®æºå¨è¡¨ç¤ºæ°æ®çæ¶å乿¯æç
§è¿æ ·çç¶ææ¥è¡¨ç¤ºçãä¹å°±æ¯ä¸å¼ä¸å
³ä¸¤ä¸ªç¶æã
æä»¬æ 0 å½åå
³ï¼æ 1 å½åå¼ï¼
> 
>0æç¹åæéï¼1æç¹åæé¥åï¼emmmm..
使¯ç°å¨æ³æ³åï¼æä»¬é£ä¹å¤æ°æ®ï¼æ¯å¦è¯´ä¸ä¸ª mp3 é³ä¹ï¼ä¸é¨èèå¸çæç¨è§é¢ï¼å¦æåªè®©è®¡ç®æºä»
ä»
以 0 å 1 è¿ä¸¤ç§ç¶ææ¥è¡¨è¾¾è¿äºæ°æ®ï¼é£æ¯å¿æä½èåä¸è¶³çã
é£ä¹æä¹åå¢ï¼è¿æ¶åå½é
æ ååç»ç»å°±å³å®äºï¼ä¸å¤ç¨æ¯å§ï¼é£ä¹ç¨ 8 ä¸ªè¿æ ·çç¶ææ¥è¡¨è¾¾ä¸ä¸ªæ°æ®ï¼
ä¹å°±æ¯ï¼
ä¸ä¸ªæ°æ® = 01010101 ï¼8ä¸ªç¶æï¼
é£ä¹è¿æ ·çç± 8 ä¸ªç¶æç»æçæ°æ®å°±å«å**åè**ï¼
ä¸ä¿¡çè¯ä½ å¯ä»¥é便ç¹å¼çæ¡é¢çæä»¶ï¼å³é®æå¼å±æ§ççï¼æ¯ä¸æ¯é½ä¼ç»ä½ æ¾ç¤ºè¿ä¸ªæä»¶ç大å°é½ä¼ç¨åèæ¥è¡¨ç¤ºï¼
> 
> 
>ä½ è¿å°é»å¾è½å¦å¾çå享ä¸ä¸ï¼
æä»¥ç¥é以ä¸çä¸ä¸ä»£è¡¨çæ¯ä»ä¹äºå§ï¼
1byteï¼åèï¼= 8bitï¼ä½ï¼ç¶æï¼
1kb = 1024byte
1mb = 1024kb
1g = 1024mb
1tb = 1024g
## äºè¿å¶æä¹è½¬åæå
«è¿å¶ï¼
æä»¬å·²ç»ç¥éäºä¸ä¸ªåèéè¦ 8 个äºè¿å¶ä½æ¥è¡¨ç¤ºï¼æç¹é¿äºï¼é£ä¹ç¨å
«è¿å¶æ¥è¡¨ç¤ºçè¯å°±ä¼çä¸ç¹ï¼æ¯å¦è¯´ææä¹ä¸ä¸ªåèï¼
0101101
妿æä»¬æ³æå®åæãå
«è¿å¶ãçè¯ï¼é£å°±ä»å³å°å·¦ï¼æ¯ä¸ä½å½åä¸ä¸ªï¼æå·¦è¾¹çä¸å¤å°±è¡¥0ãä¹å°±æ¯è¯´ä¸é¢è¿ä¸ªå¯ä»¥è¿æ ·ï¼
000101101
ææ¯ä¸ä½çæ´ä½è½¬åæåè¿å¶çæ°ï¼å°±åæå
«è¿å¶äºãè³äºæä¹è½¬æ¢ï¼ä¸é¢ä¼è¯´å°ã
è¿æ¶åç¨å
«è¿å¶å°±åªç¨3个æ°å°±å¯ä»¥è¡¨ç¤ºäºã
## äºè¿å¶æä¹è½¬åæåå
è¿å¶ï¼
åçï¼åå
è¿å¶å¯ä»¥ç¨æ´å°ç使°æ¥è¡¨ç¤ºï¼å¦ææä»¬æ³æ0101101åæ åå
è¿å¶ çè¯ï¼é£å°±ä»å³å°å·¦ï¼æ¯åä½å½åä¸ä¸ªï¼æå·¦è¾¹çä¸å¤å°±è¡¥0ãä¹å°±æ¯è¯´ä¸é¢è¿ä¸ªå¯ä»¥è¿æ ·ï¼
00101101
ææ¯åä½çæ´ä½è½¬åæåè¿å¶çæ°ï¼å°±åæåå
è¿å¶äºã
è³äºè¿ä¹è½¬æ¢ï¼ä¸é¢ä¹ä¼è¯´å°ã
è¿æ¶åç¨åå
è¿å¶å°±åªç¨2个æ°å°±å¯ä»¥è¡¨ç¤ºäºã
## ä¸åçè¿å¶è¡¨è¾¾æ¹å¼
äºè¿å¶æ¯ç± ã0,1ã ç»æï¼é常以 0b å¼å¤´ã
å
«è¿å¶æ¯ç± ã0,1,2,3,4,5,6,7ã ç»æï¼ä»¥ 0 å¼å¤´ã
åè¿å¶æ¯ç± ã0,1,2,3,4,5,6ï¼7,8,9,0ã ç»æã
åå
è¿å¶æ¯ç± ã0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fã ç»æï¼ä»¥0xå¼å¤´çã
## è¿å¶ä¹é´çç¸äºè½¬å
å¨è¿éåè¯å¤§å®¶ä¸ä¸ªè¿å¶ä¹é´å¿«é转åçæ¹æ³ï¼å½ç¶ï¼ä¸æ¯ä½¿ç¨è®¡ç®å¨å - -
é¦å
ä½ åªè¦è®°ä½ä»¥ä¸å¯¹åºå
³ç³»å³å¯ï¼
```
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
```
### äºè¿å¶è½¬å为åè¿å¶
é£ä¹å¦æåè¯ä½ ä¸ä¸ªäºè¿å¶ å¦ 0b11111111ï¼è½¬åæåè¿å¶ï¼æä¹åå¢ï¼æå¯¹åºçæ°å èµ·æ¥å°±å¯ä»¥äºã
0b11111111 = 128+64+32+16+8+4+2+1 = 255
çå° 255 ææ²¡æä¸ç§çæçæè§ï¼
æä»¥è¿æ¶ååç»ä½ åºéé¢ï¼æ 0b010110 转åæåè¿å¶ä½ åºè¯¥ä¼äºå§ï¼
0b010110 = 16 + 4 + 2 = 22
### åè¿å¶è½¬å为äºè¿å¶
åæ ·çï¼
```
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
```
æä»¬è¦æåè¿å¶å¦22ï¼è½¬ä¸ºäºè¿å¶å°±æ¯ï¼
22ä¹å
16ææ²¡æï¼ é£ä¹å¨16对åºçå°æ¹å°±æ1ã
> 
22-16=6ï¼é£ä¹8对åºçå°±ä¸åå¨äºã
> 
6ä¹å
æ4对å§ï¼é£ä¹4对åºçå°±æ1ï¼6-4=2ï¼é£ä¹2乿ï¼2-2=0ï¼æä»¥1就没äºã
> 
æä»¥æåççæ¡å°±æ¯ 22 = 0b10110ã
### äºè¿å¶è½¬å为å
«è¿å¶
æä»¬å·²ç»ç¥éäºå¨äºè¿å¶ä¸æ¯ä¸ä½çåè¿å¶ä»£è¡¨ä¸ä¸ªå
«è¿å¶ä½ï¼
000101101
é£ä¹è¿æ¶ååªè¦æè¿ä¸ªäºè¿å¶ææä¸ä»½ï¼æ¯ä¸ä»½è½¬åæåè¿å¶ï¼åç»åèµ·æ¥å°±æ¯å
«è¿å¶äºã
000 = 0ï¼
101 = 4+1 = 5ï¼
101 = 4+1 = 5ï¼
æä»¥äºè¿å¶ 0b000101101 = å
«è¿å¶0055ã
### äºè¿å¶è½¬å为åå
è¿å¶
æä»¬å·²ç»ç¥éäºå¨äºè¿å¶ä¸æ¯åä½çåè¿å¶ä»£è¡¨ä¸ä¸ªåå
è¿å¶ä½ï¼
00101101
é£ä¹è¿æ¶ååªè¦æè¿ä¸ªäºè¿å¶ææä¸¤ä»½ï¼æ¯ä¸ä»½è½¬åæåè¿å¶ï¼åç»åèµ·æ¥å°±æ¯åå
è¿å¶äºã
0010 = 2ï¼
1101 = 8+4+1 = Dï¼
æä»¥äºè¿å¶ 0b00101101 = åå
è¿å¶0x2Dã
okï¼ä»¥ä¸ï¼å
¶å®è¯´å®è¯ï¼å¦æä¸æè¿ä¸ªä¹ä¸å½±ååé¢ä½¿ç¨ Python æ¥ç¼ç¨ï¼ä½æ¯æçå¤ä¸äºæ»å½æ²¡æä»ä¹åå¤ã
# åç§ç¬¦å·çæä¹åç¨æ³
æä»¬å°æ¶åï¼èå¸é½æè¿æä»¬ 1+1=2 ï¼è¿ä¸ª ã1+1ã å°±æ¯è¡¨è¾¾å¼ï¼ ã+ã å°±æ¯è¿ç®ç¬¦ã
å±ä»¬æ¥ä¸æ¥å°±æ¥äºè§£ä¸ä¸ï¼å¨ python ä¸ï¼é£äºè¿ç®ç¬¦æ¯ä»ä¹ææï¼æä¹ç¨ï¼ ç¸ä¿¡çå®ï¼ä½ å°±è½å¤æç½äºã
## å åä¹é¤(+-/*)
å¯¹äº +-*/ æä»¬é½ç¥éå®ä»¬æ¯ä»ä¹å«ä¹äºå§ï¼å°±ç®ä½ çæ°å¦æ¯ä½è²è叿çï¼ä½ ä¹ä¼æå åä¹é¤å§ã
ä¸è¿æä¸¤ä¸ªå°ç»èå¼å¾ä½ 廿³¨æï¼å°±æ¯å符串ä¹é´çç¸å åç¸ä¹ï¼
> 
çææ¯å¥ææäºä¹ï¼
å符串ä¹é´çç¸å ä¼è¢«"æ¼æ¥"èµ·æ¥ï¼èåç¬¦ä¸²åæ°åç¸ä¹å°±ä¼éå¤å¤æ¬¡ç¸åçå符串ã
å
¶å®ç大äºãå°äºã大äºçäºãå°äºçäºå°±ä¸è¯´äºï¼å 为æä»¬å°å¦èå¸é½è·æä»¬è¯´è¿äºãæ¥ä¸æ¥è¯´å 个æ¯è¾å°è§ç符å·ã
## å¹(**)
å¹å°±æ¯ä»¥åæä»¬å¦æ°å¦çæ¶åèå¸è®²çä»ä¹ä»ä¹å 次æ¹ï¼å«ä¸çå°å¹å°±æ³å°æ¨å¹ã
> 
ç¨ç¬¦å· `**` è¡¨ç¤ºï¼ æ¯å¦ `2**3 = 8`ã
## æ´é¤ï¼//ï¼
æä»¬ç¥é / æ¯é¤çææï¼ä½ ç¥é 6/3 çäºå¤å°ä¹ï¼ä½ å¯è½ä¼è§å¾å¨ä¾®è¾±ä½ çæºå对ä¸å¯¹ï¼ä¸æ¯ 2 ä¹ï¼ å¨ python ä¸å¾åºçç»ææ¯ 2.0 ï¼ ä¹å°±æ¯å®è¿åçæ¯æµ®ç¹æ°ã é£ä¹æä»¬åªæ³å¾å°æ´æ°é¨åæä¹ç©å¢ï¼
ç¨ // è¿ä¸ª ï¼ 6//3 = 2ã
## 忍¡ï¼%ï¼
忍¡çææä¸æ¯è®©ä½ å»è·å个模ç¹ï¼æ¯å¾å°é¤æ³ç使°ï¼æ¯å¦ 8%5 = 3 ï¼å 为 8/5 = 1ä½3ã
## 左移ï¼<<ï¼åå³ç§»(>>)
ç§»çææå°±æ¯æä¸ä¸ªæ°çäºè¿å¶ç§»å¨å¤å°ä¸ªä½ã
æ¯å¦ 2 << 2 = 8 ãè¿æ¯ä¸ºä»ä¹å¢ï¼
é¦å
2 ç äºè¿å¶ æ¯ 0b00000010 ï¼ç¶åå°å®å·¦ç§»2ä½ï¼èä½è¡¥0ï¼å°±åæè¿æ ·ï¼ 0b00001000 ï¼å®å¯¹åºçåè¿å¶å°±æ¯ 8 ã
åæ ·çéçï¼
8 >> 2 çææå°±æ¯å° 8 çäºè¿å¶åå³ç§»å¨2ä½ï¼
0b00001000 å³ç§»å¨2ä½ï¼0b00000010 ä¹å°±æ¯å¯¹åºåè¿å¶ç 2ã
é£ä¹ä¸æ¬¡æäººé®ä½ 2*8æä¹æ ·åä»£ç æ¯è¾é«æï¼ä½ å°±ç´æ¥ç©ç»å®ï¼ 2<<3 就好äºã
## ä¸ï¼&ï¼
è®°ä½ä¸å¥è¯ï¼"åçä¸ç"ï¼ä»ä¹ææå¢ï¼ æ¯å¦ 1&1=1,1&0=0,
1å°±æ¯çï¼0å°±æ¯åãä¹å°±æ¯åªæ 1&1=1ï¼å
¶å®çé½çäº0ã
é£ä¹ 2 & 3 æä¹ç®ï¼
å
å°å®ä»¬è½¬å为äºè¿å¶ï¼
2对åºçäºè¿å¶ ï¼ 0b00000010
3对åºçäºè¿å¶ ï¼ 0b00000011
é£ä¹ä»å³å¾å·¦ï¼ 0&1=0 ï¼1&1=1ï¼0&0=0ï¼æä»¥ç»æä¸º
0b00000010ï¼è½¬å为åè¿å¶å°±æ¯2ï¼æä»¥ 2&3=2ã
## æï¼|ï¼
è®°ä½ä¸å¥è¯ï¼"ååæå"ï¼ä»ä¹ææå¢ï¼ æ¯å¦ 1|1=1,0|0=0,
1å°±æ¯çï¼0å°±æ¯åãä¹å°±æ¯åªæ 0|0=0ï¼å
¶å®çé½çäº1ã
é£ä¹ 2 | 3 æä¹ç®ï¼
å
å°å®ä»¬è½¬å为äºè¿å¶ï¼
2对åºçäºè¿å¶ ï¼ 0b00000010
3对åºçäºè¿å¶ ï¼ 0b00000011
é£ä¹ä»å³å¾å·¦ï¼ 0|1=1 ï¼1&1=1ï¼0&0=0ï¼æä»¥ç»æä¸º
0b00000011ï¼è½¬å为åè¿å¶å°±æ¯3ï¼æä»¥ 2|3=3ã
## 弿ï¼^ï¼
ç¸åè
åï¼ä¸åè
çï¼ä»ä¹ææå¢ï¼å°±æ¯ 1^1=0, 1^0=1ã
é£ä¹ 2^3 æä¹ç®ï¼
å
å°å®ä»¬è½¬å为äºè¿å¶ï¼
2对åºçäºè¿å¶ ï¼ 0b00000010
3对åºçäºè¿å¶ ï¼ 0b00000011
é£ä¹ä»å³å¾å·¦ï¼ 0^1=1 ï¼1^1=0ï¼0&0=0ï¼æä»¥ç»æä¸º
0b00000001ï¼è½¬å为åè¿å¶å°±æ¯1ï¼æä»¥ 2^3=1ã
## 翻转ï¼~ï¼
xçæä½ç¿»è½¬å°±æ¯æ¯-(x+1)ã
é£ä¹ ~2 æä¹ç®ï¼
~2 = -ï¼2+1ï¼ ï¼ æä»¥çæ¡å°±æ¯-3ã
okï¼ä»¥ä¸ï¼å
¶å®æ²¡å¿
è¦å»è®°ä½ï¼äºè§£ä¸ä¸å°±è¿äºç¬¦å·æ¯ä»ä¹ææï¼æä¹ç®ç就好äºã
# Pythonåºæ¬æ°æ®ç±»åä¹ãå符串ã
## åå¼å·ï¼'ï¼å符串
æä¸æ®µææ¬ç¨åå¼å·ã'ãå
å´èµ·æ¥ï¼å®å°±åæäºå符串ï¼åæ°ä¸æ ·æ¯ä¸ä¸ªå¼ãæ¯å¦ï¼
text = 'ä¸ç䏿å¸
ç人æ¯wistbean'
> psï¼[wistbean](https://mp.weixin.qq.com/s?__biz=Mzg2NzYyNjg2Nw==&mid=2247490335&idx=1&sn=29662850d41f9c0d24e283cb22a318a6&chksm=ceb9e103f9ce68155bdbe3dbf83ef6ac81b6ac24b2cf8d552b115e30e7bf515818229fdb7b28&token=1031215785&lang=zh_CN#rd)æ¯æçè±æåå¦ï½
è¿éçåéåå°±æ¯textï¼è对åºçå¼å°±æ¯å符串ãä¸ç䏿å¸
ç人æ¯wistbeanãã
## åå¼å·(")å符串
æä¸æ®µææ¬ç¨åå¼å·ã"ãå
å´èµ·æ¥ï¼å®å°±åæäºå符串ï¼åæ°ä¸æ ·æ¯ä¸ä¸ªå¼ãæ¯å¦ï¼
text = "ä¸ç䏿å¸
ç人æ¯wistbean"
è¿éçåéåå°±æ¯textï¼è对åºçå¼å°±æ¯å符串ãä¸ç䏿å¸
ç人æ¯wistbeanãã
> 
>ææ§½ï¼è¿ä¸æ¯ååå¼å·ä¸æ ·ä¹ï¼å«ç¹ä¹éæåï¼
ååï¼æ¯çï¼å
¶å®åå¼å·çå符串ååå¼å·çå符串æ¯ä¸æ ·çï¼ä¸è¿ä¸ºä»ä¹Pythonè¦æ¯æåå¼å·åæ¯æåå¼å·å¢ï¼
飿¯å ä¸ºï¼ææ¶åæä»¬çææ¬éé¢ï¼ä¸ä¸å®å°±åªç¨åå¼å·æè
åå¼å·åï¼æ¯å¦è¯´ï¼
"å
é480ï¼å
å¤1200"ï¼å¥¹è¯´ã
è¿å¥è¯å¯¹äº Python è§£é卿¥è¯´ï¼ä»åªè®¤è¯å¼å·éé¢çå
容ï¼ä¹å°±æ¯è¯´ python åªç¥éå符串ãå
é480ï¼å
å¤1200ãï¼èåé¢çãï¼å¥¹è¯´ããå¯¹äº Python æ¥è¯´ä¸è®¤è¯ã
é£ä¹å¦ææ¯è¿æ ·çè¯ï¼
'"å
é480ï¼å
å¤1200"ï¼å¥¹è¯´ã'
Python å°±è½æï¼
> 
æä»¥ä½ åºè¯¥ç解为ä»ä¹ Python åæ¶æ¯æåå¼å·ååå¼å·äºå§ã
> 
>å
å¤å¤ªè´µäºï¼è½ä¸è½ä¾¿å®ç¹åï¼
## ä¸å¼å·å符串ï¼'''æè
"""ï¼
è¿ä¸å¼å·æ¯æ¥å¹²åçå¢ï¼å¦æä½ è¦è¡¨ç¤ºä¸ä¸ªå¾é¿å¾é¿çå符串ï¼é£ä¹è¿ä¸ªä¸å¼å·å°±å¯ä»¥æ´¾ä¸ç¨åºäºï¼å ä¸ºå®æ¯æè·¨å¤è¡ï¼èä¸å¨è¿ä¸ªä¸å¼å·çå符串éé¢ä½ è¦ç¨åå¼å·ååå¼å·é½æ æè°ã
åè¿æ ·ï¼
""" MMï¼"å¢ï¼è¯·ä½ ä¸è¦å»æ"MMï¼"å¢ï¼è¯·ä½ ä¸è¦å»"MMï¼"å¢ï¼è¯·ä½ ä¸è¦"MMï¼"å¢ï¼è¯·ä½ ä¸"MMï¼"å¢ï¼è¯·ä½ "MMï¼"å¢ï¼è¯·"MMï¼"å¢" """
Python æ¯å®å
¨ç徿çã
> 
> 
>æå¥½ååç°äºä»ä¹ä¸å¾äºçäºæ
ï¼ï¼ï¼
## 转ä¹
å¯è½ä½ ä¼å¯¹è¿æ ·çå符串ã'"å
é480ï¼å
å¤1200"ï¼å¥¹è¯´ã'ãæå°å«æï¼èåå°±æ³é½ç¨ä¸ç§å¼å·ï¼ä¸æ³è¦ä¸ä¸åå¼å·ä¸ä¸åå¼å·çè¡ä¸è¡ï¼
> 
è¡è¡è¡ï¼èå说ä»ä¹å°±æ¯ä»ä¹ï¼
é£ä¹è¿æ¶åå°±å¯ä»¥ç¨ã转ä¹ãæ¥è§£å³ï¼è½¬ä¹çç¬¦å·æ¯åææ ã\ãã
æ¯å¦è¿å¥è¯ã'"å
é480ï¼å
å¤1200"ï¼å¥¹è¯´ã'ãæä»¬éè¿è½¬ä¹å¯ä»¥åæè¿æ ·ï¼
' \'å
é480ï¼å
å¤1200\'ï¼å¥¹è¯´ã'
é£ä¹è¿ä¸ªæ¶å Python å°±è½å¤çæäºï¼ ç°å¨è¿ç©æã\'ãå¨ Python ç¼ä¸å°±æ¯ã'ãã
> 
æä»¥ä½ å¯ä»¥æè½¬ä¹ã\ãç解为æ¯ä¸ºäºè®© Python çç尿们æ³è¦è¡¨è¾¾çä¸è¥¿ã
u' \'å
é480ï¼å
å¤1200\'ï¼å¥¹è¯´ã'
## åç¬¦ä¸²çæ¼æ¥
ææ¶åæä»¬éè¦ä¸¤æ®µè¯æ¼æ¥å¨ä¸èµ·ï¼å¯¹äº Python æ¥è¯´so easyï¼åªè¦å两个æ°å䏿 ·ç¸å å³å¯ã
åè¿æ ·ï¼
x = "Hello, "
y = "World!"
x+y
è¿æ¶åå¢ï¼ã+ãè¿ä¸ªç¬¦å·å°±æä¸¤ä¸ªåç¬¦ä¸²è¿æ¥èµ·æ¥äºï¼å¨è¿éç x+y å°±çäº Helloï¼Worldï¼
> 
## åå§å符串
æä¸äºç¬¦å·æ¯ä»£è¡¨ç¹æ®æä¹çï¼æ¯å¦è¯´ ã\nã就代表æ¢è¡ãæ¯å¦åè¿æ ·ï¼
print("å°å¸
b\næç±æ»ä½ äºã")
é£ä¹è¿æ¶åå¨ Python ç¼ä¸å°±æ¯ï¼
å°å¸
b
æç±æ»ä½ äºã
> 
> 
>è¿å¾å¥½åï¼ Python å¾èªæè¿å¸®å¿æ¢è¡å¦ï¼
坿¯ï¼ææ¶å Python èªä½èªæäºï¼æ¯å¦è¯´æä»¬æè¿ä¹ä¸ä¸ªå¨ c çä¸çä¸ä¸ªå«åniubiçæä»¶å¤¹ãC:\niubiãï¼é£ä¹æä»¬è¿æ ·æå°çè¯ï¼
print("C:\niubi")
ç»æä½ ä¹ç¥éäºï¼è·¯å¾è¢«ææäºã
> 
è¿å°±å°´å°¬äºï¼ä¸è¿è¿å¥½ï¼æä¸ªå«ååå§å符串çä¸è¥¿ï¼æä»¬åªè¦å¨åé¢å 个ãrãå°±ç¸å®æ äºäºï¼è¿æ¶å Python å°±ç¥éï¼å¦ï¼åæ¥ä½ è¦çæ¯åå§å符串åï¼é£èåä¸å¸®ä½ æ¢è¡äºï¼çç被说èªä½èªæã
æä»¬åªéè¦è¿æ ·ï¼
print(r"C:\niubi")
> 
okï¼Pythonåºæ¬æ°æ®ç±»åä¹ãå符串ãå°±å°è¿éï¼å½ç¶å符串ç使ç¨ä»¥åä¼ç»å¸¸ç¨å°çï¼å¯¹å符串çæä½ï¼å符串çåºåï¼Unicodeçæ¯æ¥ä¸æ¥éè¦äºè§£ä½¿ç¨çã
# Python çæ§å¶æµæ¡ä»¶è¯å¥
## if...else
è¿è®°çä½ ä»¥åå°å¦çæ¶åèå¸é®ä½ ç¨ã妿...é£ä¹...å¦å...ãæ¥é å¥ä¹ï¼æ¯å½æ³èµ·è¿ä¸ªçæ¶åï¼æå°±ä¼æ³å°è´¹çæ¸
èå¸çç»å
¸åå¥ï¼
ãä½ è¿½æï¼å¦æä½ è¿½å°æï¼æå°±è·ä½ å¿å¿å¿ãã
é£ä¹å¨Pythonå¦ä½è¡¨ç¤ºçå¢ï¼ å
¶å®å¾ç®åï¼å°±æ¯ if å elseï¼
```python
if ä½ è¿½å°æï¼ ï¼å¦æçæ¡ä»¶è¯å¥ï¼
æå°±è·ä½ å¿å¿å¿ ï¼å¦æä¸ºçï¼å°±æ§è¡è¿éï¼
else ï¼ ï¼å¦åï¼
æå°±ä¸è·ä½ å¿å¿å¿ ï¼å¦æä¸ºåï¼å°±æ§è¡è¿éï¼
```
## if...elif...else
æ¤å¤ï¼å¦æèå¸è¦ä½ ç¨ã妿...å¦å妿..å¦å..ãæ¥é å¥çè¯ï¼æ¯å¦è¯´ï¼å¦æä½ 徿ä¹
ï¼é£ä¹æå«ç»ä½ ï¼å¦åå¦æä½ å¾æé±ï¼é£ä¹æèèä¸ä¸ï¼å¦åæ»èãé£ä¹å¯¹åºäº python æ¥è¯´å°±æ¯ï¼
```python
if ä½ å¾æä¹
ï¼
å«ç»ä½
elif ä½ å¾æé±ï¼
èèä¸ä¸
elseï¼
æ»èã
```
好äºï¼æä»¬å·²ç»ç¥éæä¹ç¨ Python å»ä½¿ç¨æä»¬çæ¡ä»¶è¯å¥äºï¼é£ä¹å¦æä½ æ³å¼åä¸ä¸ªçæ°åçå°ç¨åºå¯¹ä½ æ¥è¯´ä¸å¨è¯ä¸äºã
æä»¬è¿å°±æ¥å¼åä¸ä¸ªãpythonçæ°åå°æ¸¸æãï¼é¦å
æä»¬èªå·±å¨ç¨åºå®ä¹å¥½ä¸ä¸ªæ°åï¼ç¶åè®©ç¨æ·å»çï¼å¦æçä¸äºæä»¬å°±æåä»ï¼çä¸ä¸å°±åè¯ä»ççæ°ååå¤§è¿æ¯åå°ã
æå¼æä»¬çidleï¼æ¸èµ·æä»¬ç代ç ï¼
é¦å
å®ä¹ä¸ä¸ªåéï¼ææä»¬è¦è¢«ççæ°åå
å好ï¼
`number = 520`
æ¥çè®©ç¨æ·è¾å
¥æ°åï¼
`guessNumber = int(input('请è¾å
¥ä½ è¦ççæ°åï¼ '))`
æ¥çæä»¬æ¥å¤æï¼
```python
if guessNumber == number :
print("åå¡ï¼çé¼åï¼è¿å°±è¢«ä½ çä¸äº")
elif guessNumber < number :
print("ä½ ççæ°åå°äºï¼åå¾é«äºç")
else :
print("ä½ ççæ°å大äºï¼åå¾ä½äºç")
```
> 
> 
## and
å¦æä½ æ³è¦ä¸ä¸ªåæé±åå¸
çç·äººï¼æä¹ç¨ python 表示å¢ï¼
å¯ä»¥è¿æ ·ï¼
```
if æé± and å¸
ï¼
å«ç»ä½ ã
```
å¨è¿éå°±ç¨å°äºãandãè¿ä¸ªé»è¾ç¬¦ï¼å°±æ¯å¹¶ä¸çææï¼å¦ææé±åå¸
åæ¶æç«ï¼é£ä¹å°±æ§è¡ if ä¸çè¯å¥ã妿仿²¡é±ï¼é£ä¹ç«å³è¿åï¼ä¸ä¼å管ä»å¸
ä¸å¸
äºï¼ä¸ä¼å»æ§è¡ if ä¸é¢çè¯å¥ã
## or
é£ä¹è¿æ¶åä½ å¯è½ä¼é®ï¼é£ä¹ææ³è¦å«ç»ä¸ä¸ªæé±æè
å¸
å°±è¡äºï¼ä¹å°±æ¯æ»¡è¶³å
¶ä¸æé½å«ï¼æä¹è¡¨ç¤ºå¢ï¼
å¯ä»¥è¿æ ·ï¼
```
if æé± or å¸
ï¼
å«ç»ä½ ã
```
è¿éç¨å°çãorãé»è¾ç¬¦ï¼å®ä»£è¡¨çææå°±æ¯æè
ï¼å¦æä»æ¯ä¸ä¸ªæé±ç人ï¼é£ä¹å°±ç´æ¥æ§è¡ if ä¸é¢çè¯å¥ï¼ä¸éè¦åå»å¤æå¸
ä¸å¸
äºï¼å¦æä»æ²¡é±ï¼å°±ä¼åå»å¤æä»å¸
ä¸å¸
ï¼å¦æå¸
ææ§è¡ if ä¸é¢çè¯å¥ã
> 
>è½ç¶ææ²¡é±ä¹ä¸å¸
ï¼ä½æ¯æéªï¼å¯ä¸å¯ä»¥å«ç»æï¼
# Pythonä¸ç循ç¯è¯å¥
ä¸ç¥éä½ ææ²¡æå¬è¿è¿ä¹ä¸ªä¸è¥¿ï¼é¤å»ç¡ç ï¼æä»¬æ¯ä¸ªäººåªè½æ´»1ä¸å¤å¤©ï¼æäºäººæ´»äº1ä¸å¤æ¬¡ï¼èæäºäººå¢ï¼ååªæ¯æ´»äº1天ï¼èéå¤äº1ä¸å¤æ¬¡ã
æå¸ææç读è
ä¸è¦æä¸ºåè
ï¼å±ä»¬æ¯å¤©æåèªå·±ä¸ç¹ç¹ï¼æ´»åºä¸ªæ ·åæ¥ã
> 
>好éæï¼æä¸è¦éå¤~~
å¨ Python çä¸çéé¢ï¼å¯ä»¥ç¨ while å for æ¥è¡¨ç¤ºéå¤ï¼ä¹å°±æ¯å¾ªç¯ã
## while循ç¯
```
while æ´»çï¼
æ¯å¤©åç䏿 ·çäºæ
ã
```
è¿æ ·åçææå°±æ¯ï¼åªè¦ä½ æ´»çï¼å°±ä¸ç´ä¸æçæ§è¡whileä¸é¢çè¯å¥ã
æä»¬å¯ä»¥æ¥åä¸ä¸ªæç¡¬å¸ç python ç¨åºï¼æä»¬äºå
å®ä¹å¥½ç¡¬å¸çæ£åé¢ï¼ç¶åè®©ç¨æ·çï¼å¦æç¨æ·ç对äºå°±å¥å±ä¸ä¸ªå»ï¼çéäºå°±ç»§ç»çï¼ç´å°è®©ä»çä¸ä¸ºæ¢ã
æå¼æä»¬ç IDLEï¼ä»£ç æ¸èµ·æ¥ï¼
é¦å
å®ä¹ä¸ä¸ªåéï¼æä»¬çå¼å®ä¹ä¸ºæ£é¢ï¼
`coin = "æ£é¢"`
æ¥çå®ä¹ä¸ä¸ª flag ï¼
`flag = True`
ç¶åæä»¬åä¸ä¸ªå¾ªç¯ï¼
```
while flag :
guess = input("请çä¸ä¸æ¯æ£é¢è¿æ¯åé¢ï¼")
if(guess == "åé¢") :
print("ä½ çéäºï¼ç»§ç»ç")
elif(guess == "æ£é¢") :
print("æåä½ ç对äºï¼å¥å±ä½ ä¸ä¸ªå»")
flag = False
```
> 
æ§è¡ï¼
> 
è§£éä¸ä¸ï¼å½ while åç° flag 为 true çæ¶åï¼å°±ä¼ä¸æ¬¡å䏿¬¡çæ§è¡æ§è¡ while ä¸é¢çä¸å¥ï¼ç´å°æä»¬çä¸ä¹åï¼æä»¬å°±å°flag è¿ä¸ªåéæ¹ä¸º false ï¼while åç°ä¸º false çæ¶åå°±ä¸å¾ä¸å¾ªç¯äºã
## for循ç¯
while å¯ä»¥åå°å¨æ¡ä»¶ä¸ºççæ¶ååå¤çæ§è¡ï¼ä¸è¿ææ¶åæä»¬éè¦å¨ç¹å®èå´å¾ªç¯ï¼æ¯å¦è¯´æä»¬è¦å¨ç¬¬ä¸å¤©å°ç¬¬äºå¤©æ¯å¤©åªåªåªä¸æ¬¡ï¼é£ä¹è¿æ¶åç¨ for å°±åéåä¸è¿äºï¼
```
days = [1,2,3,4,5]
for day in days :
print("第" + str(day) + "天åªåªåª")
```
æä»¬æ¥è¿è¡ä¸ï¼
> 
å¯ä»¥çå°ç¬¬ä¸æ¬¡æ§è¡ï¼dayå°±æ¯1ï¼ç¬¬äºæ¬¡æ§è¡dayå°±æ¯2ï¼å®å°±è¿æ ·ä¸ç´å¾ªç¯ä¸å»ï¼æ²¡æä¸ç¹å¿µæ³ã
## ç»æ¢å¾ªç¯break
æä¸å¤©ä½ çªç¶åç°ï¼æä¸è½åè¿ä¹ä¸å»äºï¼ä¸è½åéå¤çè¿è¿æ ·çæ¥åäºï¼å¾æç¹æ¹åï¼è·³åºè¿ä¸ªéå¤çæªåï¼é£ä¹å¯¹äº Python æ¥è¯´ï¼ç¨breakï¼
```
while æ´»çï¼
éå¤çè¿æ¥åã
ifï¼éæï¼ï¼
break
```
éè¿ break å¢ï¼å°±å¯ä»¥è·³åºè¿ä¸ªå¾ªç¯äºã
## continue
ææ¶åæä»¬å¨å¾ªç¯éé¢ï¼å¨æä¸ªå°æ¹ä¸å¸æå®å¾ªç¯ä¸å»ï¼å
è·³è¿æ¬æ¬¡æ¥ä¸æ¥çä¸è¥¿ï¼ç´æ¥æ§è¡ä¸ä¸æ¬¡ï¼è¿æ¶åæä»¬å°±å¯ä»¥ç¨ continueäºï¼æ¥è¯è¯ï¼
> 
# Pythonä¸ç彿°
ä½ å¯ä»¥æå½æ°å½åæ¯ä¸ä¸ªãç¹å®çå°ç¨åºãï¼å¯ä»¥ç¨å®ä»¬æ¥æ§è¡ç¹å®çäºæ
ã
Python䏿å
ç½®äºè®¸å¤ãç¹å®çå°ç¨åºãï¼æä»¬å¯ä»¥é常æ¹ä¾¿çç´æ¥è°ç¨å®ä»¬æ¥æ§è¡æä»¬æ³è¦æä½çä¸è¥¿ï¼è¿å«å
ç½®å½æ°ã
å¦å¤æä»¬ä¹å¯ä»¥æ ¹æ®æä»¬èªå·±çéè¦æ¥åé ãç¹å®çå°ç¨åºãï¼è¿å«èªå®ä¹å½æ°ã
## å®ä¹å½æ°
å设æä»¬è¦èªå·±å®ä¹ä¸ä¸ªå½æ°ï¼è¿ä¸ªå½æ°ç¨æ¥å«ï¼äºéº»è·ï¼ååï¼æ³æ³æä»¬ä¸è°ç¨è¿ä¸ªå½æ°ï¼å®å°±å«ãäºéº»è·ããæ¯ä¸æ¯å¾å¥½ç©ã
åè¿æ ·å®ä¹ä¸ä¸ªå½æ°ï¼
```
def jiaoï¼ï¼ï¼
printï¼"äºéº»è·~~~"ï¼
```
é£ä¹å½æä»¬è¦è°ç¨å®çæ¶ååªè¦è¿æ ·ãjiaoï¼ï¼ãå°±å¯ä»¥äºã
ç¨ IDLE æ¥è¯ä¸è¯å§ï¼
> 
> 
æ¥è§£éä¸ä¸ï¼
```
def jiaoï¼ï¼ï¼
printï¼"äºéº»è·~~~"ï¼
```
è¿éç def å°±æ¯ä¸ä¸ªå
³é®åæ¥çï¼ä»£è¡¨æä»¬è¦å»å®ä¹ä¸ä¸ªå½æ°ï¼è jiao å°±æ¯å½æ°åç§°ï¼å½æä»¬è¦ä½¿ç¨è¿ä¸ªå½æ°çæ¶åç´æ¥è°ç¨å®å°±å¯ä»¥äºãè printï¼"äºéº»è·~~~"ï¼ å°±æ¯**彿°ä½**ï¼ä¹å°±æ¯å®æå
·å¤çåè½å®ç°ã
## 彿°çå½¢ååå®å
æä»¬æ¢ç¶å®ä¹äºä¸ä¸ªä¼å«åºç彿°äºï¼é£ä¹æ¯è°ç¨ä¸ä¸å®å°±å«ä¸ä¸æ¯ä¸æ¯ä¸å¤ªç½ï¼å¦ææä»¬è½è°ç¨è¿ä¸ªå½æ°ï¼ç¶åä¼ ä¸ªæ°åç»å®ï¼è¿ä¸ªæ°åæ¯å¤å°ï¼å®å°±å«å¤å°æ¬¡ï¼å²ä¸æ¯æ´å¥½ï¼
å¯ä»¥è¿æ ·ï¼
```
def jiao(times) :
for time in range(times) :
print("äºéº»è·~~~")
```
å¨è¿éæä»¬å®ä¹äºä¸ä¸ª times çåæ°ï¼æ¥ä¸æ¥æä»¬éè¿è¿ä¸ªrangeç¨å
ç½®å½æ°çæä¸ä¸ªåºåï¼æ¥çç¨ for 循ç¯ï¼è¿æ ·å彿们è°ç¨å½æ°å¹¶ä¼ ä¸ä¸ªæ°åè¿å»ï¼å®å°±è½æ ¹æ®è¿ä¸ªæ°åï¼å»å«ç¸åºç次æ°äºã
æ¯å¦æä»¬è°ç¨ jiaoï¼5ï¼ï¼é£ä¹å®å°±ä¼å« 5 次ã
> 
> 
é£ä¹å¦ææä»¬æ³è¦ç¨æ·è¾å
¥å¤å°æ¬¡ï¼å°±è®©å®å«å¤å°æ¬¡ï¼æä¹ç©å¢ï¼æ³å¿
ä½ çè¿ä¹åçæç« ä¹ç¥éæä¹ç©äºï¼
> 
> 
å¯ä»¥ç尿们è¿éç jiaoï¼intï¼timeï¼ï¼ ä¼ å
¥çæ¯ä¸ä¸ªåéï¼é£ä¹è¿æ ·ä¼ éçåæ°å«å**å½¢å**ãèæä»¬åå jiaoï¼5ï¼ä¼ éçæ¯ä¸ä¸ªå®å®å¨å¨çæ°åï¼æä»¬å«**å®å**ã
## å±é¨åéåå
¨å±åé
æä»¬å¨å½æ°éé¢å®ä¹çåéï¼åªæå½æ°é颿å¯ä»¥ç¨ï¼å¨å½æ°å¤é¢æ¯ä½¿ç¨ä¸å°è¿ä¸ªåéçï¼æä»¥è¿ä¸ªåéåå¨å½æ°è¿ä¸ªå±é¨éï¼æä»¬å«è¿ä¸ªåé为å±é¨åéã
æ¯å¦è¯´ï¼
```
def jiao(times):
x = 1
for time in range(times+x):
print("äºéº»è·~~~")
```
è¿éçxå°±æ¯å±é¨åéå¦ã
ç¥éäºä»ä¹æ¯å±é¨åéä¹åæä»¬å¨æ¥äºè§£ä¸ä¸ä»ä¹æ¯å
¨å±åéï¼å
¶å®é¡¾åæä¹ï¼å
¨å±å~ é£ä¹å°±æ¯åªéé½å¯ä»¥ä½¿ç¨è¿ä¸ªåéå¯ãæ¯å¦è¯´æä»¬å¨å½æ°å
æ³è¦æ´æ¹å¤è¾¹çåéï¼æä¹åå¢ï¼è¿æ¶åæä»¬å¯ä»¥ä½¿ç¨ globalï¼
```
def jiao(times):
global x
x = 5
for time in range(times+x):
print("äºéº»è·~~~")
x = 2
jiao(5)
```
é£ä¹è¿é x å°±æ¯å
¨å±åéã
## returnè¿åå¼
ææ¶åæä»¬éè¦è°ç¨ä¸ä¸ªå½æ°è¿åç»æä»¬ç»æï¼æ¯å¦æä»¬å®ä¹äºä¸ä¸ªå æ³è®¡ç®ç彿°ï¼æä»¬å¸ææä¸¤ä¸ªæ°ç»å®ï¼å®ç´æ¥è®¡ç®å¥½ç¶åè¿åç»æä»¬ï¼é£ä¹è¿æ¶åæä»¬å°±å¯ä»¥ç¨å° returnï¼
å®ä¹ä¸ä¸ªå æ³ç彿°ï¼å¹¶è¿åç»æï¼
```
def addition(x,y):
return x+y
```
é£ä¹æä»¬è°ç¨çæ¶åï¼
`print(addition(5,6)) `
ç´æ¥è¿å 11 ã
## docString
å¾å¤ç¨åºåå
¶å®ä¸å¤ªåæ¬¢åææ¡£çï¼å 为è§å¾ææ¡£è¿äºå¿å¥½åä¸å
³èªå·±çäºæ
ï¼ä»£ç ææ¯ãèåå个代ç èå·²ï¼åä»ä¹è¿è¦æåææ¡£ï¼
Python æä¸ªå«å docString çä¸è¥¿å®ç¾è§£å³äºè¿é®é¢ï¼è®©ä½ ç´æ¥å¨ä»£ç ä¸åææ¡£ï¼å
¶å®è¯´ç½äºå°±æ¯ç»ä»£ç åç¹æ³¨éï¼ä»ä¹è¯è¨é½ä¼æç»ä»£ç åæ³¨éçï¼ä¸è¿ Python ç docString å¯ä»¥ç´æ¥æä½ çæ³¨éåæææ¡£ï¼æ¯ä¸æ¯å¾å害ï¼
æä»¬å¯ä»¥éè¿ help(requests) æè
requests.__doc__ å°±å¯ä»¥è®¿é®å°å®çææ¡£äºã
æ¥ä¸æ¥æä»¬èªå·±åä¸ä¸ªdocStringå§ã
æä»¬å®ä¹ä¸ä¸ªå« myDoc ç彿°ï¼ä¼ å
¥ä¸¤ä¸ªåæ°ï¼ååä¸ä¸docStringï¼åè¯å«äººæä»¬ç彿°æ¯å¹²åçï¼ä¼ å
¥çåæ°æ¯ä»ä¹ï¼è¿åä»ä¹ã
```
def myDoc(param1 ,param2):
"""
this is myDoc function
:param param1: this is a first param
:param param2: this is a second param
:return: param1 + param2
"""
print(param1 + param2)
return param1 + param2
```
æ¯ä¸æ¯ä¸ç®äºç¶ã
è䏿们è¿å¯ä»¥ä½¿ç¨ sphinx ç autodoc èªå¨ä»docStringç产apiææ¡£ãæ¯ä¸æ¯å¾æ¹ä¾¿å¢ï¼
# 模å
ä½ å¯ä»¥ææ¨¡åç解为ä¸ä¸ª .pyæä»¶ï¼è¿ä¸ªæä»¶éé¢å
å«äºæéè¦ç彿°ååéï¼é£ä¹ä¸æ¬¡æä»¬ä»»ä½ä¸ä¸ªç¨åºè¦ä½¿ç¨è¿éé¢çä¸è¥¿ï¼æä»¬åªéè¦æè¿ä¸ªæ¨¡å导å
¥å°æä»¬çç¨åºé颿¥ï¼å°±å¯ä»¥ç´æ¥ç¨äºï¼ç®ç´ä¸è¦å¤ªç½ãé è½®åå¤éº»ç¦åï¼æ¿æ¥å°±ç¨æ¯äºã
å
¶å® Python æå
ç½®äºä¸äºæ¨¡åï¼æä»¬å¯ä»¥ç´æ¥å¼ç¨ï¼è¿æä¸äºç¬¬ä¸æ¹æ¨¡åï¼ä¹å°±æ¯æä»¬å¯ä»¥èªå·±å建模åï¼å®è£
好模åå°±å¯ä»¥ç´æ¥ä½¿ç¨äºã
## ä½¿ç¨æ¨¡å
妿æä»¬è¦ä½¿ç¨ä¸ä¸ªæ¨¡åï¼å¯ä»¥å°è¿ä¸ªæ¨¡å导å
¥ï¼ä½¿ç¨ import ï¼æ¯å¦æä»¬è¦å¯¼å
¥ Python çå
ç½®ç sys 模åï¼sys模åå
å«äºä¸Pythonè§£éå¨åå®çç¯å¢æå
³ç彿°ï¼ï¼é£ä¹æä»¬å°±å¯ä»¥ä½¿ç¨ import sys:
> 
> 
## å建èªå·±ç模å
å建èªå·±ç模åå
¶å®å°±æ¯èªå·±åäºä¸ªç¨åºï¼ç¶åç»å«äººimportï¼æä»¬æ¥åä¸ä¸ªæ¨¡åï¼
> 
è®°ä½ï¼è¿æ¨¡åè¦ä¿åå°åä½ å³å°è¦ç¨ç Python ç¨åºçåä¸ç®å½ä¸ï¼ç¶åè¿æä»¶å¿
é¡»æ¯ .py ç»å°¾ä¸ç¨æè¯´äºå§ã
æ¥çæä»¬å°±æ¥ä½¿ç¨æä»¬èªå·±ç模åå§ï¼
> 
è¿è¡ä¸ä¸ï¼
> 
å¯ä»¥ç尿们ä¸ä»
ä¼ä½¿ç¨æ¨¡åï¼èä¸ä¼èªå·±å建模åäºï¼çæ¯è¶æ¥è¶çé¼äºã
## å®è£
ç¬¬ä¸æ¹æ¨¡å
ä¸çé£ä¹å¤§ï¼ç人é£ä¹å¤ï¼ç人åçæ¨¡åï¼æä»¬ç´æ¥æ¿æ¥ç¨ï¼ä¸æ¯å¾ç½åï¼
é£ä¹æä»¬è¦ä½¿ç¨ä»ä»¬åçæ¨¡åä¹åè¦å
å°ä»ä»¬ç模åå®è£
尿们ç Python ç¯å¢æ¥ï¼ç¶åæå¯ä»¥ä½¿ç¨ã
é¦å
ä½ è¦ç¡®ä¿ä½ ççµèå·²ç»å®è£
å¥½äº pipï¼å¦æä½ å¨å½ä»¤è¡å·¥å
·ä¸è¾å
¥ pip å¯ä»¥åæè¿æ ·é£å°±è¯´æä½ å·²ç»å®è£
å¥½äº pipï¼
> 
æ¨èä¸ä¸ªç½ç«ç»ä½ 们ï¼https://pypi.org/ è¿ä¸ªç½ç«èéäºä¸å çé¼ç模åï¼ä½ å¯ä»¥éè¿æç´¢ä»»ä½ä½ æ³è¦ç模åï¼
> 
æ¯å¦è¯´æè¦å®è£
ä¸ä¸ªå«å BTrees çæ¨¡åï¼é£ä¹æåªéè¦ä½¿ç¨ãpip install BTreesã è¿ä¸ªå½ä»¤å°±å¯ä»¥å®è£
äºã
> 
å®è£
å®ä¹åå¢ï¼ä½ å°±å¯ä»¥éè¿ import ç´æ¥ä½¿ç¨æ¨¡åäºã
# é¢å对象
## pythonå建ä¸ä¸ªç±»
为äºè®©ä½ æ´å¥½çç解类åå¯¹è±¡ï¼ææ¥ä¸¾ä¸ä¸ªä¾åï¼åå¦A梦大家é½å¾çæå§ï¼é£ä¸ªç®èç®èçå®¶ä¼ï¼å£è¢é颿çè®¸å¤æä»¬æ¢¦å¯ä»¥æ±çä¸è¥¿ã
æä»¬å¯ä»¥æåå¦A梦çè§£ä¸ºå®æ¯ä¸ä¸ªå¯¹è±¡ã妿æä»¬å建ä¸ä¸ªå«ååå¦A梦çç±»ï¼é£ä¹è¿ä¸ªç±»çå®ä¾ï¼æä»¬å°±å«ååå¦A梦对象ã
å¨ python ä¸ï¼å¯ä»¥ç¨ class æ¥å®ä¹ä¸ä¸ªç±»ï¼æ¯å¦ï¼
```
class DuoLaAMengï¼
```
é£ä¹å½æä»¬è¦å»ä½¿ç¨è¿ä¸ªç±»çå¯¹è±¡çæ¶åæä»¬å¯ä»¥è¿æ ·ï¼
```
duola = DuoLaAMengï¼ï¼
```
å¨è¿éå¢ï¼æä»¬å®ä¹äºä¸ä¸ªå«å duola çåéï¼æåçæ¯åå¦A梦è¿ä¸ªå®ä¾ã
## ç±»ä¸çæ¹æ³ä½¿ç¨
æä»¬ç对象è¯å®æ¯æä¸äºå±æ§ç»æä»¬ç¨çï¼æ¯å¦è¯´åå¦A梦è¿ä¸ªå¯¹è±¡å¯ä»¥ç»æä»¬æä¾ç«¹è»èï¼æä»¥æä»¬å¯ä»¥å¨ç±»ä¸å®ä¹ä¸äºæ¹æ³ç»å«äººå»ä½¿ç¨ã
æä»¬å建ä¸ä¸ªç±»ï¼å¹¶ä¸ç»å®å®ä¹ä¸ä¸ªè·å竹è»èçæ¹æ³ï¼
```
class DuoLaAMeng:
def getZhuQingTing(self):
print("ç»ä¸ä¸ªç«¹è»è")
```
é£ä¹å½æä»¬è¦è°ç¨çæ¶åå°±å¯ä»¥è¿æ ·åï¼
```
duola = DuoLaAMeng()
duola.getZhuQingTing()
```
æä»¬å¯ä»¥çå°å¨å®ä¹ getZhuQingTing è¿ä¸ªæ¹æ³çæ¶åï¼å®ä¹äºä¸ä¸ª self è¿ä¸ªåæ°ï¼å
¶å®è¿ä¸ªåæ°æçæ¯DuoLaAMeng对象æ¬èº«ï¼è¿å°±åæä»¬æ®éå®ä¹ç彿°æäºè®¸åºå«ã
## __init__彿°
æä»¬å¨è°ç¨å¯¹è±¡çæ¶åï¼æäºä¸è¥¿æ¯å¯ä»¥åå§åçï¼è¿ä¸ªæ¶å Python å°±ç»æä»¬æä¾äºä¸ä¸ªåå§å彿°ï¼ä¹å°±æ¯å½æä»¬å»è°ç¨è¿ä¸ªå¯¹è±¡çæ¶åï¼å®ä¼å
廿§è¡ __init__ è¿ä¸ªå½æ°ã举个ä¾åä½ å°±æç½äºï¼
```
class DuoLaAMeng:
def __init__(self, name):
self.name = name
def getZhuQingTing(self):
print("ç»"+self.name+"ä¸ä¸ªç«¹è»è")
duola = DuoLaAMeng("大é")
duola.getZhuQingTing()
```
æä»¬å®ä¹äºä¸ä¸ª DuoLaAMeng ç±»ï¼ å¹¶ä¸ç»äºä¸ä¸ªåå§å彿°ï¼å½å«äººè°ç¨è¿ä¸ªç±»çæ¶åå¢ï¼ä¼ ä¸ä¸ª name è¿æ¥ï¼æä»¬å°±å¯ä»¥å¯¹è¿ä¸ªååè¿è¡åå§åäºã
> 
## ç»§æ¿
妿æä»¬æ³è¦åå®ä¹ä¸ä¸ªç±»ä¼¼åå¦A梦çå¯¹è±¡ï¼æ¯å¦è¯´åå¦A梦çå¿å对象ï¼é£ä¹è¿æ¶åæä»¬ç¨ç»§æ¿æ¥å®ç°ï¼ç»§æ¿å°±æ¯å®ç°ä»£ç éç¨çæ¹å¼ã
å¦æè¯´åå¦A梦çå¿åå«ååå¦B梦ï¼é£ä¹å½æä»¬çåå¦B梦继æ¿äºå®çç¸ç¸åå¦Aæ¢¦çæ¶åï¼åå¦Bæ¢¦æ¥æåå¦Aæ¢¦çææåè½ã
> 
å¨ Python ä¸ç»§æ¿ç表ç°å½¢å¼åªè¿æ ·çï¼
```
class åå¦B梦ï¼åå¦A梦ï¼ï¼
```
è¿æ ·å°±è¯´æäºåå¦B梦æ¯åå¦A梦çå¿åã
举个ä¾åï¼
> 
> 
æä»¬å¨è¿éå®ä¹äºä¸ä¸ªå«å DuoLaAMeng çç±»ï¼ç¶åå®ä¹äºä¸¤ä¸ªæ¹æ³ï¼ä¸ä¸ªæ¯åå§åï¼ä¸ä¸ªæ¯è·å竹è»èã
æ¥çæä»¬åå»ºäº DuoLaBMeng è¿ä¸ªç±»æ¥ç»§æ¿ DuoLaAMeng ï¼å¯ä»¥çå° DuoLaBMeng å
¶å®å¥ä¹æ²¡åï¼ä½æ¯å®å°±æ¯æ¥æäºDuoLaBMeng çææåè½ã
è¿ç§ç»§æ¿çæ¹å¼å¾å¥½ï¼æ¯å¦æä»¬ä»¥åè¦å建 DuoLaCMeng ï¼ç´æ¥ç»§æ¿ DuoLaAMeng å°±å¯ä»¥ç¨æå±çæ¹æ³ï¼ä»¥åæä»¬è¦å¢å ä»ä¹å
±åçåè½çæ¶åï¼åªéè¦å¨ç¶ç±» DuoLaAMeng æ·»å 就好äºï¼å®çå类们é½å¯ä»¥ä½¿ç¨ã
## 夿
DuoLaBMeng å DuoLaCMeng æ¯ DuoLaAMeng çå¿åï¼æä»¬ä¹å¯ä»¥æå®çå¿åå½å DuoLaAMeng 对象æ¥ä½¿ç¨ï¼æ¯å¦è¯´æä¸å¤© DuoLaAMengå¨å¿ï¼è¿æ¶å大éå®å
¨å¯ä»¥æå®çå¿å们å½åæ¯ DuoLaAMeng æ¥ä½¿ç¨ï¼å®å
¨æ¨æé®é¢ï¼è¿å°±æ¯é¢å对象ä¸å¤æçææã
> 
使¯æäºåç±»æ¯ç¬å
·ç¹è²çï¼æ¯å¦ DuoLaBMeng å¯ä»¥ä»å£è¢ä¸æ¿åºå
æ°å¨å¨ï¼èå®çç¶äº² DuoLaAMeng 没æè¿ä¸ªåè½ã
> 
è¿æ¶åç¶ç±» DuoLaAMeng æ¯ä¸å¯ä»¥æå®å½ååç±»DuoLaBMeng æ¥ç¨çï¼ä¹å°±æ¯åç±»å¯ä»¥ç¨ç¶ç±»çæ¹æ³ï¼ä½æ¯ç¶ç±»ä¸è½ç¨åç±»çæ¹æ³ã
> 
> 
# å¼å¸¸
ç¥éä»£ç æéè¿çå¾ä¸åï¼æ¯ç没éï¼å°±æ¯ææç¥éå¯è½ä»£ç 伿é误ï¼ä½æ¯æä»¬è¿æ¯å¾ä¸åãå°±æ¯è¿ä¹ä»»æ§ï¼
## å¼å¸¸æè·
ææ¶åæä»¬å¯¹æä»¬ç代ç çæ¥éæ¯å¯é¢ç¥çï¼æ¯å¦æä»¬æ³è®© Python 帮æä»¬æå¼ä¸ä¸ªå°é»æçæä»¶ï¼æ¯å¦ yellow.txtï¼å¯æ¯æä»¬ççµèä¸ä¸å®æï¼å¦æè¿ä¸ªæ¶å没æçè¯æä»¬ç代ç 伿¥éç对å§ï¼
```
document = open('yellow.txt')
print('filename:' + document.name)
```
è¿è¡ä¹åå¯ä»¥çå°è¿éæ¥é:
```
FileNotFoundError: [Errno 2] No such file or directory: 'yellow.txt'
```
åè¯æä»¬æ²¡æè¿ä¸ªæä»¶ã
使¯å¦æè¿æ¶åæä»¬è¿æ³å¾ä¸è¿è¡æä¹åå¢ï¼
é£å°±å¯ä»¥æè¿å¼å¸¸ç»æè·æï¼ä½¿ç¨ `try...except...finally...`
>tryï¼ç¨æ¥å
裹æä»¬å¯è½åå¨é误ç代ç ï¼
exceptï¼å½åç°éäºå°±ä¼æ§è¡è¿é
finallyï¼æ 论æä¹æ ·æåé½ä¼æ§è¡å°çã
举个ä¾åä½ å°±æç½äºï¼
```
try:
document = open('yellow.txt')
print('filename:' + document.name)
except FileNotFoundError as e:
print("error:" , e)
finally:
print("æåæ§è¡çè¯å¥")
```
æä»¬è¿éæå¼ yellow.txt ,Pythonåç°ä¸åå¨ï¼é£ä¹å°±æ§è¡exceptä¸çè¯å¥ï¼finallyæåä¹ä¼è¢«æ§è¡ï¼
```
error: [Errno 2] No such file or directory: 'yellow.txt'
æåæ§è¡çè¯å¥
```
é£ä¹è¿æ ·åçè¯ï¼ä»¥åæä»¬å°±å¯ä»¥å°é¢æå°çé误è¿è¡æè·ï¼ç¶å对å
¶è¿è¡æä½ã
## æåºå¼å¸¸
ææ¶åæä»¬æ²¡æå»å¤çå¼å¸¸ï¼ Python ä¹ä¼ç»æä»¬æ¥åºé误ï¼è¿æ¯å 为 Python æä¸ª BaseException çå¼å¸¸åºç±»ï¼å½Pythonåç°æä»¬ç代ç éè¯¯çæ¶åï¼å没人å»å¤çï¼å®å°±ä¼å±å±çå¾ä¸æåºé误ï¼ç´å°æä¸çº§ã
æä»¬å¯ä»¥èªå·±å®ä¹ä¸ä¸ªå¼å¸¸ç±»ï¼
```
class MyError(Exception):
pass
def foo(value):
if(value==0):
raise MyError('ERROR %s' % value)
foo(0)
```
å¯ä»¥ç尿们èªå®ä¹äºä¸ä¸ªå«åMyErrorçå¼å¸¸ç±»ï¼ç»§æ¿ä¸Exceptionï¼å½æä»¬ä¼ å
¥ 0 çæ¶å就伿åºå¼å¸¸ãå¨è¿éæä»¬ä½¿ç¨å°ç**å
³é®åæ¯raiseï¼å°±æ¯ç¨æ¥æåºå¼å¸¸çææ**ã
æ¾ä¸ªå¼å¸¸è®©ä½ å¿æ
çç©ä¸ä¸ï¼åååï¼
```
Traceback (most recent call last):
File "G:/test.py", line 11, in