Python學習筆記(3)
Python學習筆記(3)
1)Statements and Syntax
Hash mark (#)表示Python註釋
NEWLINE(/n)是標準行操作符
Backslash(/)表示一行繼續
Semicolon(;)在同一行連線兩個語句
Colon(:)從suite中分隔首行
Suites通過縮排進行限制
Python檔案以模組進行組織
2)Variable Assignment
等號(=)是賦值操作符
>>> anInt = -12
>>> String = `cart`
>>> aFloat = -3.1415*(5.0**2)
>>> anotherString = `shop`+`ping`
>>> aList = [3.14e10, `2nd elmt of a list`, 8.82-4.371j]
多個賦值
>>> x,y,z = 1,2,`a string`
>>> x
1
>>> y
2
>>> z
`a string`
例子:
交換x和y的值
>>> (x,y) = (5,6)
>>> x
5
>>> y
6
>>> (x,y) = (y,x)
>>> x
6
>>> y
5
3)Identifiers
有效的Python識別符號:
– 第一個字元必須是字母或下劃線
– 其後的字元可以是字母、數字或下劃線
– 大小寫敏感
關鍵字:目前有28個關鍵字
and elif global or assert else if pass
break except import print class exec in raise
continue finally is return def for lambda try
del from not while
Built-ins
Python內建的都應該做關鍵字處理,作為系統保留對待。
Python不支援識別符號過載。
特殊的下劃線識別符號
Python指定了特殊的帶下劃線字首或字尾的變數。
_xxx 不用‘ from module import * ’ 匯入
_xxx__ 系統定義的名字
__xxx 請求私有名
4)Document
Python提供了一個機制,文件字串能通過__doc__特殊變數動態取回。在模組、類宣告、或函式宣告的第一個未賦值字串能通過使用obj.__doc__訪問,obj代表模組、類或函式名。
Indentation
縮排在Python中扮演了一個重要角色。縮排4個字元最佳,縮排代表某個塊。
Module Structure and Layout
模組有簡單的物理方式和邏輯組織。在每個檔案內,應該建立一致的、易讀的結構。最好是按如下進行佈局:
-startup line 開始行
-module documentation 模組說明文件
-module import 模組匯入部分
-variable declarations 變數宣告
-class declarations 類宣告
-function declarations 函式宣告
-”main” body 模組主體部分
例子:
# /usr/bin/env python
“this is a test module”
import sys
import string
debug = 1
class FooClass:
“Foo Class”
pass
def test():
“test function”
foo = FooClass
if debug:
print `ran test()`
if __name__ == `__main__`:
test()
在主體部分建立測試
良好的程式設計習慣是為整個應用程式提供一套測試集。
5)Memory Management
記憶體管理
-變數並不提前宣告
-變數型別不需宣告
-在程式設計師部分無記憶體管理
-變數名可回收再用
-del語句允許清晰地重新分配
一旦某資料物件不再需要時,Python的垃圾回收器會自動釋放該資料物件。此行為無需程式設計人員操心。
Python通過跟蹤物件的引用數量,來決定物件是否需要。這稱為“引用計算”。
del語句
del語句移除一物件的單個引用,其語法如下:
del obj1[, obj2 [,…objN…]]
例如:
# 初始化string物件,設定引用數為1
foo1 = `foobar`
# 通過賦值給另一變數,增加引用數
foo2 = foo1 # 建立一個別名
# 通過函式呼叫再次增加引用數
check_val(foo1)
# 從名稱空間移除foo2;`foobar`物件的引用數減少
del foo2
# 移除`foobar`物件的最後一個引用,減少其引用數為0,最終導致物件變成不可訪問的。
del foo1
6)第一個Python程式
#!/usr/bin/env python
“fgrepwc.py — searches for string in text file”
import sys
import string
# print usage and exit
def usage():
print “usage: fgrepwc [-i] string file”
sys.exit(1)
# does all the work
def filefind(word, filename):
#reset word count
count = 0
# can we open file? if so, return file handle
try:
fh = open(filename, `r`)
# if not, exit
except:
print filename, “:”, sys.exc_info()[1]
usage()
# read all file lines into list and close
allLines = fh.readlines()
fh.close()
# iterate over all lines of file
for eachLine in allLines:
# search each line for the word
if string.find(eachLine, word)>-1:
count = count+1;
print eachLine,
# when complete, display line count
print count
#validates arguments and calls filefind()
def checkargs():
# check args; `argv` comes from `sys` module
argc = len(sys.argv)
if argc != 3:
usage()
# call fgrepwc.filefind() with args
filefind(sys.argv[1], sys.argv[2])
#execute as application
if __name__ == `__main__`:
checkargs()
相關文章
- Python 3 學習筆記之——物件導向Python筆記物件
- Python3學習筆記3,變數、運算子Python筆記變數
- Vue學習筆記3Vue筆記
- Thymeleaf 3學習筆記筆記
- CCNA學習筆記3筆記
- mysql學習筆記3MySql筆記
- Vue 3 學習筆記Vue筆記
- 【學習筆記】python筆記Python
- Python學習筆記Python筆記
- Python學習筆記(隨筆)Python筆記
- Python3學習筆記-字串和編碼Python筆記字串
- Python 3 學習筆記之——基礎語法Python筆記
- Python 3 學習筆記之——資料型別Python筆記資料型別
- Python學習筆記:第3天 字串的操作Python筆記字串
- Python 3 學習筆記之類與例項Python筆記
- Python3學習筆記4 , 迴圈、模組Python筆記
- 強化學習-學習筆記3 | 策略學習強化學習筆記
- swift學習筆記《3》-技巧Swift筆記
- tensorflow學習筆記3筆記
- docker學習筆記(3)- 映象Docker筆記
- Android學習筆記(3)Android筆記
- PL/SQL學習筆記-3SQL筆記
- ruby 字串學習筆記3字串筆記
- Vue3 學習筆記Vue筆記
- python學習筆記4Python筆記
- python學習筆記(二)Python筆記
- Python學習筆記 - aiohttpPython筆記AIHTTP
- Python 學習筆記(一)Python筆記
- Python學習筆記 - asyncioPython筆記
- Python學習筆記 - queuePython筆記
- Python學習筆記(2)Python筆記
- python學習筆記(1Python筆記
- Python學習筆記(三)Python筆記
- python——numpy學習筆記Python筆記
- Effective Python學習筆記Python筆記
- Python學習筆記(一)Python筆記
- python學習筆記——列表Python筆記
- Python 3 學習筆記之——錯誤和異常Python筆記