不務正業學Python(一)

2021-08-21 07:11:17 字數 2557 閱讀 2259

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個工作崗位。與此同時,黑莓將在自主駕駛汽車上發揮自身在網路安全上的優勢。程守宗說 大多數資...