青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Sunshine Alike

半完美主義

  C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
  35 Posts :: 1 Stories :: 56 Comments :: 0 Trackbacks

常用鏈接

留言簿(15)

積分與排名

  • 積分 - 51367
  • 排名 - 451

最新隨筆

最新評論

突然一時(shí)興起找了個(gè)Python的Tutorial看了一下下,哈哈,感覺非常好,很小巧很討喜的語言,比較有特點(diǎn)。第一印象是很簡單,語法簡潔而又功能強(qiáng)大,準(zhǔn)備要嘗試學(xué)一下。

下面貼一點(diǎn)學(xué)習(xí)的筆記:

一、基本知識
Python同時(shí)即是腳本解釋器,又是一個(gè)可以運(yùn)行命令行的shell。在shell里可以計(jì)算任務(wù)Python表達(dá)式,甚至包括變量賦值,這些變量在shell打開時(shí)一直有效,關(guān)閉時(shí)丟失數(shù)據(jù)。

函數(shù)聲明,以def開始,函數(shù)名,參數(shù),冒號后面跟函數(shù)體。需要注意的是Python里的格式都以縮進(jìn)的形式來表達(dá),沒有類C/C++中的大括號。另外函數(shù) 不需要指定返回值類型,實(shí)際上,如果函數(shù)有return語句,它將返回指定類型值,否則返回None(Python的空值)。

Python即是動(dòng)態(tài)語言,它不需要顯示數(shù)據(jù)類型聲明,賦值的同時(shí)即完成變量聲明。又是強(qiáng)類型語言,一個(gè)變量一旦獲得一個(gè)數(shù)據(jù)類型,它實(shí)際上就一直是這個(gè)類型的了。

Python里的“對象”概念,這里的“對象”不同于以前接觸到的OO里的對象,Python里的對象定義更為廣泛。一個(gè)程序塊,一個(gè)變量,甚至一個(gè)字符串都可以是一個(gè)對象。其具體含義還需要根據(jù)上下文來判斷。

三種重要的內(nèi)置數(shù)據(jù)類型:Dictionary,List,Tuple:
Dictionary對應(yīng)于C++中的map和Java中的hashtable,也就是一個(gè)鍵值對集合。
List對應(yīng)于C++中的vector和java中的ArrayList,一個(gè)可以動(dòng)態(tài)自動(dòng)擴(kuò)展的數(shù)組。
Tuple是一個(gè)不可變的list,一旦創(chuàng)建就不能以方式改變它,但是好在Python提供了在Tuple和List之間相互轉(zhuǎn)換的函數(shù)。
需要注意的是List和Tuple是可以存儲(chǔ)混合類型的數(shù)組的,并且都可以通過索引取值(包括負(fù)的索引值,其表示從逆序取值)

For語句:

Python里的for語句不同于C/C++中的for,更類似于C#中的foreach循環(huán)或者是Java中的for (int i : IntArray)。Python的for語句需要配合一個(gè)range函數(shù)使用,它有三個(gè)參數(shù),并返回一個(gè)Tupe數(shù)組用于表示索引,三個(gè)參數(shù)是start,stop,step,例如range(0,5,1)則返回[0,1,2,3,4];range(5,0,-1)則返回[5,4,3,2,1]。

字符串格式化:
與C中類似%d,%f,%s等等,通過字符串的join函數(shù)可以方便的將list的內(nèi)容合并成字符串。

and/or:
and和or負(fù)責(zé)執(zhí)行布爾邏輯運(yùn)算,但是它們不返回布爾值而是返回它們實(shí)際進(jìn)行比較的值之一。非空的對象被認(rèn)為是真,空對象則被認(rèn)為是假。and運(yùn)算會(huì)返回第一個(gè)假值,而or運(yùn)算返回第一個(gè)真值,其它部分都不會(huì)被計(jì)算到

lambda函數(shù):
一種快速定義的單行最小函數(shù),只有一行,類似于內(nèi)聯(lián)的感覺。例如一個(gè)例子:
ld = lambda i : i*i
ld(10) # == 100
理論上lambda函數(shù)可以有多個(gè)參數(shù)(包括可選參數(shù))并且隱含的返回單個(gè)表達(dá)式的值。

兩種導(dǎo)入(import)方法:

Python中有兩種導(dǎo)入模塊的方法: import xx / from xx import yy

