python學習筆記:Python的基本頁面、操作以及幾種主要的容器類型
人生苦短,我用python
不用懷疑,懷疑會被淘汰。
1)基本的輸入輸出
可以在Python中使用+、-、*、/直接進行四則運算。
1+3*3
10
(2)導入模塊
使用import可以導入模塊,導入之後,就可以使用這個模塊下面的函數了。
比如導入math模塊,然後使用math模塊下面的sqrt函數:
import math
math.sqrt(9)
3.0
這時我有疑問了:
「每次引用函數的時候,math這個模塊前綴都要帶嗎?可不可以不帶?」
直接輸入sqrt(9)是會報錯的,好煩人,那麼有什麼辦法可以不用每次都帶前綴?辦法是有的,用「from 模塊 import 函數」的格式先把函數給「拿」出來。
from math import sqrt
Advertisements
sqrt(9)
3.0
這樣每次使用sqrt函數的時候就不用再加math前綴了。當我正準備跳過的時候,又有了一個問題?
「math模塊下面有那麼多函數,可不可以寫一個語句,然後math下面所有函數都可以直接使用?」
調用了math下面的sqrt函數,寫一個from…import…,再調用下面的floor,還要寫一個,如此也挺麻煩的,有個辦法可以一下把所有函數都給「拿」出來:
from math import *
print sqrt(9)
print floor(32.9)
3.0
32.0
二,容器
1,什麼是容器
開始學Python時,被它的數據結構,什麼字典、序列、元組等等搞的很混亂,估計有跟我一樣的初學者,所以我梳理了一下留存:
Advertisements
首先要從容器說起,Python中有一種名為容器的數據結構,顧名思義,容器,就是裝數據的器具,它主要包括序列和詞典,其中序列又主要包括列表、元組、字元串等(見下面那張圖)。
列表的基本形式比如:[1,3,6,10]或者[『yes』,』no』,』OK』]
元組的基本形式比如:(1,3,6,10)或者(『yes』,』no』,』OK』)
字元串的基本形式比如:』hello』
以上幾種屬於序列,序列中的每一個元素都被分配一個序號——即元素的位置,也稱為「索引」,第一個索引,即第一個元素的位置是0,第二個是1,依次類推。列表和元組的區別主要在於,列表可以修改,而元組不能(注意列表用中括弧而元組用括弧)。序列的這個特點,使得我們可以利用索引來訪問序列中的某個或某幾個元素,比如:
a=[1,3,6,10]
a[2]
6
b=(1,3,6,10)
b[2]
6
c='hello'
c[0:3]
'hel'
而與序列對應的「字典」則不一樣,它是一個無序的容器,
它的基本形式比如:d={7:'seven',8:'eight',9:'nine'}
這是一個「鍵—值」映射的結構,因此字典不能通過索引來訪問其中的元素,而要根據鍵來訪問其中的元素:
d={7:'seven',8:'eight',9:'nine'}
d[8]
'eight'
2、序列的一些通用操作
除了上面說到的索引,列表、元組、字元串等這些序列還有一些共同的操作。
(1)索引(補充上面)
序列的最後一個元素的索引,也可以是-1,倒數第二個也可以用-2,依次類推
a=[1,3,6,10]
print a[3]
print a[-1]
10
10
(2)分片
使用分片操作來訪問一定範圍內的元素,它的格式為:
a[開始索引:結束索引:步長]
那麼訪問的是,從開始索引號的那個元素,到結束索引號-1的那個元素,每間隔步長個元素訪問一次,步長可以忽略,默認步長為1。
c='hello'
c[0:3]
'hel'
這個就好像把一個序列給分成幾片幾片的,所以叫做「分片」
(3)序列相加
即兩種序列合併在一起,兩種相同類型的序列才能相加
[1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
'hello,'+'world!'
'hello,world!'
(4)成員資格
為了檢查一個值是否在序列中,可以用in運算符
a='hello'
print 'o' in a
print 't' in a
True
False
3、列表操作
以上是序列共有的一些操作,列表也有一些自己獨有的操作,這是其他序列所沒有的
(1)List函數
可以通過list(序列)函數把一個序列轉換成一個列表:
list('hello')
['h', 'e', 'l', 'l', 'o']
(2)元素賦值、刪除
元素刪除——del a[索引號]
元素賦值——a[索引號]=值
a
'hello'
b=list(a)
b
['h', 'e', 'l', 'l', 'o']
del b[2]
b
['h', 'e', 'l', 'o']
b[2]='t'
b
['h', 'e', 't', 'o']
分片賦值——a[開始索引號:結束索引號]=list(值)
為列表的某一範圍內的元素賦值,即在開始索引號到結束索引號-1的區間幾個元素賦值,比如,利用上面語句,如何把hello變成heyyo?
b=list('hello')
b
['h', 'e', 'l', 'l', 'o']
b[2:4]=list('yy')
b
['h', 'e', 'y', 'y', 'o']
注意雖然「ll」處於「hello」這個單詞的第2、3號索引的位置,但賦值時是用b[2:4]而不是b[2:3],另外注意list()用小括弧。
(3)列表方法
上面說過list函數,函數這個東西在很多語言中都有,比如excel裡面的if函數、vlookup函數,SQL裡面的count函數,以及各種語言中都有的sqrt函數等等,python中也有很多函數。
Python中的方法,是一個「與某些對象有緊密聯繫的」函數,所以列表方法,就是屬於列表的函數,它可以對列表實現一些比較深入的操作,方法這樣調用:
對象.方法(參數)
那麼列表方法的調用就理所當然是:
列表.方法(參數)
常用的列表方法這麼幾個,以a=['h','e','l','l','o']為例:
a=['h','e','l','l','o']
a
['h', 'e', 'l', 'l', 'o']
給列表a的n索引位置插入一個元素m: a.insert(n,m)
a.insert(2,'t')
a
['h', 'e', 't', 'l', 'l', 'o']
給列表的最後添加元素m: a.append(m)
a.append('q')
a
['h', 'e', 't', 'l', 'l', 'o', 'q']
返回a列表中,元素m第一次出現的索引位置: a.index(m)
a.index('e')
刪除a中的第一個m元素: a.remove(m)
a.remove('e')
a
['h', 't', 'l', 'l', 'o', 'q']
將列表a從大到小排列: a.sort()
a.sort()
a
['h', 'l', 'l', 'o', 'q', 't']
4、字典操作
(1)dict函數
dict函數可以通過關鍵字參數來創建字典,格式為:
dict(參數1=值1,參數2=值2, …)={參數1:值1, 參數2=值2, …}
比如,如何創建一個名字name為jiayounet,年齡age為28的字典?
dict(name='jiayounet',age=27)
{'age': 27, 'name': 'jiayounet'}
(2)基本操作
字典的基本行為與列表在很多地方都相似,下面的例子以序列a=[1,3,6,10],字典f={'age': 27, 'name': 'shushuo'}為例
日記小結:
今天學習了Python的基本頁面、操作,以及幾種主要的容器類型,明天還要學習Python的函數、循環和條件、類,然後才算是對Python有一個大致的了解。