python部分基礎知識

一、py列表

1、python -V 查看本機py版本。ps:V是大寫的

2、直接輸入python 則進入到解析器,退出 :quit()

3、py列表 類似于數組,但是又有區別

4、列表更加強大的功能 單一列表

>>> cast = ['cleese','palin','jones','idle']

>>> print cast//輸出列表中所有內容

['cleese', 'palin', 'jones', 'idle']

>>> print len(cast)//輸出列表長度

4

>>> print cast[5]

Traceback (most recent call last):

File "", line 1, in

print cast[5]

IndexError: list index out of range//cast中的參數為5,實際長度為4,所以提示out of range

>>> print cast[3]//輸出cast中的第三個元素的值

idle

5、python列表增加字段 append

>>> cast.append('dubailing')

>>> print cast

['cleese', 'palin', 'jones', 'idle', 'dubailing']

6、python列表中刪除字段

>>> cast.pop('jones')

Traceback (most recent call last):

File "", line 1, in

cast.pop('jones')

TypeError: an integer is required//參數錯誤,不能指定刪除某個字段

>>> cast.pop()

'dubailing'

>>> print cast

['cleese', 'palin', 'jones','idle']

7、將另一個表中的字段加到某表中

>>> cast.extend(['haha','nihao'])

>>> print cast

['cleese', 'palin', 'jones', 'haha', 'nihao']

8、python刪除表中指定項

>>> cast.remove('palin')

>>> print cast

['cleese', 'jones', 'haha', 'nihao']

>>>

9、在某個指定位置插入某個字段//在列表元素位置為1的地方插入test字段,輸出后,發現第二位為test,想插入到什么位置,只需修改元素位置號即可

>>> cast.insert(1,'test')

>>> print cast

['cleese', 'test', 'jones', 'haha', 'nihao']

10、python列表中可以存儲任意類型的數據

11、python for 循環:

name = ['we','ssd','gg']

for i in name:

print i

//若想輸出每個值,則可以使用 print name[0] 這種方法,but 若列表中有多個值,使用此方法就不美麗了,最好的就是使用for循環

12、>>> print cast

['cleese', '1975', 'test', '1979', 'jones', '1983', 'haha', 'nihao']

>>> while coutn < len(cast)://使用while循環 方式輸出cast列表內容、但是處理迭代問題,使用for循環是最好的,while循環需要提供額外的控制

print cast[coutn]

coutn +=1

cleese

1975

test

1979

jones

1983

haha

nihao

13、python 對大小寫是敏感滴哦,所以在變成過程中一定要注意

14、列表中嵌套列表

>>> movies = ['the holy grail',1975,'terry jones &terry gilliam',91,['graham chapman',['michel palin','john','terry','eric','jones']]]

>>> print movies

['the holy grail', 1975, 'terry jones &terry gilliam', 91, ['graham chapman', ['michel palin', 'john', 'terry', 'eric', 'jones']]]

>>> for i in movies:

print i

the holy grail

1975

terry jones &terry gilliam

91

['graham chapman', ['michel palin', 'john', 'terry', 'eric', 'jones']]

//如何將列表中的列表讀取出來

使用到if....else語句,但是如何判斷里面還有沒有內嵌列表呢?那就要使用到python的一個內置函數

15、isinstance(要判斷的對象,對比類型)? python的一個內置方法。(dir(__builtins__))

>>> print movies

['the holy grail', 1975, 'terry jones &terry gilliam', 91, ['graham chapman', ['michel palin', 'john', 'terry', 'eric', 'jones']]]

>>> isinstance(movies,list)//因為movies是一個列表所以返回結果為true

True

>>> isinstance(movies,int)因為movies是一個列表而對比類型為int,兩者不一致,所以結果為false

False

>>>

代碼如下:

>>> for eachname in movies:

if isinstance(eachname,list):

for nexteach in eachname:

if isinstance(nexteach,list):

for each in nexteach:

print each

else:

print nexteach

else:

print eachname

the holy grail

1975

terry jones &terry gilliam

91

graham chapman

michel palin

john

terry

eric

jones

//一層層的判斷,實際處理過程是先處理內列表,在處理外列表,由內而外進行處理,但是這樣子就引申出一個問題,那就是重復代碼,如何解決呢?函數來幫忙

