>è°è½ä½¿æä»¬ä¸åºç£çç±éç»å¢ï¼é¾éæ¯æ£é¾ä¹ï¼æ¯å°è¦ä¹ï¼æ¯é¼è¿«ä¹ï¼æ¯é¥¥é¥¿ä¹ï¼æ¯èµ¤èº«é²ä½ä¹ï¼æ¯å±é©ä¹ï¼æ¯ååä¹ã
>ç¶èé çç±æä»¬ç主ï¼å¨è¿ä¸åçäºä¸ï¼å·²ç»å¾èæä½äºãå ä¸ºææ·±ä¿¡æ è®ºæ¯æ»ãæ¯çãæ¯å¤©ä½¿ãæ¯ææçï¼æ¯æè½çï¼æ¯ç°å¨çäºï¼æ¯å°æ¥çäºï¼æ¯é«å¤çï¼æ¯ä½å¤çï¼æ¯å«çåé ä¹ç©ï¼é½ä¸è½å«æä»¬ä¸ç¥çç±éç»ãè¿ç±æ¯å¨æä»¬ç主åºç£è¶ç¨£éçã(ROMANS 8:35,37-39)
#彿°(1)
彿°ï¼å¯¹äºäººç±»æ¥è®²ï¼è½å¤åå±å°è¿ä¸ªæ°å¦æç»´å±æ¬¡ï¼æ¯ä¸ä¸ªé£è·ãå¯ä»¥è¯´ï¼å®çæåºï¼ç´æ¥å å¿«äºç°ä»£ç§æå社ä¼çåå±ï¼ä¸è®ºæ¯ç°ä»£çä»»ä½ç§æé¨ç±»ï¼ä¹è³äºç»æµå¦ãæ¿æ²»å¦ã社ä¼å¦çï¼é½å·²ç»æ®é使ç¨å½æ°ã
ä¸é¢ä¸æ®µæ¥èªç»´åºç¾ç§ï¼å¨æ¬æç¨ä¸ï¼å¤§éçå®ä¹æ¥èªç»´åºç¾ç§ï¼å 为å®ççå¾ç¾ç§ï¼ï¼[彿°è¯æ¡](http://zh.wikipedia.org/zh/%E5%87%BD%E6%95%B0)
>彿°è¿ä¸ªæ°å¦åè¯æ¯è±å¸å°¼å
¹å¨1694å¹´å¼å§ä½¿ç¨çï¼ä»¥æè¿°æ²çº¿çä¸ä¸ªç¸å
³éï¼å¦æ²çº¿çæçæè
æ²çº¿ä¸çæä¸ç¹ãè±å¸å°¼å
¹ææç彿°ç°å¨è¢«ç§°ä½å¯å¯¼å½æ°ï¼æ°å¦å®¶ä¹å¤çæ®é人ä¸è¬æ¥è§¦å°ç彿°å³å±æ¤ç±»ã对äºå¯å¯¼å½æ°å¯ä»¥è®¨è®ºå®çæéå导æ°ãæ¤ä¸¤è
æè¿°äºå½æ°è¾åºå¼çåååè¾å
¥å¼ååçå
³ç³»ï¼æ¯å¾®ç§¯åå¦çåºç¡ã
>䏿çâ彿°âä¸è¯ç±æ¸
ææ°å¦å®¶æåå
°è¯åºãå
¶ã代æ°å¦ã书ä¸è§£éï¼â塿¤è®æ¸ä¸å½ï¼å
å«ï¼å½¼è®æ¸è
ï¼åæ¤çºå½¼ä¹å½æ¸âã
彿°ï¼ä»ç®åå°å¤æï¼åå¼åæ ·ãå颿ä¾çç»´åºç¾ç§ä¸ç彿°è¯æ¡ï¼éé¢å¯ä»¥åä¸ä¸ªæ¦è§ãä½ä¸ç®¡ä»ä¹æ ·åç彿°ï¼é½å¯ä»¥ç¨ä¸å¾æ¦æ¬ï¼

##çè§£å½æ°
å¨ä¸å¦æ°å¦ä¸ï¼å¯ä»¥ç¨è¿æ ·çæ¹å¼å®ä¹å½æ°ï¼y=4x+3ï¼è¿å°±æ¯ä¸ä¸ªä¸æ¬¡å½æ°ï¼å½ç¶ï¼ä¹å¯ä»¥åæï¼f(x)=4x+3ãå
¶ä¸xæ¯åéï¼å®å¯ä»¥ä»£è¡¨ä»»ä½æ°ã
å½x=2æ¶ï¼ä»£å
¥å°ä¸é¢ç彿°è¡¨è¾¾å¼ï¼
f(2) = 4*2+3 = 11
æä»¥ï¼f(2) = 11
使¯ï¼è¿å¹¶ä¸æ¯å½æ°çå
¨é¨ï¼å¨å½æ°ä¸ï¼å
¶å®åé并没æè§å®åªè½æ¯ä¸ä¸ªæ°ï¼å®å¯ä»¥æ¯é¦å¤´ãè¿å¯æ¯è¹æï¼ä¸ç¥é读è
æ¯å¦å¯¹å½æ°æè¿ä¸ªå±æ¬¡ççè§£ã请继ç»é
è¯»å³æ´æ·±å»
###åéä¸ä»
ä»
æ¯æ°
åé`x`åªè½æ¯ä»»ææ°åï¼
å
¶å®ï¼ä¸ä¸ªå½æ°ï¼å°±æ¯ä¸ä¸ªå¯¹åºå
³ç³»ã
读è
å°è¯çå°ä¸é¢è¡¨è¾¾å¼ç`x`ç解为é¦
饼ï¼`4x+3`å°±æ¯4个é¦
饼å¨å ä¸3ï¼ä¸è¬æ¥è®²ï¼å使¯ç»ä¸çï¼ä½ä½ é让å®ä¸ç»ä¸ï¼ä¹æ 妨ï¼ï¼è¿ä¸ªç»æå¯¹åºçå¦å¤ä¸ä¸ªä¸è¥¿ï¼é£ä¸ªä¸è¥¿æ¯å¦è¯´æ¯iphoneãæè
说å¯ä»¥ç解为4个é¦
饼å 3就对åºä¸ä¸ªiphoneãè¿å°±æ¯æè°æ å°å
³ç³»ã
æä»¥ï¼xï¼ä¸ä»
ä»
æ¯æ°ï¼å¯ä»¥æ¯ä½ 认为çä»»ä½ä¸è¥¿ã
**åéæ¬è´¨ââå ä½ç¬¦ã**
彿°ä¸ä¸ºä»ä¹åéç¨xï¼è¿æ¯ä¸ä¸ªæè¶£çé®é¢ï¼èªå·±googleä¸ä¸ï¼çè½ä¸è½æ¾å°çæ¡ãå¾å·§ï¼å¨âç¥ä¹âä¸è¿çæäººè¯¢é®[è¿ä¸ªé®é¢](http://www.zhihu.com/question/20112835)ï¼å¯ä»¥é
读ã
æä¹ä¸æ¸
æ¥åå ãä¸è¿ï¼ææ¸
æ¥å°ç¥éï¼åéå¯ä»¥ç¨xï¼ä¹å¯ä»¥ç¨å«ç符å·ï¼æ¯å¦y,z,k,i,j...ï¼çè³ç¨alpha,betaè¿æ ·ç忝ç»åä¹å¯ä»¥ã
**åé卿¬è´¨ä¸å°±æ¯ä¸ä¸ªå ä½ç¬¦ã**è¿æ¯ä¸éè§è¡ççè§£ã
ä»ä¹æ¯å ä½ç¬¦ï¼å°±æ¯å
æé£ä¸ªä½ç½®ç¨åéå ä¸ï¼è¡¨ç¤ºè¿éæä¸ä¸ªä¸è¥¿ï¼è³äºè¿ä¸ªä½ç½®æ¾ä»ä¹ä¸è¥¿ï¼ä»¥åå说ï¼åæ£å
ç¨ä¸ä¸ªç¬¦å·å çè¿ä¸ªä½ç½®ï¼å ä½ç¬¦ï¼ã
å
¶å®å¨é«çº§è¯è¨ç¼ç¨ä¸ï¼å鿝æä»¬å¨å䏿°å¦ä¸å¦ä¹ çè¦å¤æã使¯ï¼å
ä¸ç®¡é£äºï¼å¤æä¸è¥¿æ¾å¨ä»¥åå说äºãç°å¨ï¼å°±æç
§å䏿°å¦çæ°´å¹³æ¥ç ç©¶Pythonä¸çåéã
é常使å°å忝æ¥å½åPythonä¸çåéï¼ä¹å¯ä»¥æ¯ç¨ä¸åçº¿è¿æ¥çå¤ä¸ªåè¯ãæ¯å¦ï¼alphaï¼xï¼jï¼p_betaï¼è¿äºé½å¯ä»¥å为Pythonçåéã
ä¸é¢æç
§çº¯ç²¹æ°å¦çæ¹å¼ï¼å¨Pythonä¸å»ºç«å½æ°ã
>>> a = 2
>>> y = 3 * a + 2
>>> y
8
è¿ç§æ¹å¼å»ºç«ç彿°ï¼è·å¨å䏿°å¦ä¸å¦ä¹ çæ²¡æä»ä¹åºå«ãå¨çº¯ç²¹æ°å¦ä¸ï¼ä¹å¸¸è¿ä¹ç¨ãè¿ç§æ¹å¼å¨Pythonä¸è¿ææåï¼
æ¢ç¶å¨ä¸é¢å·²ç»å»ºç«äºä¸ä¸ªå½æ°ï¼é£ä¹æå°±æ¹ååéaçå¼ï¼ççå¾å°ä»ä¹ç»æã
>>> a = 3
>>> y
8
æ¯ä¸æ¯å¾å¥æªï¼ä¸ºä»ä¹åé¢å·²ç»è®©açäº3äºï¼ç»æyè¿æ¯8ã
è¿è®°å¾åé¢å·²ç»å¦ä¹ è¿çå
³äºâåéèµå¼âçåçåï¼`a=2`çå«ä¹æ¯å°2è¿ä¸ªå¯¹è±¡è´´ä¸äºåéaæ ç¾ï¼ç»è¿è®¡ç®ï¼å¾å°äº8ï¼ä¹ååéyå¼ç¨äºå¯¹è±¡8ãå½åéaå¼ç¨ç对象修æ¹ä¸º3çæ¶åï¼ä½æ¯yå¼ç¨çå¯¹è±¡è¿æ²¡æåï¼æä»¥ï¼è¿æ¯8ãå计ç®ä¸æ¬¡ï¼yçè¿æ¥å¯¹è±¡å°±åäºï¼
>>> a = 3
>>> y
8
>>> y = 3 * a + 2
>>> y
11
ç¹å«æ³¨æï¼å¦ææ²¡æå
`a = 2` ï¼å°±ç´æ¥ä¸å½æ°è¡¨è¾¾å¼äºï¼åè¿æ ·ï¼å°±ä¼æ¥éã
>>> y = 3 * a + 2
Traceback (most recent call last):
File "", line 1, in
NameError: name 'a' is not defined
注æçé误æç¤ºï¼`a`æ¯ä¸ä¸ªåéï¼æç¤ºä¸åè¯æä»¬è¿ä¸ªåéæ²¡æå®ä¹ãæ¾ç¶ï¼å¦æå½æ°ä¸è¦ä½¿ç¨æä¸ªåéï¼ä¸å¾ä¸æåå®ä¹åºæ¥ãå®ä¹æ¹æ³å°±æ¯ç»è¿ä¸ªåéèµå¼ââè¿è·çº¯ç²¹æ°å¦ææåºå«äºã
ç¨çº¯ç²¹æ°å¦çæ¹å¼å»ºç«å½æ°ï¼å¯¹Pythonä¸éç¨ï¼å¦æéè¦æ¾ä¸ªæ ¹ç±ï¼ææ³å¯è½æ¯â=âé æçï¼è¿ä¸ªç¬¦å·å¨æ°å¦ä¸æ¯çå·ï¼ä½æ¯å¨Pythonä¸ï¼å
æ¬ææçé«çº§ç¼ç¨è¯è¨ä¸ï¼æ¯âèµå¼âãè¿æ¯æçè¤æµ
çè§£ãæ´æ·±å±çç¼ç±ï¼è¿å¨äºè®¡ç®æºå¤çæ°æ®çåçä¸äººä¸åãæä»¥ï¼è¦æä¸ç§æ°çå®ä¹å½æ°çæ¹å¼
##å®ä¹å½æ°
å¨Pythonä¸ï¼è§å®äºä¸ç§å®ä¹å½æ°çæ ¼å¼ï¼ä¸é¢ç举ä¾å°±æ¯ä¸ä¸ªå½æ°ï¼ä»¥è¿ä¸ªå½æ°ä¸ºä¾æ¥è¯´æå®ä¹å½æ°çæ ¼å¼åè°ç¨å½æ°çæ¹æ³ã
#!/usr/bin/env python
#coding:utf-8
def add_function(a, b):
c = a + b
return c
if __name__ == "__main__":
result = add_function(2, 3)
print result #python3: print(result)
ç¶åå°æä»¶ä¿åï¼ææå¥¹å½å为20101.pyï¼ä½ æ ¹æ®èªå·±çå好å个ååã
ç¶åæå°±è¿å
¥å°é£ä¸ªæä»¶å¤¹ï¼è¿è¡è¿ä¸ªæä»¶ï¼åºç°ä¸é¢çç»æï¼å¦å¾ï¼

ä½ è¿è¡çç»ææ¯ä»ä¹ï¼å¦ææ²¡æå¾å°ä¸é¢çç»æï¼ä½ å°±é常认çå°æ£æ¥ä»£ç ï¼æ¯å¦è·æåçå®å
¨ä¸æ ·ï¼æ³¨æï¼å
æ¬åå·åç©ºæ ¼ï¼é½å¾ä¸æ ·ã**åå·åç©ºæ ¼å¾éè¦ã**
ä¸é¢å¼å§åºä¸è§£çï¼
- `def`: è¿éæ¯å½æ°çå¼å§ãå¨å£°æè¦å»ºç«ä¸ä¸ªå½æ°çæ¶åï¼ä¸å®è¦ä½¿ç¨defï¼def å°±æ¯è±ædefineçåä¸ä¸ªåæ¯ï¼ï¼ææå°±æ¯åç¥è®¡ç®æºï¼è¿éè¦å£°æä¸ä¸ªå½æ°ã`def`åå¨é£ä¸è¡ï¼å
æ¬åé¢ç`add_function(a, b)`ï¼è¢«ç§°ä¸ºå½æ°å¤´ã
- `add_function`ï¼è¿æ¯å½æ°åç§°ãåå忝æè®²ç©¶çï¼å°±å¥½æ¯ä½ çåå䏿 ·ãå¨Pythonä¸åååç讲究就æ¯è¦æä¸å®æä¹ï¼è½å¤ä»ååä¸çåºè¿ä¸ªå½æ°æ¯ç¨æ¥å¹²ä»ä¹çãä»add_functionè¿ä¸ªååä¸ï¼æ¯ä¸æ¯çåºå¥¹æ¯ç¨æ¥è®¡ç®å æ³çå¢ï¼ä¸¥æ ¼å°è¯´ï¼æ¯æä¸¤ä¸ªå¯¹è±¡âç¸å âï¼è¿éç¸å çå«ä¹æ¯æ¯è¾å®½æ³çï¼å
æ¬å¯¹å符串çç¸å ï¼ï¼
- `(a,b)`ï¼è¿æ¯åæ°å表ãè¦å卿¬å·éé¢ãè¿æ¯ä¸ä¸ªåéï¼åæ°ï¼å表ï¼å
¶ä¸çåéï¼åæ°ï¼æå彿°çè¾å
¥ãå¨è¿ä¸ªä¾åä¸ï¼å½æ°æä¸¤é¡¹è¾å
¥ï¼å嫿¯`a`å`b`ãå¨é常ç彿°ä¸ï¼è¾å
¥é¡¹æ²¡æéå®ï¼å¯ä»¥æ¯ä»»ææ°éï¼å½ç¶ä¹å¯ä»¥æ²¡æè¾å
¥ï¼è¿æ¶åçåæ°å表就æ¯ä¸å¯¹ç©ºçç忬å·()ï¼ä½æ¯ï¼å¿
须徿è¿ä¸ªåæ¬å·ã
- `:`ï¼è¿ä¸ªåå·é常é常éè¦ï¼å¦æå°äºï¼å°±æ¥éäºãè¿ååé¢çè¯å¥æ¯ç±»ä¼¼çï¼åå·è¡¨ç¤ºå½æ°å¤´ç»æï¼ä¸é¢è¦å¼å§å½æ°ä½çå
容äºã
- `c = a + b`ï¼è¿ä¸è¡å¼å§ï¼å°±æ¯å½æ°ä½ã彿°ä½ä½¿ä¸ä¸ªç¼©è¿äºåä¸ªç©ºæ ¼ç代ç åï¼å®æä½ éè¦å®æçå·¥ä½ãå¨è¿ä¸ªä»£ç åä¸ï¼å¯ä»¥ä½¿ç¨å½æ°å¤´ä¸çåéï¼å½ç¶ï¼ä¸ä½¿ç¨ä¹å¯ä»¥ã缩è¿åä¸ªç©ºæ ¼ãè¿æ¯Pythonçè§å®ï¼è¦ç¢è®°ï¼ä¸å¯ä¸¢æï¼ä¸¢äºå°±æ¥éãè¿å¥è¯å°±æ¯å°å½æ°å¤´çåéç¸å ï¼ç»æèµå¼ä¸å¦å¤ä¸ä¸ªåécã
- `return c`ï¼è¿æ¯æéç宿³¨æï¼ç¼©è¿åä¸ªç©ºæ ¼ã`return`æ¯å½æ°çå
³é®åï¼æææ¯è¦è¿åä¸ä¸ªå¼ã`return`è¯å¥æ§è¡æ¶ï¼Pythonè·³åºå½åç彿°å¹¶è¿åå°è°ç¨è¿ä¸ªå½æ°çå°æ¹ãå¨ä¸é¢ï¼æè°ç¨è¿ä¸ªå½æ°çå°æ¹`result = add_function(2, 3)`ã使¯ï¼å½æ°ä¸ç`return`è¯å¥ä¹ä¸æ¯å¿
é¡»è¦åçï¼å¦æä¸åï¼Pythonå°è®¤ä¸ºä½¿ä»¥`return None`æ¥ä½ä¸ºç»æçãä¹å°±æ¯è¯´ï¼å¦æä½ ç彿°ä¸æ²¡æ`return`ï¼äºå®ä¸ï¼å¨è°ç¨çæ¶åï¼Pythonä¹ä¼è¿åä¸ä¸ªç»æï¼è¿ä¸ªç»æå°±æ¯Noneã
- `if __name__ == "__main__"`: è¿å¥è¯å
ç
§æï¼ä¸è§£éï¼å 为å¨[ãèªçã](./130.md)æè¯´æï¼ä¸ç¥éä½ æ¯ä¸æ¯è®¤çé
读äºã注æå°±æ¯ä¸ç¼©è¿äºã
- `result = add_function(2, 3)`ï¼è¿æ¯è°ç¨åé¢å»ºç«ç彿°ï¼å¹¶ä¸ä¼ å
¥ä¸¤ä¸ªå¼`a=2`å`b=3`ãä»ç»è§å¯ä¼ å
¥åæ°çæ¹æ³ï¼å°±æ¯ç¸å½äºæ2æ¾å¨aé£ä¸ªä½ç½®ï¼3æ¾å¨bé£ä¸ªä½ç½®ï¼æä»¥è¯´ï¼åéå°±æ¯å ä½ç¬¦)ãå½å½æ°è¿è¡ï¼éå°äº`return`è¯å¥ï¼å°±å°å½æ°ä¸çç»æè¿åå°è¿éï¼èµå¼ç»resultãè¿è¦å°å¦ä¸å¥ï¼æ¯âç¸å½äºâæ2å3å嫿¾å¨aåbçä½ç½®ï¼è¿ä¸ªâç¸å½äºâçæ¯æå«ä¹çï¼æä¸åçï¼åç»ä¼è®²è§£ã
è§£ç宿¯ï¼å个æ»ç»ï¼
å®ä¹å½æ°çæ ¼å¼ä¸ºï¼
def 彿°å(åæ°1ï¼åæ°2ï¼...ï¼åæ°n)ï¼
彿°ä½ï¼è¯å¥åï¼
æ¯ä¸æ¯æ ·å¼å¾ç®åå¢ï¼
å ç¹è¯´æï¼
- 彿°åçå½åè§åè¦ç¬¦åPythonä¸çå½åè¦æ±ãä¸è¬ç¨å°å忝ååä¸åçº¿ãæ°åçç»åï¼æäººä¹ æ¯ç¨aaBbçæ ·å¼ï¼ä½æä¸æ¨è
- defæ¯å®ä¹å½æ°çå
³é®è¯ï¼è¿ä¸ªç®åæ¥èªè±æåè¯define
- 彿°åå颿¯åæ¬å·ï¼æ¬å·éé¢ï¼å¯ä»¥æåæ°å表ï¼ä¹å¯ä»¥æ²¡æåæ°
- åä¸ä¸è¦å¿è®°äºæ¬å·åé¢çåå·
- 彿°ä½ï¼è¯å¥åï¼ï¼ç¸å¯¹äºdef缩è¿ï¼æç
§pythonä¹ æ¯ï¼ç¼©è¿åä¸ªç©ºæ ¼
çç®åä¾åï¼æ·±å
¥çè§£ä¸é¢çè¦ç¹ï¼
>>> def name(): #å®ä¹ä¸ä¸ªæ åæ°ç彿°ï¼åªæ¯éè¿è¿ä¸ªå½æ°æå°
... print "qiwsir" #缩è¿4ä¸ªç©ºæ ¼
...
>>> name() #è°ç¨å½æ°ï¼æå°ç»æ
qiwsir
>>> def add(x,y): #å®ä¹ä¸ä¸ªé常ç®åç彿°
... return x+y #缩è¿4ä¸ªç©ºæ ¼
...
>>> add(2,3) #éè¿å½æ°ï¼è®¡ç®2+3
5
注æä¸é¢ç`add(x,y)`彿°ï¼å¨è¿ä¸ªå½æ°ä¸ï¼æ²¡æç¹å«è§å®åæ°`x`ã`y`çç±»åãå
¶å®ï¼è¿å¥è¯æ¬èº«å°±æ¯éçï¼è¿è®°å¾å¨åé¢å·²ç»å¤æ¬¡æå°ï¼å¨Pythonä¸ï¼åéæ ç±»åï¼åªæå¯¹è±¡ææç±»åï¼è¿å¥è¯åºè¯¥è¯´æï¼`x`ã`y`并没æä¸¥æ ¼è§å®å
¶æå¼ç¨ç对象类åãè¿æ¯Pythonè·æäºè¯è¨æ¯å¦javaå¾å¤§çåºå«ï¼å¨æäºè¯è¨ä¸ï¼éè¦å¨å®ä¹å½æ°çæ¶ååè¯å½æ°åæ°çæ°æ®ç±»åãPythonä¸ç¨é£æ ·åã
为ä»ä¹ï¼åä½ä¸è¦å¿è®°äºï¼è¿éçæè°åæ°ï¼è·åé¢è¯´çåéï¼æ¬è´¨ä¸æ¯ä¸åäºãåªæå½ç¨å°è¯¥åéçæ¶åï¼æå»ºç«åéä¸å¯¹è±¡ç**å¼ç¨å
³ç³»**ï¼å¦åï¼å
³ç³»ä¸å»ºç«ãè对象ææç±»åãé£ä¹ï¼å¨`add(x,y)`彿°ä¸ï¼`x`,`y`å¨å¼ç¨å¯¹è±¡ä¹åï¼æ¯å®å
¨é£å¿½çï¼æ²¡æè¢«è´´å¨ä»»ä½ä¸ä¸ªå¯¹è±¡ä¸ï¼æ¢å¥è¯è¯´å®ä»¬æå¯è½å¼ç¨ä»»ä½å¯¹è±¡ï¼åªè¦åé¢çè¿ç®è®¸å¯ï¼å¦æåé¢çè¿ç®ä¸è®¸å¯ï¼å伿¥éã
>>> add("qiw","sir") #è¿éï¼x="qiw",y="sir"ï¼è®©å½æ°è®¡ç®x+y,ä¹å°±æ¯"qiw"+"sir"
'qiwsir'
>>> add("qiwsir",4)
Traceback (most recent call last):
File "", line 1, in
File "", line 2, in add
TypeError: cannot concatenate 'str' and 'int' objects #ä»ç»é
读æ¥éä¿¡æ¯ï¼å°±æç½é误ä¹å¤äº
ä»å®éªç»æä¸åç°ï¼`x+y`çæä¹å®å
¨åå³äºå¯¹è±¡çç±»åãå¨Pythonä¸ï¼å°è¿ç§ä¾èµå
³ç³»ï¼ç§°ä¹ä¸º**夿**ã对äºPythonä¸ç夿é®é¢ï¼ä»¥åè¿ä¼éå°ï¼è¿éä»
ä»
以æ¤ä¾åæ¾ç¤ºä¸çªã请çå®è¦çå¿æ³¨æçï¼**Pythonä¸ä¸ºå¯¹è±¡ç¼åæ¥å£ï¼è䏿¯ä¸ºæ°æ®ç±»åã**读è
å
çå¿ä¸ä¸è¿å¥è¯ï¼æè
è®°ä½å®ï¼éçå¦ä¹ çæ·±å
¥ï¼ä¼é¢æå°å
¶çè°çã
æ¤å¤ï¼ä¹å¯ä»¥å°å½æ°éè¿èµå¼è¯å¥ï¼ä¸æä¸ªåé建ç«å¼ç¨å
³ç³»ï¼
>>> result = add(3, 4)
>>> result
7
å¨è¿éï¼å
¶å®è§£éäºå½æ°çä¸ä¸ªç§å¯ã`add(x, y)`å¨è¢«è¿è¡ä¹åï¼è®¡ç®æºå
æ¯ä¸åå¨çï¼ç´å°ä»£ç è¿è¡å°è¿éçæ¶åï¼å¨è®¡ç®æºä¸ï¼å°±å»ºç«èµ·æ¥äºä¸ä¸ªå¯¹è±¡ï¼è¿å°±å¦åå颿å¦ä¹ è¿çå符串ãå表çç±»åçå¯¹è±¡ä¸æ ·ï¼è¿è¡`add(x,y)`ä¹åï¼ä¹å»ºç«äºä¸ä¸ª`add(x,y)`ç对象ï¼è¿ä¸ªå¯¹è±¡ä¸åé`result`å¯ä»¥å»ºç«å¼ç¨å
³ç³»ï¼å¹¶ä¸`add(x,y)`å°è¿ç®ç»æè¿åãäºæ¯ï¼éè¿`result`å°±å¯ä»¥æ¥çè¿ç®ç»æã
>>> add
å¦æä½¿ç¨`add(x, y)`çæ ·å¼ï¼æ¯è°ç¨é£ä¸ªå½æ°ã使¯å¦æåªå彿°çååï¼ä¸ååæ°å表ï¼å°±å¦åä¸é¢é£æ ·ï¼æä»¬å¾å°çæ¯è¯¥å½æ°å¨å
åæ±æ»çåå¨ä¿¡æ¯ãä½ è¿å¯ä»¥è¿æ ·åï¼
>>> type(add)
#Python 2ä¸çåé¦ä¿¡æ¯ç¥æå·®å¼
è¿è¯´æ`add`æ¯ä¸ä¸ªå¯¹è±¡ï¼å ä¸ºåªæå¯¹è±¡ææç±»åï¼å¹¶ä¸å®æ¯ä¸ä¸ª`function`ç±»ãæç
§æä»¬çç»éªï¼å¯¹è±¡é½å¯ä»¥ä¸ä¸ä¸ªåé建ç«å¼ç¨å
³ç³»ï¼ä»èéè¿é£ä¸ªåé访é®å¯¹è±¡ã
>>> r = add
>>> r
>>> r(3, 4)
7
>>> add(3, 4)
7
>>> type(r)
éè¿èµå¼è¯å¥ï¼åé`r`å彿°å¯¹è±¡å»ºç«äºå¼ç¨å
³ç³»ä¹åï¼å°±å¯ä»¥åææ`add(x, y)`è½åçäºæ
ï¼å 为`r`å°±æ¯é£ä¸ªå½æ°ç代表ã
åå¼å§æ¥è§¦å½æ°ï¼å¯è½æç¹ååãå
æ¾æ¾ä¸ä¸ï¼ççâå䏿£è¨ä¸é¡ºâçPythonçã
##å
³äºå½å
å°ç°å¨ä¸ºæ¢ï¼æä»¬å·²ç»æ¥è§¦è¿åéçå½åã彿°çå½åé®é¢ãä¼¼ä¹å·²ç»å°äºå°å½åé®é¢è¿è¡æ»ç»çæ¶åäºã
卿å½ï¼åæ¥éè§âåâï¼æè°âå䏿£è¨ä¸é¡ºâï¼åååæè
ç»ä»ä¹ä¸è¥¿å½åï¼å¸¸å¸¸æ¯å¤©å¤§çäºæ
ï¼å¨å¾å¤æ¶åå°±æ¯ä¸ºäºé£ä¸ªâåâè¿è¡äºæã
æ±æ¹ä¸è¿æç大å¸ï¼ä¼éè¿æä¸ªäººçå忥颿µä»/她çåå¶ç¥¸ç¦çãçæ¥ååè¿ç©æå¤ªéè¦äºãâå䏿£ï¼è¨ä¸é¡ºâï¼æªè§£ï¼åå䏿£è§åï¼å°±ä¸é¡ºãè¿æ¯æªè§£ï¼å¸æä¸è¦å½±å读è
æ£ç¡®çè§£ãä¸ç¥é大å¸ä»¬æ¯ä¸æ¯è½å¤éè¿å¤å½äººåå颿µå¤å½äººçåå¶ç¥¸ç¦å¢ï¼æ¯å¦Aoi solaï¼è¿ä¸ªäººæä¹æ ·ï¼ä¸ç®¡ææ ·ï¼æå½äººæ¯å¾å¨æååçï¼æè¾¹æä¸ªå½å®¶ä¼¼ä¹å°±ä¸å¨ä¹ï¼æ¯å¦å±±æ¬äºåå
ï¼å¨ååä¸é´åºç°æ°åï¼å°±å¥½åæä»¬çå¼ ä¸æåçäºéº»å飿 ·é便ï¼ä¸è¿ï¼æä¸ç§è¯´æ³ï¼âå±±æ¬äºåå
âçæææ¯è¿ä¸ªäººåºçæ¶ï¼ä»ç¶äº²56å²ï¼çæ¥è·å¼ ä¸è¿ä¸ä¸æ ·çã
Pythonä¹å¾å¨ä¹ååé®é¢ï¼å
¶å®ï¼ææé«çº§è¯è¨å¯¹ååé½æè¦æ±ã为ä»ä¹å¢ï¼å ä¸ºå¦æå½åä¹±äºï¼è®¡ç®æºå°±æç¹ä¸ç¥ææªäºãçPython对å½åçä¸è¬è¦æ±ã
- æä»¶å:å
¨å°å,å¯ä½¿ç¨ä¸å线
- 彿°å:å°åï¼å¯ä»¥ç¨ä¸åçº¿é£æ ¼åè¯ä»¥å¢å å¯è¯»æ§ãå¦ï¼myfunctionï¼my_example_functionã*注æ*ï¼æ··å大å°åä»
被å
许ç¨äºè¿ç§é£æ ¼å·²ç»å æ®ä¼å¿çæ¶åï¼ä»¥ä¾¿ä¿æååå
¼å®¹ãæç人ï¼å欢ç¨è¿æ ·çå½å飿 ¼ï¼myFunctionï¼é¤äºç¬¬ä¸ä¸ªåè¯é¦åæ¯å¤ï¼åé¢çåè¯é¦åæ¯å¤§åãè¿ä¹æ¯å¯ä»¥çï¼å ä¸ºå¨æäºè¯è¨ä¸å°±ä¹ æ¯å¦æ¤ã使䏿å¡ï¼è¿æ¯æé叏鲿çè§ç¹ã
- 彿°çåæ°ï¼å½åæ¹å¼ååéï¼æ¬è´¨ä¸å°±æ¯åéï¼ã妿ä¸ä¸ªåæ°åç§°åPythonä¿ççå
³é®åå²çªï¼é常使ç¨ä¸ä¸ªåç¼ä¸å线ä¼å¥½äºä½¿ç¨ç¼©åæå¥æªçæ¼åã
- åé:åéåå
¨é¨å°åï¼ç±ä¸åçº¿è¿æ¥å个åè¯ãå¦color = WHITEï¼this_is_a_variable = 1ã
å
¶å®ï¼å
³äºå½åçé®é¢ï¼è¿æä¸å°äºè®ºå¢ï¼æå
¸åçæ¯æè°åçå©å½åæ³ã驼峰å½åçãå¦æä½ åæ¬¢ï¼å¯ä»¥googleä¸ä¸ã以ä¸å
容ä¾åèï¼
- [åçå©å½åæ³](http://zh.wikipedia.org/zh/%E5%8C%88%E7%89%99%E5%88%A9%E5%91%BD%E5%90%8D%E6%B3%95)
- [驼峰å¼å¤§å°å](http://zh.wikipedia.org/wiki/%E9%A7%9D%E5%B3%B0%E5%BC%8F%E5%A4%A7%E5%B0%8F%E5%AF%AB)
- [叿¯å¡å½åæ³](http://zh.wikipedia.org/w/index.php?title=%E5%B8%95%E6%96%AF%E5%8D%A1%E5%91%BD%E5%90%8D%E6%B3%95&variant=zh-cn)
- [pythonå½åç宿¹è¦æ±](http://legacy.python.org/dev/peps/pep-0008/#prescriptive-naming-conventions)ï¼å¦æçå®çè±æå¯ä»¥ï¼ä¸å®è¦é
读ãå¦æè±æç¨éï¼å¯ä»¥æ¥é
读[䏿](http://wiki.jiayun.org/PEP_8_--_Style_Guide_for_Python_Code#.E5.91.BD.E5.90.8D.E6.85.A3.E4.BE.8B),ä¸ç¨æ¢¯åè½è¡åï¼çä½ å½äºã
##è°ç¨å½æ°
åé¢çä¾åä¸å·²ç»æäºä¸äºå
³äºè°ç¨çé®é¢ï¼ä¸ºäºæ·±å
¥çè§£ï¼æè¿ä¸ªé®é¢åç¬æ¿åºæ¥ççã
为ä»ä¹è¦å彿°ï¼ä»ç论ä¸è¯´ï¼ä¸ç¨å½æ°ï¼ä¹è½å¤ç¼ç¨ï¼æä»¬å¨åé¢å·²ç»åäºç¨åºï¼å°±æ²¡æå彿°ï¼å½ç¶ï¼ç¨Pythonçå
å»ºå½æ°å§ä¸ä¸ç®äºãç°å¨ä¹æä»¥ä½¿ç¨å½æ°ï¼ä¸»è¦æ¯ï¼
1. éä½ç¼ç¨çé¾åº¦ï¼é常å°ä¸ä¸ªå¤æç大é®é¢åè§£æä¸ç³»åæ´ç®åçå°é®é¢ï¼ç¶åå°å°é®é¢ç»§ç»ååææ´å°çé®é¢ï¼å½é®é¢ç»å为足å¤ç®åæ¶ï¼å°±å¯ä»¥åèæ²»ä¹ã为äºå®ç°è¿ç§åèæ²»ä¹ç设æ³ï¼å°±è¦éè¿ç¼å彿°ï¼å°å个å°é®é¢é个å»ç ´ï¼åéåèµ·æ¥ï¼è§£å³å¤§çé®é¢ãï¼è¯·æ³¨æï¼åèæ²»ä¹çææ³æ¯ç¼ç¨çä¸ä¸ªéè¦ææ³ï¼æè°âåæ²»âæ¹æ³ä¹ãï¼
2. 代ç é(chongï¼äºå£°é³)ç¨ãå¨ç¼ç¨çè¿ç¨ä¸ï¼æ¯è¾å¿è®³åæ ·ä¸æ®µä»£ç 䏿çéå¤ï¼æä»¥ï¼å¯ä»¥å®ä¹ä¸ä¸ªå½æ°ï¼å¨ç¨åºçå¤ä¸ªä½ç½®ä½¿ç¨ï¼ä¹å¯ä»¥ç¨äºå¤ä¸ªç¨åºãå½ç¶ï¼å颿们è¿ä¼è®²å°â模åâï¼æ¤å乿¶åå°äºï¼å°±æ¯`import`导å
¥çé£ä¸ªä¸è¥¿ï¼ï¼è¿å¯ä»¥æå½æ°æ¾å°ä¸ä¸ªæ¨¡åä¸ä¾å
¶ä»ç¨åºå使ç¨ãä¹å¯ä»¥ä½¿ç¨å
¶ä»ç¨åºåå®ä¹ç彿°ï¼æ¯å¦`import ...`,åé¢å·²ç»ç¨å°äºï¼å°±æ¯åºç¨äºå«äººââåé pythonç人ââå好ç彿°ï¼ãè¿å°±é¿å
äºéå¤å³å¨ï¼æä¾äºå·¥ä½æçã
è¿æ ·çæ¥ï¼å½æ°è¿æ¯å¾å¿
è¦çäºã
åºè¯å°è¯´ï¼é£å°±ç彿°æä¹è°ç¨å§ã以`add(x,y)`为ä¾ï¼åé¢å·²ç»æ¼ç¤ºäºåºæ¬è°ç¨æ¹å¼ï¼æ¤å¤ï¼è¿å¯ä»¥è¿æ ·ï¼
Python2:
>>> def add(x,y): #为äºè½å¤æ´æäºæ¾ç¤ºåæ°èµå¼ç¹ç¹ï¼é忤彿°
... print "x=",x #å嫿å°åæ°èµå¼ç»æ
... print "y=",y
... return x+y
...
Python 3:
>>> def add(x, y):
print("x={}".format(x))
print("y={}".format(y))
return x+y
>>> add(10, 3) #x=10,y=3
x= 10
y= 3
13
>>> add(3, 10) #x=3,y=10
x= 3
y= 10
13
æè°è°ç¨ï¼æå
³é®æ¯è¦å¼æ¸
æ¥å¦ä½ç»å½æ°çåæ°èµå¼ãè¿éå°±æ¯æç
§åæ°æ¬¡åºèµå¼ï¼æ ¹æ®åæ°çä½ç½®ï¼å¼ä¸ä¹å¯¹åºã
>>> add(x=10, y=3)
x= 10
y= 3
13
è¿å¯ä»¥ç´æ¥æèµå¼è¯å¥åå°éé¢ï¼å°±æç¡®äºåæ°å对象çå
³ç³»ãå½ç¶ï¼è¿æ¶å顺åºå°±ä¸éè¦äºï¼ä¹å¯ä»¥è¿æ ·
>>> add(y=10, x=3)
x= 3
y= 10
13
å¨å®ä¹å½æ°çæ¶åï¼åæ°å¯ä»¥ååé¢é£æ ·ï¼çå¾
被èµå¼ï¼ä¹å¯ä»¥å®ä¹çæ¶åå°±èµç»ä¸ä¸ªé»è®¤å¼ãä¾å¦ï¼
>>> def times(x, y=2): #yçé»è®¤å¼ä¸º2
... print "x=",x #Python 3: print("x={}".format(x))ï¼ä»¥ä¸ç±»ä¼¼ï¼ä»ç¥ã
... print "y=",y
... return x*y
...
>>> times(3) #x=3,y=2
x= 3
y= 2
6
>>> times(x=3) #åä¸
x= 3
y= 2
6
妿ä¸ç»é£ä¸ªæé»è®¤å¼çåæ°ä¼ éå¼ï¼èµå¼çå¦å¤ä¸ç§è¯´æ³ï¼ï¼é£ä¹å®å°±æ¯ç¨é»è®¤çå¼ã妿ç»å®ä¼ ä¸ä¸ªï¼å®å°±éç¨æ°èµç»å®çå¼ãå¦ä¸ï¼
>>> times(3, 4) #x=3,y=4,yçå¼ä¸åæ¯2
x= 3
y= 4
12
>>> times("qiwsir") #忬¡ä½ç°äºå¤æç¹ç¹
x= qiwsir
y= 2
'qiwsirqiwsir'
请读è
å¨é²æä¹ä½ç¨Python宿ï¼å两个æ°çå ãåãä¹ãé¤ç彿°ï¼ç¶åç¨è¿äºå½æ°ï¼å®æç®åç计ç®ã
å¨ç¨åºä¸è°ç¨å½æ°ï¼è¿éè¦æ³¨æä¸ä¸ªè²ä¼¼åºè¯çäºé¡¹ï¼é£å°±æ¯âå
å®ä¹ï¼å使ç¨âã说æ¯åºè¯ï¼æ¯å 为å¨çè§£ä¸ä¼¼ä¹å½ç¶è¿æ ·ï¼ä½æ¯ï¼å¨å®è·µä¸ï¼å¸¸ä¼éå°æ¤ç±»é误ã
>>> def foo():
print('Hello, Teacher Cang!') #Python 2ç使ç¨è
请èªå¨è°æ´ä¸ºprintè¯å¥
bar()
è¿éå®ä¹äºä¸ä¸ªå½æ°`foo()`ï¼å¨è¿ä¸ªå½æ°éé¢è¿è°ç¨äºä¸ä¸ªå½æ°`bar()`ï¼ä½æ¯è¿ä¸ª`bar()`彿°ï¼æ¤å并没æå¨ä»ä¹å°æ¹å®ä¹ãæä»¥ï¼å¦æè°ç¨`foo()`彿°ï¼å°±ä¼è¿æ ·ï¼
>>> foo()
Hello, Teacher Cang!
Traceback (most recent call last):
File "", line 1, in
foo()
File "", line 3, in foo
bar()
NameError: name 'bar' is not defined
`NameError:`æ¯ä¸ç§é误信æ¯ãé误ä¸å¯æï¼å¯æçæ¯ä¸è®¤ççæç¤ºä¿¡æ¯ï¼åªè¦èå¿å°è®¤çå°é
读æç¤ºä¿¡æ¯ï¼å°±è½æå¾é误åå ãæç¤ºä¿¡æ¯ä¸åæåè¯æä»¬ï¼é£ä¸ª`bar`没æå®ä¹ã
æä»¥è¦å¿
é¡»å
å®ä¹ï¼å使ç¨ã
>>> def bar(): pass
è¿å°±å®ä¹äº`bar()`ï¼è½ç¶é常ç®çï¼å½æ°ä½å
ç代ç å°±ä¸ä¸ª`pass`ï¼æææ¯éé¢ä»ä¹ä¹ä¸åï¼ç»ç»å°passãç¶åè°ç¨`foo()`
>>> foo()
Hello, Teacher Cang!
ä¸åæ¥éäºã
è½ç¶å°`bar()`å®ä¹å¨äº`foo()`çåé¢ï¼åªè¦å®ä¹äºï¼æ 论å
åï¼å°±å¯ä»¥ä½¿ç¨ã
##注æäºé¡¹
ä¸é¢çè¥å¹²æ¡ï¼æ¯å¸¸è§ç¼å代ç çæ³¨æäºé¡¹ï¼
1. å«å¿äºåå·ãä¸å®è¦è®°ä½å¤åè¯å¥é¦è¡æ«å°¾è¾å
¥âï¼âï¼if,while,forçç第ä¸è¡ï¼
2. ä»ç¬¬ä¸è¡å¼å§ãè¦ç¡®å®é¡¶å±ï¼æ åµå¥ï¼ç¨åºä»£ç ä»ç¬¬ä¸è¡å¼å§ã
3. 空ç½è¡å¨äº¤äºæ¨¡å¼æç¤ºç¬¦ä¸å¾éè¦ã模åæä»¶ä¸ç¬¦åè¯å¥å
ç空ç½è¡å¸¸è¢«å¿½è§ã使¯ï¼å½ä½ å¨äº¤äºæ¨¡å¼æç¤ºç¬¦ä¸è¾å
¥ä»£ç æ¶ï¼ç©ºç½è¡åæ¯ä¼ç»æè¯å¥ã
4. 缩è¿è¦ä¸è´ãé¿å
å¨å缩è¿ä¸æ··åå¶è¡¨ç¬¦åç©ºæ ¼ã
5. 使ç¨ç®æ´çfor循ç¯ï¼è䏿¯while or range.ç¸æ¯ï¼forå¾ªç¯æ´æåï¼è¿è¡èµ·æ¥ä¹æ´å¿«
6. è¦æ³¨æèµå¼è¯å¥ä¸çå¯å对象ã
7. ä¸è¦æå¾
å¨åå¤ä¿®æ¹ç彿°ä¼è¿åç»æ,æ¯å¦list.append()ï¼è¿å¨å¯ä¿®æ¹ç对象ä¸ç¹å«æ³¨æ
8. è°ç¨å½æ°æ¯ï¼å½æ°ååé¢ä¸å®è¦è·éçæ¬å·ï¼ææ¶åæ¬å·éé¢å°±æ¯ç©ºç©ºçï¼ææ¶åé颿¾åæ°ã
9. ä¸è¦å¨å¯¼å
¥åéè½½ä¸ä½¿ç¨æ©å±åæè·¯å¾ã
以ä¸åç¹å¦ææä¸çè§£çï¼ä¹ä¸è¦ç´§ï¼å¨ä»¥åç¼ç¨ä¸ï¼æ¶ä¸æ¶å°åæ¥å¤ä¹ ä¸ä¸ï¼è½ä¸æé¢æå
¶å
æ¶µã
------
[æ»ç®å½](./index.md) | [ä¸èï¼èªç](./130.md) | [ä¸èï¼å½æ°(2)](./202.md)
å¦æä½ è®¤ä¸ºæå¿
è¦æèµæï¼è¯·éè¿æ¯ä»å®ï¼**[email protected]**,微信å·ï¼**qiwsir**ï¼ä¸èææ¿ã