所有測試語句基于Python 2.7.3 , Ubuntu 12.04
自學Python,如果哪里說的不對,還請指正。謝謝。
示例絕大部分來自博客園vamei的python教程
#!/usr/bin/env python#coding=UTF-8#默認python編碼是ASCII編碼 要支持中文#加上coding=UTF-8的聲明#輸出語句print '你好 Python !!'

打印一條語句,用單引號雙引號都可以,但不能混用單引號和雙引號。
語句結束也不必加;分號作為結束,加上分號也不影響。
如果你想輸出的內容中既包含單引號,又有雙引號,該這么辦呢,
這時候就需要使用轉義字符了,轉義字符/可以轉義很多字符,
比如/n表示換行,/t表示制表符,字符/本身也要轉義,所以//表示的字符就是/
print 'I/'m a /"dog/"!'
像上邊這樣,使用轉義字符 /' /" ,輸出 I'm a "dog" !
如何從命令行接收字符串,只需調用 raw_input() 即可
name = raw_input('please enter your name: ')print 'name=', name
以下代碼不再重復 #!/usr/bin/env python #coding=UTF-8
#條件選擇語句if(3>3): a = "Are you happy???"elif(2>3): a = "bbbbbbbbb"else: a = "cccccccc"print a;

python最具特色的indent縮進語法,以4個空格表示所屬關系,使用:包含語句塊 摒棄大多數編程語言的{}
不必給元素設類型,Python自動給你設置類型,其中elif表示else if.
關于到底是用Tab鍵還是用4個空格,我覺得把tab鍵設置成4個空格,這個問題不就沒有爭議了嗎?不知道對不對。
#循環語句for a in [1,2,3,[4,5]]: print a

循環語句,有點類似C#和java的foreach 循環。 其中list中的子元素還可以是list, index下標也是從0開始
#函數定義 是否為閏年def isLeafYear(year): return year%400==0 or (year%100!=0 and year%4==0)print isLeafYear(2004)

函數定義,以關鍵字def作為標識。其中 or 關鍵字類似 || , and關鍵字類似&&
#函數定義 return可以返回多個值def square_sum(a,b): c = a**2 + b**2 return c,a,bprint square_sum(1,3)

return可以返回多個值,這個挺有特點,Java語言里應該不可以。
#將表b作為參數傳遞給函數b=[1,2,3]def change_list(b): b[0] += 1 return bprint change_list(b)print b

通過表索引操作表,表b的值發生改變。
#值傳遞 原整數a的值不發生變化 試著將函數的參數換成b或者c就可以理解了。a = 1def change_a(a): a = a + 1 return aprint "函數的返回值是:",change_a(a)print "原整數a的值是:",a

#定義一個父類 鳥類#類中成員方法的第一個參數必須是調用該方法的對象本身#習慣上使用self,也可使用it、this等等#括號中為object是不是說明所有的類都是繼承自Object ??class Bird(object): #有點類似構造函數 是兩個下劃線init def __init__(self,something): print 'I am a bird.',something have_feather = True way_of_reproduction = 'egg' def move(self,dx,dy): position = [0,0] position[0] = position[0] + dx position[1] = position[1] + dy return position#生成一個叫夏天的小鳥的對象 這里不需要用類似高級語言的new關鍵字summer = Bird('call me summer!')print summer.way_of_reproductionprint summer.move(1,2)

子類繼承父類:
#子類小雞繼承父類 鳥類 (單繼承)class Chicken(Bird): way_of_move = 'walk' possible_in_KFC = True#子類大雁繼承父類 鳥類 (單繼承)class DaYan(Bird): def __init__(self,name): self.name = name way_of_move = 'fly' possible_in_KFC = False #重寫父類move方法 def move(self,dx,dy): position = [0,0] position[0] = position[0] + dx**dx position[1] = position[1] + dy**dy return position def print_name(self): print "My name is ",self.name#現在summer是大雁了summer = DaYan("doudou!")print summer.print_name()print summer.have_featherprint summer.move(2,3)print dir(summer) #dir() 用來查詢一個類或者對象的所有屬性
#自定義list子類 添加對類似 [1,2,3] - [2,3]運算的支持#這種自帶兩個__下劃線的方法 是特殊方法class SuperList(list): def __sub__(self,b): #self是SuperList的對象,可以使用類似 list[:] 的方式表示整個list對象 a = self[:] b = b[:] #如果list包含b中的元素,就移除,直到循環結束 len()返回list中元素個數 while len(b) > 0 : element_b = b.pop() #pop() 從list中彈出最后一個元素值,并返回他的值 if element_b in a : a.remove(element_b) return a#這里的-減號運算符代表__sub__() 方法,類似+ 代表__add()__#特殊方法和運算符相等價print SuperList([1,2,3,4]) - SuperList([1,2])

#詞典(dictionary)類 容器類 使用大括號dic = {} #空的詞典print dic,type(dic)dic = {'name':'zhaowuji','age':21,'wife':'zhaomin'}#元素是鍵值對 無序 通過key值來得到value print dic['name'],dic['wife']#添加新元素。引用一個新的鍵,賦值。 出自倚天屠龍記dic['from'] = 'yitiantulongji'print dic#詞典元素的循環調用for key in dic: print key,':',dic[key]#詞典常用方法print (len(dic)) #查詢詞典用元素個數print dic.keys() #返回所有key的值 listprint dic.values() #返回所有value的值 listprint dic.items() #返回dic所有的元素###刪除方法###del dic['name'] #del 是python的關鍵字 用于刪除對象print dic###刪除元素###print dic.clear() #清空dic,變為空的詞典{}

新聞熱點
疑難解答