python學習:
1.python的哲學就是簡單優雅,盡量寫容易看明白的**,盡量寫少的**
2.python適合開發那些應用?首先網路應用,包括**,後台服務;其次是許多日常需要的小工具,包括指令碼任務;另外就是把其他語言開發的程式再包裝起來,方便實用。
3.python是解釋型語言,執行速度慢,且**不能加密。c語言不用發布源**,只需要把編譯後的機器碼發布出去。凡是編譯型的語言,都沒有這個問題,而解釋性的語言,則必須把原始碼發布出去。
//list=
內容可變
tuple = () 內容不可變,但內部可以巢狀list
python的 dict 就是專門幹這件事的。用
dict 表示
「名字」-「成績」的查詢表如下:
dict的第乙個特點是
查詢速度快
,無論dict有10個元素還是10萬個元素,查詢速度都一樣。而list的查詢速度隨著元素增加而逐漸下降。
我們把 名字稱為key,對應的
成績稱為value,dict就是通過
key 來查詢
value。
不過dict的查詢速度快不是沒有代價的,
dict的缺點是占用記憶體大,還會浪費很多內容,list正好相反,占用記憶體小,但是查詢速度慢。
花括號
{} 表示這是乙個dict,然後按照
key: value, 寫出來即可。最後乙個 key: value 的逗號可以省略。
dict的第二個特點就是儲存的key-value序對是
沒有順序
的!這和list不一樣
dict的第三個特點是作為 key 的元素必須
不可變,python的基本型別如字串、整數、浮點數都是不可變的,都可以作為 key。但是list是可變的,就不能作為 key。
dict的作用是建立一組 key 和一組 value 的對映關係,dict的key是不能重複的。
有的時候,我們只想要 dict 的 key,不關心 key 對應的 value,目的就是保證這個集合的元素不會重複,這時,set就派上用場了。
set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重複,而且是無序的,這點和 dict 的 key很像。
由於 set儲存的是無序集合,所以我們沒法通過索引來訪問。
訪問 set中的某個元素實際上就是判斷乙個元素是否在set中。
看來大小寫很重要,'bart' 和 'bart'被認為是兩個不同的元素。
//如果想讓乙個函式能接受任意個引數,我們就可以定義乙個可變引數:
def fn(*args) :
print args
可變引數的名字前面有個
* 號,我們可以傳入0個、1個或多個引數給可變引數:
可變引數也不是很神秘,python直譯器會把傳入的一組引數組裝成乙個tuple傳遞給可變引數,因此,在函式內部,直接把變數
args 看成乙個
tuple 就好了。
l.insert(0, 'paul') 的意思是,'paul'將被新增到索引為 0 的位置上(也就是第乙個),而原來索引為 0 的adam同學,以及後面的所有同學,都自動向後移動一位。
map()是 python 內建的高階函式,它接收乙個
函式 f 和乙個
list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。
reduce()函式也是python內建的乙個高階函式。reduce()函式接收的引數和 map()類似,
乙個函式 f,乙個list,但行為和 map()不同,reduce()傳入的函式 f 必須接收兩個引數,reduce()對list的每個元素反覆呼叫函式f,並返回最終結果值。
filter()函式是 python 內建的另乙個有用的高階函式,filter()函式接收乙個
函式 f 和乙個
list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,
filter()根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。
python內建的
sorted()函式可對list進行排序, 但
sorted()也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x, y,
如果 x 應該排在 y 的前面,返回 -1,如果 x 應該排在 y 的後面,返回 1。如果 x 和 y 相等,返回 0。
關鍵字lambda 表示匿名函式,冒號前面的
x 表示函式引數。
pop()方法總是刪掉list的最後乙個元素,並且它還返回這個元素,所以我們執行 l.pop() 後,會列印出 'paul'。
要把paul踢出list,我們就必須先定位paul的位置。由於paul的索引是2,因此,用 pop(2)把paul刪掉:
len() 函式可以計算任意集合的大小:
abs : 求絕對值的函式
cmp: 而比較函式
cmp(x, y) 就需要兩個引數,如果
x,返回
-1,如果
x==y,返回
0,如果
x>y,返回
1:
不務正業 之前端HTML基礎(一)
常用標籤用法 jeverson html roadtitle head html 上述的 注釋中,匆匆一看乙個標準的html文件,除去文件宣告的型別大概是由標籤和內容組成的,對於前端來講html是結構標準,那html的結構是不是就是由這些富有語義化的元素和元素屬性組成的呢,答案是的。熟知了上述的一些...
不務正業 二分基礎
二分作為查詢利器很實用 本篇主要講述二分理論 二分解題 二分stl解題 二分模板 非遞推版本 int search int x 二分查詢 else right mid 1 題目 二分查詢模板 include include include include using namespace std co...
不務正業?黑莓設立自動駕駛測試中心
未來幾年,黑莓計畫投資1億加元在自動駕駛專案,此舉也是為了實現公司在其他領域業務的增長。近日,黑莓ceo程守宗表示,黑莓將向設在加拿大渥太華的乙個自動駕駛汽車創新中心投資約1億加元 7500萬美元 並創造650個工作崗位。與此同時,黑莓將在自主駕駛汽車上發揮自身在網路安全上的優勢。程守宗說 大多數資...