標籤:
之前一直在學習MATLAB,最近想想好好學學Python,Python和MATLAB一樣,是動態語言,定義變數不用像C,java一樣定義類型,更為靈活,因此就很有親切感,之前看的一些資料記錄的一些東西~
########
Python的變數名必須是大小寫英文和數位組合,不能以數字開頭。
逸出字元,可以用\,除此之外,還有一種方式就是直接在一行或多行字串之前加上r’’’…’’’。
Unicode字串,表示的字串用u’…’表示。如果中文字元在Python環境中遇到 UnicodeDecodeError,是因為.py檔案儲存的問題,可在第一行加上# -*- coding: utf-8 -*-
因為Python把0、Null 字元串‘‘和None看成 False,其他數值和非Null 字元串都看成 True,所以:
True and ‘a=T‘ 計算結果是 ‘a=T‘
繼續計算 ‘a=T‘ or ‘a=F‘ 計算結果還是 ‘a=T‘
短路計算。
1. 在計算 a and b 時,如果 a 是 False,則根據與運演算法則,整個結果必定為 False,因此返回 a;如果 a 是 True,則整個計算結果必定取決與 b,因此返回 b。
2. 在計算 a or b 時,如果 a 是 True,則根據或運演算法則,整個計算結果必定為 True,因此返回 a;如果 a 是 False,則整個計算結果必定取決於 b,因此返回 b。
所以Python解譯器在做布爾運算時,只要能提前確定計算結果,它就不會往後算了,直接返回結果。
建立list,list是一種有序的集合,可以隨時的添加和刪除其中的元素。
很重要的一點就是字串的一定要加引號。
按照索引可以訪問list,但是注意不可以越界,在我個人看來,list和數組真的超級像,特別好用的一點是排序的時候倒序排列可以直接用符號,要注意的一點是不能越界。
添加新元素用append()方法,把新元素追加到list的末尾。
insert()可以將一個新元素添加到特定的位置。
其中每一行輸入完成之後可以不加分號。
List中刪除元素可以採用pop()方法,執行L.pop()刪除list的最後一個元素,如果是特定位置的話可以採用pop(2),2表示的是位置。
替換很簡單,直接索引就可以。
Tuple是另外一種有序的列表,建立之後就不能再修改,與list的建立方式不同,tuple採用的是()替代[].
如果在tuple的元素中加一個list,則就可以對其進行修改了。
Python中的if語句輸入之後,需要在後面輸一個:,才能輸出。
if…elif...else語句
for迴圈:
L = [‘Adam‘, ‘Lisa‘, ‘Bart‘]
for name in L:
print name
while迴圈
N = 10
x = 0
while x < N:
print x
x = x + 1
break迴圈
continue
多重迴圈
for x in [‘A‘, ‘B‘, ‘C‘]:
for y in [‘1‘, ‘2‘, ‘3‘]:
print x + y
dict
我們把名字稱為key,對應的成績稱為value,dict就是通過 key 來尋找 value。
就是在對應關係中應用比較好。
Len()函數可以計算出任意集合的大小,dict是一個集合,所以可以用來計算集合。
可以通過d[key]的方式訪問dict
>>> print d.get(‘Bart‘)
59
>>> print d.get(‘Paul‘)
None
注意在之前的索引當中,key需要在[]中。
Dict的第一個特點是尋找速度快,而且尋找的速度與元素的個數無關,而list的尋找速度是隨著元素的增加而逐漸下降的;第二個特點是儲存的key-value序對是沒有順序的;第三個特點是作為key得到元素是不可變的,所以list不能作為key。
Dict的缺點是佔用記憶體大,還會浪費很多內容。
同時,還可以對dict進行更新,可以直接插入,也可以進行替換。
遍曆dict,通過for迴圈實現:
for key in d:
print key + ‘:’,d[key]
set
dict是建立了一系列的映射關係,而set是建立一系列無序的,不重複的元素。
建立set的方式是調用set()並傳入一個list,list的元素將作為set的元素。
Set是一個無序集合,不能使用索引來訪問,可以直接用判斷語句來進行判斷。
對啊,由於set和dict的元素不可變性,所以可以用if語句判斷使用者的輸入是否有效。
遍曆set的方法和其它的一樣,直接用for 。。。in。。。就ok
更新set,對於set,更新就是把新的元素添加到set中,採用add(),二是把已有的元素從set中刪除,採用remove().
除此之外,Python內建了很多函數,可以直接調用,比如計算圓面積。
要調用一個函數,需要知道函數的名稱和參數,可以直接從Python的官方網站查看文檔:
http://docs.python.org/2/library/functions.html#abs
也可以在互動命令列中直接通過help()進行尋找協助資訊。
當然,同其它語言一樣,Python還可以自己編寫函數,這裡要使用到def語句,依次寫出函數名、括弧、括弧中的參數和冒號。在函數語句的最後,一定是需要return的。
函數可以返回多值,但其的本質是返回一個tuple。
遞迴函式
一個函數在內部調用自己本身。
在使用遞迴函式的時候需要注意防止棧溢出。遞迴調用的次數過多,會導致棧溢出。
看完之後真真是覺得很亂啊,雖然對於文本一直強迫自己改的規範一點,但是真的太晚了,明天再改改,繼續學啦~
未完待續...
00:45:14
初識python