16、定義函數

>>> def print_lol(the_list):

for eachname in the_list:

if isinstance(eachname,list):

print_lol(eachname)

else:

print eachname

>>> print_lol(movies)

the holy grail

1975

terry jones &terry gilliam

91

graham chapman

michel palin

john

terry

eric

jones

//使用函數完美的解決了代碼重復問題

二、函數模塊

函數模塊,則可以理解為一個含有.py的文件,模塊中要含有注釋代碼,先介紹這是個什么模塊,包含什么函數,其作用是什么,其次在標注這個函數的作用

函數模塊的使用,可以通過import 方式導入,一般導入文件代碼放在上方

在py編程過過程中可以將代碼放置一行,并通過分隔符進行分割,但是這樣子不利于閱讀,建議每行只包含一行py代碼

關于注釋 可以使用三個成對的單引號或者雙引號進行注釋,當然也可使用#進行注釋

BIF內置函數:range,返回一個迭代器,根據需要生成一個指定范圍內的數字

>>> for num in range(4):

print num

0

1

2

3

三、文件異常處理

1、>>> import os//導入os模塊

>>> os.getcwd()//當前工作目錄是什么

'D:\\Python27'

>>> os.chdir('../headfistpython/chapter3')

>>> os.getcwd()

'D:\\headfistpython\\chapter3'

2、讀取文件:

>>> data = open('sketch.txt')

>>> print data.readline()//讀取一行

hello

>>> print data.read()//讀取整個文件

haha

ahaha

>>> data.close()//關閉文檔

文件處理-》打開文件-》讀取文件內容-》處理后關閉文件

3、split(sep,[maxsplit])

4、find 通過find的返回值 判斷

5、異常處理

對于會出現異常的情況,放入try/cath模塊中-

其次增加更多的異常代碼的處理

下面是對 一個解析的文件是否存在進行處理

>>> import os

>>> if os.path.exists('du.txt')://判斷文件是否存在,如果存在則繼續執行,不存在則提示文件丟失

data = open('du.txt')

for each in data:

if not each.find(':') == -1:

(role,num)= each.split(':',1)

print role

print num

print(role,num)

data.close()

else:

print ('The data file is missing')

man

is? this the tight room foe an atgumen?

('man', ' is? this the tight room foe an atgumen?\n')

other man

I've told you once.

('other man', " I've told you once.\n")

man

No you haven't!

('man', " No you haven't!\n")

other? man

Yes? I? have.

('other? man ', 'Yes? I? have.\n')

man

When?

('man', '? When?\n')

other man

now let's get one thing quites clear:i most definitely told you!

('other man', " now let's get one thing quites clear:i most definitely told you!\n")

man

no you didn't!

('man', " no you didn't!")

//修改打開文件名稱

則提示

The data file is missing

使用try/catch

>>> try:

data = open('du.txt')

for each in data :

try:

(role,num)= each.split(':',1)

print role

print '++++++++++++++++++++++++++'

print num

print '++++++++++++++++++++++++'

print (role,num)

except:

pass

except:

print 'the is not exists'

the is not exists

>>>

//無論使用if else 還是try catch? 均能達到處理異常的目的,但是使用try的成本低

strip()//剔除字符串中不想要的空白符

num = num.stript()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容

  • Head_First_Python-函數模塊 BIF list()創建一個新的空列表 range()返回一個迭代器...
    interjose閱讀 229評論 0 0
  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,776評論 0 23
  • 柳葉由鵝黃 變成了嫩綠 去冬的枯葉還在 新芽硬是擠出來了 不見楊花飄飛 穗子落得滿地 一不留神 差點錯過了自由路的...
    百無一用知止閱讀 413評論 0 2
  • 今天在簡書上看到有篇文章的標題是《再厲害的肖邦也彈不出我的憂傷》,我忽然想給這個作者調個永久花配方的精油。 說起悲...
    魚頭shiny閱讀 749評論 0 4
  • 我們村里有一條小河,將村子一分為二,河的北岸滿漢雜居,南岸清一色居住著朝族人。因為隔河而望,從小耳濡目染,我對朝鮮...
    桐花mm閱讀 1,204評論 7 6