python自學習筆記

2021-07-11 14:37:34 字數 2254 閱讀 5755

求冪:3**5    3的5次方

求餘數:  7%2=1     7/2=3

字串轉換成浮點型:>>> a="87.3"             >>> b=float(a)              a='87.3'      b=87.3

輸入字串:這裡輸入的是字串    some=raw_input () 12     some='12'

>>>a = 1.3     

>>>print a,type(a) 可以多個輸出後面直接接逗號分開

sequence(序列)是一組有順序的元素的集合

(嚴格的說,是物件的集合,但鑑於我們還沒有引入「物件」概念,暫時說元素)

序列可以包含乙個或多個元素,也可以沒有任何元素。

我們之前所說的基本資料型別,都可以作為序列的元素。元素還可以是另乙個序列,以及我們以後要介紹的其他物件。

序列有兩種:tuple(定值表; 也有翻譯為元組) 和 list (表)

>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, false)         # s1是乙個tuple

>>>s2 = [true, 5, 'smile']                          # s2是乙個list

>>>print s1,type(s1)

>>>print s2,type(s2)

tuple和list的主要區別在於,一旦建立,tuple的各個元素不可再變更,而list的各個元素可以再變更。

乙個序列作為另乙個序列的元素

>>>s3 = [1,[3,4,5]]

空序列》s4 =

序列元素的下標從0開始:

>>>print s1[0]

>>>print s2[2]

>>>print s3[1][2]

由於list的元素可變更,你可以對list的某個元素賦值:

>>>s2[1] = 3.0

>>>print s2

如果你對tuple做這樣的操作,會得到錯誤提示。

所以,可以看到,序列的引用通過s實現, int為下標

範圍引用: 基本樣式[下限:上限:步長]

>>>print s1[:5]             # 從開始到下標4 (下標5的元素 不包括在內)

>>>print s1[2:]             # 從下標2到最後

>>>print s1[0:5:2]          # 從下標0到下標4 (下標5不包括在內),每隔2取乙個元素 (下標為0,2,4的元素)

>>>print s1[2:0:-1]         # 從下標2到下標1

從上面可以看到,在範圍引用的時候,如果寫明上限,那麼這個上限本身不包括在內。

尾部元素引用

>>>print s1[-1]             # 序列最後乙個元素

>>>print s1[-3]             # 序列倒數第三個元素

同樣,如果s1[0:-1], 那麼最後乙個元素不會被引用 (再一次,不包括

上限元素本身)

字串是一種特殊的元素,因此可以執行元組的相關操作。

>>>str = 'abcdef'

>>>print str[2:4]

tuple元素不可變,list元素可變

序列的引用 s[2], s[1:8:2]

字串是一種tuple

3 in [1, 2, 3]

true

元素是否存在於列表中

for x in [1, 2, 3]: print x,

1 2 3迭代

基本資料型別的引數:值傳遞     本身值不變

表作為引數:指標傳遞   本身值變化相當於c++ 

讀取中文字串      a1="你好"     型別是str        a2=unicode(a1,"gbk"), 這個時候變成了中文的gbk      a2=a1.decode("gbk")與前面一樣

因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。 

decode的作用是將其他編碼的字串轉換成unicode編碼, 

如str1.decode('gb2312'),表示將gb2312編碼的字串轉換成unicode編碼。 

encode的作用是將unicode編碼轉換成其他編碼的字串, 

如str2.encode('gb2312'),表示將unicode編碼的字串轉換成gb2312編碼。 

網路安全自學習筆記 OSI與TCP IP協議基礎

分層思想 因為需要的協議太多,所以需要分層完成,也就是把複雜的問題簡單化。就像使用網路的人未必知道資料的傳輸過程。這張圖可以好好理解 需要兩個過程 裝封過程和解封過程。裝封過程 應用層 應用層傳送hello 傳輸層 傳輸層接收到hello時給hello乙個tcp udp頭 形成乙個 tcp udp頭...

石頭剪刀布自學習人工智慧

先點關注,不迷路 前一段靈光一現,想出了這個演算法 不知道以前有沒有人寫過 應該是有的 不過我覺得我還是可以大概說一下我的想法 還是那句話,講得不好勿噴 詳解 既然是自學習,那肯定是得學習的 石頭剪刀布這個遊戲本身可能是沒什麼可學的,隨機數就可以獲得不錯的勝率 由於勝負是由兩個人的決策決定的,只能通...

無監督學習之自學習與半監督學習

有兩種常見的無監督特徵學習方式,區別在於有什麼樣的未標註資料。自學習 self taught learning 是其中更為一般的 更強大的學習方式,它不要求未標註資料和已標註資料來自同樣的分布。另外一種帶限制性的方式也被稱為半監督學習,它要求未標註資料和已標註資料服從同樣的分布。這個例子裡,未標註資...