它們的差別在于,from xx import yy這種方式,yy被直接導(dǎo)入到了局部命名空間中(類似于C++中的using),在以后使用yy的時(shí)候不再需要(不能)加上模塊名稱限定。也就是說,如果使用import方式導(dǎo)入模塊,在使用 它里面的一個(gè)變量的時(shí)候,你不得不每次都加上前綴xx.來表示使用的是位于xx模塊中的變量,而使用from導(dǎo)入時(shí),則不需要加入前綴。

異常處理:
Python中使用try...except來處理異常,使用raise來引發(fā)異常。并且,一個(gè)except后面可以跟一個(gè)else塊來表示沒有捕獲預(yù)期異常時(shí)的行為。一個(gè)try塊后面也可以跟一個(gè)finally塊來保證一些代碼總是被執(zhí)行到,比如打開文件后的關(guān)閉操作。

注釋:
Python里使用#來作為單選注釋開始符,使用三個(gè)冒號作為多行注釋"""content""",
需要注意的是后一種形式的注意經(jīng)常被用來作為函數(shù)或者類的"說明",寫在這里的內(nèi)容可以被其使用者當(dāng)作參考手冊來使用,Ptyhon里所有對象都具有一個(gè)內(nèi)置的__doc__屬性,通過它可以查看各個(gè)對象的說明,應(yīng)該養(yǎng)成寫__doc__的習(xí)慣。一般其格式為首行以大寫字母開始,句號結(jié)尾。第二行是空行,從第三行開始是詳細(xì)的描述

引號:
Python里有單引號,雙引號和三引號。其中單引號和雙引號都可以用來表示字符串,例如
print 'string' == "string" 將會(huì)打印出True
設(shè)置這兩種字符串引號的目的是為了簡化引號的表示,例如如果字符串里含有引號本身就需要使用\來進(jìn)行標(biāo)識,例如:'let\'s go!',“he said:\"get out!\"”。
如果字符串里含有大量這種情況會(huì)顯得非常麻煩,可以交替使用單引號和雙引號來避免這種情況。上面的例子可以改為:"let's go!",'he said:"get out!"'。
而三引號就是用來表示一個(gè)多行字符串。它們經(jīng)常被用來定義文檔字符串,它的首行以大寫字母開始,句號結(jié)尾。第二行是空行,從第三行開始是詳細(xì)的描述。建議從一開始就遵守這個(gè)慣例。

二、面向?qū)ο?/font>

類的定義:
以class開頭,pass表示結(jié)束(實(shí)際上沒有特定的u),例如一個(gè)簡單的類定義為
class Person:
??? pass
如果要表示繼承關(guān)系只需要將基類用括號回到類名后面即可,Python支持多重繼續(xù),每個(gè)基類中間以逗號隔開。
class Student(Person):
? pass
這里的pass語句僅表示占位之用,沒有特別的含義。

類成員定義:
__init__方法,這個(gè)函數(shù)的功能很類似于Java或者C++中的構(gòu)造函數(shù),但是仍存在一點(diǎn)細(xì)小的差別,__init__函數(shù)的第一個(gè)參數(shù)一定是self,類似于C++中的this指針。
__init__方法的定義并不是必須的,但是一旦你定義了它,就必須顯示的調(diào)用父類的__init__方法。
需要注意的是,所有的類成員方法都必須定義一個(gè)參數(shù)(self)但它的名字不是一定的,其作用類似于C++中的this指針。
__del__方法,類似于析構(gòu)函數(shù),在使用del語句的時(shí)候被調(diào)用。

重載:
Python的類沒有任何形式的函數(shù)重載,即一個(gè)方法名稱只能對應(yīng)一個(gè)方法,如果子類中定義的與基類中同名的方法,則會(huì)將其覆蓋掉。

成員屬性:
Python中有兩種類型的成員方法:普通類方法和專用類方法
成員也有兩種訪問級別:公開的和私有的
其中公開和私有成員的表示沒有特別的關(guān)鍵字,只是體現(xiàn)的方法名稱上,私有成員的名稱以兩個(gè)短小的下劃線作為開始例如:
class A:
? __privatevalue
? publicvalue
? def __set(self, v):
??? __privatevalue = v
? def get(self):
??? return publicvalue
? pass
并且,一個(gè)成員是屬于類的還是屬于對象的,是通過定義這個(gè)變量的域來確定的,定義在類體內(nèi)的變量由所有成員共享,通過self定義的變量則為成員變量。
此外,類的成員方法還分為:普通類方法和專用類方法。普通方法的定義與普通函數(shù)定義類似,它是公開的,在類外部可以被調(diào)用。而類的專用方法,沒有特殊的關(guān)鍵字來表示,只是在方法的名稱前后各加上兩個(gè)短的下劃線,例如def __getitem__。這種專用方法是由用戶顯式調(diào)用的,它有點(diǎn)操作符重載的意思在里面,但是功能比操作符重載要強(qiáng)大一些。Python允許我們自己定義需要的類專用方法,例如任何定義了__cmp__方法的類就可以用==進(jìn)行比較,任何定義了__len__方法的類就可以用len(instance)進(jìn)行取長度。

