W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
現(xiàn)在該復(fù)習(xí)你學(xué)過(guò)的符號(hào)和python關(guān)鍵字了,而且你在本節(jié)還會(huì)學(xué)到一些新的東西。我在這里所作的是將所有的Python符號(hào)和關(guān)鍵字列出來(lái),這些都是值得掌握的重點(diǎn)。
在這節(jié)課中,你需要復(fù)習(xí)每一個(gè)關(guān)鍵字,回想它的作用并且寫下來(lái),接著上網(wǎng)搜索它真正的功能。有些內(nèi)容可能是難以搜索的,所以這對(duì)你可能有些難度,不過(guò)無(wú)論如何,你都要嘗試一下。
如果你發(fā)現(xiàn)記憶中的內(nèi)容有誤,就在索引卡片上寫下正確的定義,試著將自己的記憶糾正過(guò)來(lái)。
最后,將每一種符號(hào)和關(guān)鍵字用在程序里,你可以用一個(gè)小程序來(lái)做,也可以盡量多寫一些程序來(lái)鞏固記憶。這里的關(guān)鍵點(diǎn)是明白各個(gè)符號(hào)的作用,確認(rèn)自己沒搞錯(cuò),如果搞錯(cuò)了就糾正過(guò)來(lái),然后將其用在程序里,并且通過(guò)這樣的方式加深自己的記憶。
KEYWORD | DESCRIPTION | EXAMPLE |
---|---|---|
and |
邏輯與 | True and False == False |
as |
with-as 語(yǔ)句的一部分 |
with X as Y: pass |
assert |
聲明 | assert False, "Error!" |
break |
停止整個(gè)循環(huán) | while True: break |
class |
定義一個(gè)類 | class Person(object) |
continue |
停止這一次循環(huán),但繼續(xù)下一次循環(huán) | while True: continuev |
def |
定義一個(gè)函數(shù) | def X(): pass |
del |
從字典中刪除 | del X[Y] |
elif |
Else if 條件 | if: X; elif: Y; else: J |
else |
Else 條件 | if: X; elif: Y; else: J |
except |
如果捕獲異常,執(zhí)行該代碼塊 | except ValueError, e: print e |
exec |
將字符串作為Python代碼執(zhí)行 | exec 'print "hello"' |
finally |
不管是否有異常,finally代碼塊都執(zhí)行 | finally: pass |
for |
for循環(huán) | for X in Y: pass |
from |
從某一模塊中引入特定部分 | import X from Y |
global |
定義一個(gè)全局變量 | global X |
if |
If 條件 | if: X; elif: Y; else: J |
import |
引入一個(gè)模塊到當(dāng)前模塊 | import os |
in |
for循環(huán)的一部分/ 測(cè)試X in Y . |
for X in Y: pass / 1 in [1] == True |
is |
類似== ,判斷相等 |
1 is 1 == True |
lambda |
創(chuàng)建一個(gè)無(wú)名函數(shù) | s = lambda y: y ** y; s(3) |
not |
邏輯非 | not True == False |
or |
邏輯或 | True or False == True |
pass |
該代碼塊為空 | def empty(): pass |
print |
打印一個(gè)字符串 | print 'this string' |
raise |
代碼出錯(cuò)時(shí),拋出一個(gè)異常 | raise ValueError("No") |
return |
退出函數(shù)并返回一個(gè)返回值 | def X(): return Y |
try |
嘗試代簽代碼塊,有異常則進(jìn)入except代碼塊 | try: pass |
while |
While循環(huán) | while X: pass |
with |
一個(gè)變量的別名 | with X as Y: pass |
yield |
暫停, 返回給調(diào)用者 | def X(): yield Y; X().next() |
針對(duì)每一種數(shù)據(jù)類型,都舉出一些例子來(lái),例如針對(duì)string,你可以舉出一些字符串,針對(duì) number,你可以舉出一些數(shù)字。
TYPE | DESCRIPTION | EXAMPLE |
---|---|---|
True |
True 布爾值. | True or False == True |
False |
False 布爾值. | False and True == False |
None |
表示 "nothing" 或者"no value". | x = None |
strings |
字符串,儲(chǔ)存文本信息 | x = "hello" |
numbers |
儲(chǔ)存整數(shù) | i = 100 |
floats |
儲(chǔ)存小數(shù) | i = 10.389 |
lists |
儲(chǔ)存某種東西的列表 | j = [1,2,3,4] |
dicts |
儲(chǔ)存某些東西的鍵值對(duì) | e = {'x': 1, 'y': 2} |
對(duì)于字符串轉(zhuǎn)義序列,你需要在字符串中應(yīng)用它們,確認(rèn)自己清楚地知道它們的功能。
ESCAPE | DESCRIPTION |
---|---|
\ | 斜線 |
\' | 單引號(hào) |
\" | 雙引號(hào) |
\a | Bell |
\b | 退格 |
\f | Formfeed |
\n | 換行 |
\r | Carriage |
\t | Tab鍵 |
\v | 垂直的tab |
ESCAPE | DESCRIPTION | EXAMPLE |
---|---|---|
%d |
格式化整數(shù) (不包含浮點(diǎn)數(shù)). | "%d" % 45 == '45' |
%i |
與%d相同 | "%i" % 45 == '45' |
%o |
8進(jìn)制數(shù)字 | "%o" % 1000 == '1750' |
%u |
負(fù)數(shù) | "%u" % -1000 == '-1000' |
%x |
小寫的十六進(jìn)制數(shù)字 | "%x" % 1000 == '3e8' |
%X |
大寫的十六進(jìn)制數(shù)字 | "%X" % 1000 == '3E8' |
%e |
小寫 'e'的指數(shù)標(biāo)記 | "%e" % 1000 == '1.000000e+03' |
%E |
大寫 'e'的指數(shù)標(biāo)記 | "%E" % 1000 == '1.000000E+03' |
%f |
浮點(diǎn)數(shù) | "%f" % 10.34 == '10.340000' |
%F |
與%f相同 | "%F" % 10.34 == '10.340000' |
%g |
%f 或者 %e中較短的一個(gè) | "%g" % 10.34 == '10.34' |
%G |
%F 或者 %E中較短的一個(gè) | "%G" % 10.34 == '10.34' |
%c |
字符格式化 | "%c" % 34 == '"' |
%r |
類型格式化 | "%r" % int == "<type 'int'>" |
%s |
字符串格式 | "%s there" % 'hi' == 'hi there' |
%% |
表示百分號(hào)% | "%g%%" % 10.34 == '10.34%' |
有些操作符號(hào)你可能還不熟悉,不過(guò)還是一一看過(guò)去,研究一下它們的功能,如果你研究不出來(lái)也沒關(guān)系,記錄下來(lái)日后解決。
OPERATOR | DESCRIPTION | EXAMPLE |
---|---|---|
+ |
加 | 2 + 4 == 6 |
- |
減 | 2 - 4 == -2 |
* |
乘 | 2 * 4 == 8 |
** |
冪乘 | 2 ** 4 == 16 |
/ |
除 | 2 / 4.0 == 0.5 |
// |
整除,得到除法的商。 | 2 // 4.0 == 0.0 |
% |
模除,返回除法的余數(shù)。 | 2 % 4 == 2 |
< |
小于 | 4 < 4 == False |
> |
大于 | 4 > 4 == False |
<= |
小于等于 | 4 <= 4 == True |
>= |
大于等于 | 4 >= 4 == True |
== |
等于,比較操作對(duì)象是否相等。 | 4 == 5 == False |
!= |
不等于 | 4 != 5 == True |
<> |
不等于 | 4 <> 5 == True |
( ) |
括號(hào) | len('hi') == 2 |
[ ] |
列表括號(hào) | [1,3,4] |
{ } |
字典括號(hào) | {'x': 5, 'y': 10} |
@ |
裝飾符 | @classmethod |
, |
逗號(hào) | range(0, 10) |
: |
冒號(hào) | def X(): |
. |
Dot | self.x = 10 |
= |
賦值等于 | x = 10 |
; |
分號(hào) | print "hi"; print "there" |
+= |
加等于 | x = 1; x += 2 |
-= |
減等于 | x = 1; x -= 2 |
*= |
乘等于 | x = 1; x *= 2 |
/= |
除等于 | x = 1; x /= 2 |
//= |
整除等于 | x = 1; x //= 2 |
%= |
模除等于 | x = 1; x %= 2 |
**= |
冪乘等于 | x = 1; x **= 2 |
花一個(gè)星期學(xué)習(xí)這些東西,如果你能提前完成就更好了。我們的目的是覆蓋到所有的符號(hào) 類型,確認(rèn)你已經(jīng)牢牢記住它們。另外很重要的一點(diǎn)是這樣你可以找出自己還不知道哪些 東西,為自己日后學(xué)習(xí)找到一些方向。
找一些python的代碼讀讀試試。你可以讀任何的python代碼,并且可以借鑒其中的一些思想。你已經(jīng)具備足夠的知識(shí)去閱讀代碼,但是你可能還不能完全明白代碼實(shí)現(xiàn)了什么功能。這節(jié)練習(xí)就是教給你如何用你學(xué)過(guò)的知識(shí)弄明白別人的代碼。
首先,把你找到的代碼打印出來(lái),是的,你需要把它們打印出來(lái),因?yàn)橄啾入娔X屏幕,你的大腦和眼睛更容易看清楚紙上的內(nèi)容。
接下來(lái),通讀你打印的代碼,按照下面說(shuō)的做一些筆記:
- 找出所有的函數(shù),以及它們的功能。
- 每一個(gè)變量在哪里被賦予初始值。
- 代碼的不同地方有沒有相同名字的變量,這可能會(huì)帶來(lái)隱患。
- 有沒有if語(yǔ)句沒有else代碼塊的,這么寫對(duì)嗎?
- 有沒有無(wú)終止的while循環(huán)
- 標(biāo)記出不管任何原因,你看不懂的代碼部分。
第三步,當(dāng)你做完上面內(nèi)容之后,嘗試給自己解釋一下自己寫的注釋。說(shuō)明這些函數(shù)是如何應(yīng)用的,包含哪些變量,以及你想弄明白的其他事情。
最后,在所有難以理解的部分,逐行、逐個(gè)函數(shù)的跟蹤每個(gè)變量的值。你也可以在準(zhǔn)備一份打印的代碼,在空白處寫下你要跟蹤的每個(gè)變量的值。
當(dāng)你弄明白這段代碼是做什么的之后,回到電腦上再讀一遍代碼,看看能不能找到一些新的東西。多找一些代碼練習(xí),直到你能不需要打印代碼就能弄懂它們的功能為止。
- 弄明白“流程圖”是什么,試著畫幾個(gè)出來(lái)
- 讀代碼的過(guò)程,如果發(fā)現(xiàn)了什么錯(cuò)誤,嘗試著改正它,并將你修改后的結(jié)果發(fā)給代碼的作者。
- 另一個(gè)技巧是用
#
給你正在讀的代碼加注釋,有時(shí)候,你的這些注釋會(huì)幫到后面來(lái)讀代碼的人哦。
%d
和%i
有什么區(qū)別?沒有區(qū)別,只不過(guò)由于歷史原因,人們更喜歡用
%d
。
只要把“python”放在你要搜索的內(nèi)容之前就可以了,比如,你想搜索
yield
,那么就輸入python yield
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: