python學習筆記(2)
1)error and exceptions
錯誤和異常
語法錯誤是在編譯時檢查,但python允許在程式執行期間檢查錯誤。當檢查出錯誤,python直譯器丟擲、產生、觸發乙個異常。
要增加錯誤檢測或異常處理到**,使用try-except語句。
語法如下:
try:
try_running_this_suite
except
suite_if_someerror_occurs
2)functions
phthon的函式與其它程式語言相似,函式使用()操作符進行呼叫,函式在使用前宣告,函式型別是其返回值型別。
函式的引數通過引用進行呼叫。
宣告函式:
def function_name([arguments]):
"optional documentation string"
function_suite
例子:>>> def addme2me(x):
return (x+x)
>>> addme2me(4.25)
8.5>>> addme2me(10)
20>>> addme2me('python ')
'python python '
>>> addme2me([-1, 'abc'])
[-1, 'abc', -1, 'abc']
>>>
預設引數的例子:
>>> def foo(debug=1):
'determine if in debug mode with default argument'
if debug:
print 'in debug mode'
print 'done'
>>> foo()
in debug mode
done
>>> foo(0)
done
3)classes
類僅僅是保護靜態資料成員或函式宣告的容器,其靜態資料成員或函式宣告則稱為類屬性。
類提供了建立實際物件的blueprints,建立的實際物件稱為類的例項。函式在類中稱為方法。
宣告類:
class class_name[(base_classes_if_any)]:
"optional documentation string"
static_member_declarations
method_declarations
類宣告使用class關鍵字。如宣告子類,那麼其超類或基類應該在圓括號中給出。
>>> class fooclass:
'my very first class: fooclass'
version = 0.1 # class (data) attribute
def __init__(self, nm='john doe'):
'constructor'
self.name = nm # class instance (data) attribute
print 'created a class instance for', nm
def showname(self):
'display instance attribute and class name'
print 'your name is', self.name
print 'my name is', self.__class__ # full class name
def showver(self):
'display class(static) attribute'
print self.version # references fooclass.version
def addme2me(self, x): # does not use 'self'
return (x+x)
>>> foo1 = fooclass()
created a class instance for john doe
>>> foo1.showver()
0.1>>> print foo1.addme2me(5)
10>>> print foo1.addme2me('xyz')
xyzxyz
>>> foo1.showname()
your name is john doe
my name is __main__.fooclass
>>> foo2 = fooclass('jane smith')
created a class instance for jane smith
>>> foo2.showname()
your name is jane smith
my name is __main__.fooclass
注意:當建立乙個類例項時,其__init__()方法被自動呼叫。
4)modules
模組是乙個組織多個python**檔案的邏輯方法。模組可包含可執行的**、函式、類或以上所有型別。
模組名即為檔名,但不包括副檔名。當建立了乙個模組後,使用import語句匯入模組。
import module_name
呼叫模組函式:module.function()
訪問模組變數:module.variable
例子:>>> import sys
>>> sys.stdout.write('hello world!/n')
hello world!
>>> import sys
>>> import string
>>> sys.platform
'win32'
>>> sys.version
'2.5.1 (r251:54863, apr 18 2007, 08:51:08) [msc v.1310 32 bit (intel)]'
>>> up2space = string.find(sys.version, ' ')
>>> ver = sys.version[:up2space]
>>> ver
'2.5.1'
>>> print 'i am running python %s on %s' % (ver, sys.platform)
i am running python 2.5.1 on win32
例3:>>> verchunks = string.split(sys.version)
>>> verchunks
['2.5.1', '(r251:54863,', 'apr', '18', '2007,', '08:51:08)', '[msc', 'v.1310', '32', 'bit', '(intel)]']
>>> print 'i am running python %s on %s' % /
(verchunks[0], sys.platform)
i am running python 2.5.1 on win32
Python學習筆記 2
python學習筆記 2 1 error and exceptions 錯誤和異常 語法錯誤是在編譯時檢查,但python允許在程式執行期間檢查錯誤。當檢查出錯誤,python直譯器丟擲 產生 觸發乙個異常。要增加錯誤檢測或異常處理到 使用try except語句。語法如下 try try runn...
python學習筆記 2
八 type函式的作用是顯示值和變數的型別,id以值或變數為引數,返回值是一整數.type world type str id 123 11602164 九 python函式的定義形式 def arg1,arg2,argn 函式的名字也必須以字母開頭,可以包括下劃線 但不能把python的 關鍵字定...
Python學習筆記 2
已經學習python兩天了,總結一下學習成果。初學python,如果有寫錯的地方,還望各位大牛指出。先列一列作品 python socket 客戶端測試程式 easygui 猜數遊戲 看雪登入器 涉及到的知識點 物件導向 socket庫 httplib2庫 easygui 小知識點 通過這種方式匯入...