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
八 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 小知識點 通過這種方式匯入...
Python學習筆記2
關於資料型別,之前已經介紹了字串,整數和浮點數,在使用這些資料型別的時候要注意邏輯錯誤的產生。例如 car input lamborghini tune ups gifts input gifts total car gifts print total total 我們想得到的結果應該是4000,但...