三、標(biāo)準(zhǔn)庫
1.文件操作
Python中有一個(gè)內(nèi)置函數(shù)open可以用來打開文件
file = open("pictures/dog.bmp","rb")
open函數(shù)可以接受三個(gè)參數(shù):文件名,模式和緩沖區(qū)參數(shù),但是只有每一個(gè)參數(shù)是必須的,文件會(huì)默認(rèn)以文本方式打開。
文件的讀取和C中類似,tell()返回當(dāng)前文件位置,seek來移動(dòng)文件操作的位置。具體的函數(shù)使用方法可以使用print seek.__doc__來查看

處理I/O錯(cuò)誤:
try:
? file = open(filename, "rb", 0)
? try:
??? file.seek(-128,2)
??? data = file.read(128)
??? file.seek(0,2)
??? file.write("succeeded")
??? finally:
????? file.close()
? expect IOError:
??? pass

Python提供了一個(gè)os.path模塊來進(jìn)行目錄操作,具體使用方法就不詳細(xì)寫出來了,用過幾次就記住了。

2.序列化
標(biāo)準(zhǔn)庫里有兩個(gè)模塊都提供這個(gè)功能,picklecPickle,用于將對象存儲(chǔ)到文件中而后再讀取出來。
但是后者是使用C語言寫的,速度要比前面的快很多,但是功能都是一樣的。
使用也很簡便主要就是使用dump和load函數(shù)

------------------待續(xù)----------------


