python 復(fù)習(xí)符號(hào)

2021-09-15 14:56 更新

練習(xí)37.復(fù)習(xí)符號(hào)

現(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ò)這樣的方式加深自己的記憶。

關(guān)鍵字

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()

數(shù)據(jù)類型

針對(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}

字符串轉(zhuǎn)義序列

對(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ō)的做一些筆記:

  1. 找出所有的函數(shù),以及它們的功能。
  2. 每一個(gè)變量在哪里被賦予初始值。
  3. 代碼的不同地方有沒有相同名字的變量,這可能會(huì)帶來(lái)隱患。
  4. 有沒有if語(yǔ)句沒有else代碼塊的,這么寫對(duì)嗎?
  5. 有沒有無(wú)終止的while循環(huán)
  6. 標(biāo)記出不管任何原因,你看不懂的代碼部分。

第三步,當(dāng)你做完上面內(nèi)容之后,嘗試給自己解釋一下自己寫的注釋。說(shuō)明這些函數(shù)是如何應(yīng)用的,包含哪些變量,以及你想弄明白的其他事情。

最后,在所有難以理解的部分,逐行、逐個(gè)函數(shù)的跟蹤每個(gè)變量的值。你也可以在準(zhǔn)備一份打印的代碼,在空白處寫下你要跟蹤的每個(gè)變量的值。

當(dāng)你弄明白這段代碼是做什么的之后,回到電腦上再讀一遍代碼,看看能不能找到一些新的東西。多找一些代碼練習(xí),直到你能不需要打印代碼就能弄懂它們的功能為止。

附加題

  1. 弄明白“流程圖”是什么,試著畫幾個(gè)出來(lái)
  2. 讀代碼的過(guò)程,如果發(fā)現(xiàn)了什么錯(cuò)誤,嘗試著改正它,并將你修改后的結(jié)果發(fā)給代碼的作者。
  3. 另一個(gè)技巧是用#給你正在讀的代碼加注釋,有時(shí)候,你的這些注釋會(huì)幫到后面來(lái)讀代碼的人哦。

常見問(wèn)題

Q: %d%i有什么區(qū)別?

沒有區(qū)別,只不過(guò)由于歷史原因,人們更喜歡用%d。

Q: 我們?cè)趺丛诰W(wǎng)上搜索這些符號(hào)和關(guān)鍵字?

只要把“python”放在你要搜索的內(nèi)容之前就可以了,比如,你想搜索yield,那么就輸入python yield

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)