Time of Update: 2018-07-24
參考書:演算法設計與分析 王曉東 編著 :第7章 機率演算法 7.5 蒙特卡羅演算法 http://www.gdfc.org.cn/datas/history/twocolorball/history_1.html 抓取雙色球開獎資料 2017001,09,11,14,20,25,26,15 2017002,15,19,23,24,25,32,03 2017003,01,04,08,15,27,32,16 ... ... 存為資料檔案: cp20
Time of Update: 2018-07-24
第二章 Numpy基礎 2.6 改變數組維度 ravel()、flatten() 將多維陣列展平 b.transpose() 矩陣轉置,等同於b.T,一維數組不變 reshape() 改變數組維度 2.8 組合數組 hstack((a, b)) 水平組合,等同於 concatenate((a, b), axis=1) vstack((a, b)) 垂直組合,等同於 concatenate((a, b), axis=0) column_stack((a, b))
Time of Update: 2018-07-24
python字典是python中非常重要的一個基礎類型,它是一個高效的基礎類型,不僅在編寫程式的時候經常用到,就連python底層的實現都大量的使用了字典。 主要從幾個方面去學習python的字典 1. 字典的基本使用2. 字典的擴充和針對它的一些類庫(針對特殊用途的字典)3. 自訂自己的字典4. 字典的底層實現 字典的基本使用 建立字典
Time of Update: 2018-07-24
如果想對python指令碼傳參數,python中對應的argc, argv(c語言的命令列參數)是什麼呢。 需要模組:sys 參數個數:len(sys.argv)指令碼名: sys.argv[0] 參數1: sys.argv[1] 參數2: sys.argv[2]test.py 1
Time of Update: 2018-07-24
1.字典 1.1.字典的定義: 在元組和列表中,都是通過編號進行元素的訪問,但有的時候我們按名字進行資料甚至資料結構的訪問,所以引入了字典 字典是一種通過名字或者關鍵字引用的得資料結構,其鍵可以是數字、字串、元組,這種結構類型也稱之為映射。映射其實就是一組key和value以及之間的映射函數,其特點是:key的唯一性、key與value的一對多的映射。 1.2.字典的方法 dict.clear()
Time of Update: 2018-07-24
python函數中輸入關鍵字參數——字典參數,怎麼樣按輸入的順序輸出。 為了方便理解,舉多個例子: 例子一: https://www.zhihu.com/question/24360507 #編寫者 def test(**kwargs): print args.keys()#使用者,我如下調用test(a=1, c=3, d=2, e=4)#然後輸出的關鍵字是按照函數調用的順序給輸出(a,c,d,e),而不是無序輸出。 例子二:
Time of Update: 2018-07-24
轉文章(1) 當形參如*arg時表示傳入數組,當形參如**args時表示傳入字典。 Python代碼 def myprint(*commends,**map): for comm in commends: print comm
Time of Update: 2018-07-24
最近在看python中關於協程的部分,看到廖雪峰的官方網站中關於消費者和生產者那一部分有些困惑,於是自己研究了一下,有了以下瞭解: 代碼: def consumer(): r = 'a' while True: print('there') n = yield r print('here') if not n: return print('[CONSUMER] Consuming %s.
Time of Update: 2018-07-24
詞典 可以儲存多個元素的對象成為容器,前面提到的list和tuple都屬於容器類,這裡介紹一個新的容器:詞典。 基本概念 常見的建立詞典的基本方法: dic={'鍵':值,'鍵':值,'鍵':值...} 詞典包含兩部分,鍵和值,其中鍵一般為字串,也可以為數字或真值(不可變的對象可以作為鍵)。值可以是任意對象,鍵和值兩者一一對應。 詞典特殊的地方是,與表相比,他當中的元素是無序的,因此就不能通過下標來訪問元素。詞典是通過鍵來引用的。 構建一個新的空詞典: dic =
Time of Update: 2018-07-24
例: def student_info(a,number=0000,*args,**qwer) 分別為普通參數,預設參數,不定長參數,不定長關鍵字參數 預設參數:表示在調用這個 函數時,當不給這個參數賦值時,它選擇預設值;當為它賦值時,它就選擇你賦的值
Time of Update: 2018-07-24
必選參數 def enroll(name, gender): print 'name:', name, 'gender:', genderenroll('Bob', 'M')enroll('Lily', 'F') output: name: Bob gender: Mname: Lily gender: F 預設參數 def enroll(name, gender, age = 8, city = 'Hangzhou'): print 'name:'
Time of Update: 2018-07-24
1、必選參數 2、預設參數 3、可變參數(*var)var接收的是一個tuple或list *nums表示把nums這個list的所有元素作為可變參數傳進去。這種寫法相當有用,而且很常見。 定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號。在函數內部,參數numbers接收到的是一個tuple,因此,調用該函數時,可以傳入任意個參數,包括0個參數: 4、命名關鍵字參數(*,varname1,)
Time of Update: 2018-07-24
最近看learn python,看到使用函數屬性完成nonlocal的效果。 def test(start): def nest(label): print(label,nest.state) nest.state+=1 nest.state=start return nest 個人覺得這是排版錯誤。應該如下: def test(start): def nest(label): print(label,nest.state) nest.state+=1
Time of Update: 2018-07-24
屬性函數(@property) 在對象中兩個很重要的元素就是屬性和方法,在調用的時候兩者是有區別的。 class People: def __init__(self,first_name,last_name): self.first_name = first_name self.last_name = last_name def get_first_name(self): return self.first_namea =
Time of Update: 2018-07-24
http://blog.csdn.net/pipisorry/article/details/39123103 函數的建立 當我們在Python裡定義函數時發生了什麼呢。 關鍵字def有兩個功能:它可以建立一個函數對象,然後把這個函數對象賦值給一個變數(即我們的函數名)。 函數對象的屬性 Python是物件導向的語言,在python中一切皆對象。函數屬性以字典的形式儲存的,鍵為屬性名稱,值為屬性內容。
Time of Update: 2018-07-24
1. 切片 Slice slice操作符: eg. L[0:3] , 取索引0,1,2的元素,不包括3。L[-1]取倒數第一個元素。L[:10:2]取前十個元素,每兩個取一次。 可以對list , tuple , str 進行slice操作。 2. 迭代 迭代使用 for...in...實現,只要對象是可迭代的,都可以使用迭代形式。isinstance(obj, Iterable) 注意:dict不是按照順序儲存的,所以dict迭代出的順序很可能不一樣。
Time of Update: 2018-07-24
python中元類是建立類對象的對象,這句話說著有點拗口。想瞭解元類首先我們要瞭解一下類,類是用來建立對象的一種規則。在Python中類也是一種對象。每種對象都是有類型的,那麼類是屬於哪種類型。 我們來做一下實驗: class A: passa = A()a.__class__ #<class '__main__.A'>,使用__class__屬性或者使用type內建函數來查看他的類型#既然說類也是對象,那麼我們看看類的類型是什麼a.__class__.__class__ #&
Time of Update: 2018-07-24
判斷類型 在Python中我們可以使用type進行類型的判斷 #我們想看一個對象的的類型可以這樣class A: passa = A()type(a) == A #True#type(obj) 會返回建立a的類型 建立對象 #這個簡單,因為type會返回對象的類型,我們可以通過返回的類型建立對象type(a)()#如果建構函式有參數則應傳遞相應參數#上述語句可以分解為A = type(a)A() 建立類
Time of Update: 2018-07-24
本文轉自點擊開啟連結 Python中函數傳遞參數有四種形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四種中最常見是前兩種,基本上一般點的教程都會涉及,後兩種一般很少單獨出現,常用在混合模式中 第一種 fun1(a,b,c)是直接將實參賦予行參,根據位置做匹配,即嚴格要求實參的數量與行參的數量位置相等,比較一般,大多數語言常用這種方式。
Time of Update: 2018-07-24
#引子 首先來看一個列子: def change(val): val.append(100) val = ['T', 'Z', 'Y']nums = [0, 1]change(nums)print(nums) 猜猜結果應該是什麼。 按照C++語言的思維,如果Python函數參數的傳遞是傳值的話,結果應該是[0, 1],如果是傳引用的話,結果應該是[‘T’, ‘Z’, ‘Y’]。 可是實際結果是:[0, 1, 100]。所以,Python函數參數的傳遞既不是所謂的傳值也不是傳引用。