posted on 2010-03-30 22:34 Sunshine Alike 閱讀(982) 評論(0)  編輯 收藏 引用 所屬分類: Python

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美视频在线不卡| 久久国产精品亚洲77777| 亚洲欧美一区二区三区久久| 亚洲精品一品区二品区三品区| 欧美一区中文字幕| 亚洲午夜电影在线观看| 免费中文日韩| 狂野欧美一区| 国产精品一二| 中文在线一区| 亚洲一级黄色| 欧美视频观看一区| aa成人免费视频| 日韩亚洲欧美在线观看| 美女成人午夜| 欧美高清不卡在线| 亚洲第一精品夜夜躁人人躁| 欧美资源在线| 老司机免费视频一区二区| 国产美女精品在线| 亚洲欧美一级二级三级| 性做久久久久久| 国产精品性做久久久久久| 亚洲午夜免费福利视频| 亚洲欧美日韩久久精品| 国产精品嫩草影院av蜜臀| 亚洲私人影吧| 亚洲欧美色一区| 国产精品视频久久| 香蕉成人久久| 另类成人小视频在线| 狠狠色丁香婷婷综合| 久久九九全国免费精品观看| 欧美成人午夜视频| 亚洲精品乱码久久久久久黑人 | 午夜精品久久久久久久久久久久久| 欧美理论视频| 亚洲手机视频| 欧美一区二区视频在线观看| 国产日韩在线一区| 久久久青草婷婷精品综合日韩| 女人色偷偷aa久久天堂| 亚洲三级毛片| 欧美午夜精品久久久久免费视| 亚洲一区二区三区午夜| 久久久久久伊人| 最新国产乱人伦偷精品免费网站| 欧美极品一区二区三区| 一区二区三区毛片| 久久久高清一区二区三区| 亚洲激情图片小说视频| 欧美日韩一本到| 欧美一区国产在线| 最近中文字幕日韩精品 | 国产日韩专区| 美女精品在线| 亚洲一区二区精品在线| 葵司免费一区二区三区四区五区| 亚洲九九精品| 国产精品夜夜嗨| 欧美 日韩 国产在线| 亚洲一区二区视频| 欧美激情精品久久久久久免费印度| 亚洲午夜av| 在线成人免费观看| 国产精品电影网站| 欧美不卡激情三级在线观看| 制服丝袜亚洲播放| 亚洲国产精品成人综合| 欧美一区二区三区在线免费观看| 亚洲国产精品成人综合色在线婷婷| 欧美三级午夜理伦三级中文幕| 久久精品官网| 亚洲午夜精品一区二区| 亚洲激情一区二区三区| 久久久夜精品| 性欧美xxxx视频在线观看| 亚洲欧洲精品一区二区三区波多野1战4 | 国产欧美日韩专区发布| 欧美精品一区二区三区蜜桃| 久久精品国产第一区二区三区| 99精品福利视频| 亚洲国产婷婷香蕉久久久久久| 久久久久久久综合日本| 亚洲欧美电影院| 99视频精品在线| 亚洲二区在线观看| 国产综合视频| 国产欧美日韩精品专区| 欧美无乱码久久久免费午夜一区 | 久久精品免费观看| 亚洲欧美日韩一区二区三区在线| 亚洲另类自拍| 亚洲欧洲在线播放| 亚洲二区视频在线| 国产日韩在线看片| 久久一日本道色综合久久| 亚洲理伦在线| 亚洲人被黑人高潮完整版| 在线观看国产一区二区| 国产一区视频在线观看免费| 国产精品嫩草99a| 国产精品你懂得| 国产精品超碰97尤物18| 欧美性猛交视频| 欧美网站在线观看| 国产精品a级| 欧美午夜不卡在线观看免费| 欧美日韩一区高清| 欧美视频在线免费看| 欧美日韩中文字幕在线视频| 欧美日本一道本在线视频| 欧美紧缚bdsm在线视频| 欧美日韩123| 欧美午夜不卡视频| 国产精品在线看| 好看的日韩av电影| 在线成人国产| 亚洲人成小说网站色在线| 夜夜嗨av一区二区三区四季av| 一本色道久久综合亚洲精品高清| 亚洲视频在线观看免费| 校园激情久久| 久久偷看各类wc女厕嘘嘘偷窃| 老色鬼久久亚洲一区二区| 欧美激情视频免费观看| 亚洲美女一区| 新狼窝色av性久久久久久| 久久久亚洲午夜电影| 欧美激情在线观看| 国产精品你懂的在线欣赏| 国产亚洲综合性久久久影院| 在线观看欧美视频| 一区二区三区欧美亚洲| 欧美在线资源| 欧美黑人一区二区三区| 亚洲肉体裸体xxxx137| 一区二区三区国产精品| 午夜在线视频观看日韩17c| 麻豆精品精华液| 国产精品v欧美精品∨日韩| 国产真实乱偷精品视频免| 亚洲区在线播放| 欧美一区二视频在线免费观看| 久久亚洲电影| 一本色道久久综合亚洲精品小说 | 午夜精品久久| 欧美激情1区| 亚洲欧美日韩人成在线播放| 免费不卡在线观看| 国产精品自在欧美一区| 亚洲欧洲日本国产| 久久成人精品| 亚洲国产小视频| 欧美一区二区播放| 欧美日韩亚洲高清一区二区| 激情成人综合网| 亚洲欧美日韩中文播放| 91久久精品www人人做人人爽| 午夜欧美理论片| 欧美日韩裸体免费视频| 亚洲第一中文字幕在线观看| 亚洲欧美日韩中文在线制服| 亚洲第一精品夜夜躁人人爽| 亚洲欧美日韩精品综合在线观看| 欧美精品18| 亚洲国产高清aⅴ视频| 欧美在线免费视屏| 在线一区二区三区四区五区| 男人的天堂亚洲在线| 黄色国产精品| 久久精品国产第一区二区三区| 一本色道精品久久一区二区三区 | 欧美福利专区| 在线观看免费视频综合| 久久激情网站| 亚洲综合色丁香婷婷六月图片| 欧美日韩一区二区在线视频 | 久久九九全国免费精品观看| 国产精品久久久久永久免费观看 | 午夜在线一区| 国产酒店精品激情| 亚洲欧美国产一区二区三区| 亚洲三级免费观看| 女生裸体视频一区二区三区| 1769国内精品视频在线播放| 老鸭窝91久久精品色噜噜导演| 性久久久久久久久| 国产欧美日韩91| 久久久精品国产一区二区三区 | 欧美在线观看视频在线| 亚洲少妇在线| 国产精品区一区二区三区| 亚洲欧美成人| 午夜精品福利一区二区蜜股av| 国产精品女主播在线观看 | 欧美国产在线电影| 欧美成人精品| 一本久道久久综合中文字幕| 99精品国产在热久久下载|