Time of Update: 2017-03-19
標籤:url pen qwidget ttext exit intern gen request 新聞 前幾天做了幾個簡單的爬蟲python程式,於是就想做個視窗看看效果。 首先是,視窗的
Time of Update: 2017-03-19
標籤:python 冒泡排序 code else res heapsort break int 排序演算法 (一)插入排序每次迴圈之前,前面i位總是有序的。1 def
Time of Update: 2017-03-19
Flask簡介Flask是一個相對於Django而言輕量級的Web架構。和Django大包大攬不同,Flask建立於一系列的開源軟體包之上,這其中 最主要的是WSGI應用開發庫Werkzeug和模板引擎Jinja:策略 :werkzeug和Jinja這兩個庫和Flask一樣,都是pocoo團隊開發的。這 或許體現了pocoo與Django競爭時關於生態的一種策略,這種策略的自然 延伸是Flask架構中沒有包含資料庫方面的構件,無論ORM還是其他。關注點
Time of Update: 2017-03-19
在學習機器學習演算法的過程中,我們經常需要資料來驗證演算法,調試參數。但是找到一組十分合適某種特定演算法類型的資料樣本卻不那麼容易。還好numpy, scikit-learn都提供了隨機資料產生的功能,我們可以自己產生適合某一種模型的資料,用隨機資料來做清洗,歸一化,轉換,然後選擇模型與演算法做擬合和預測。下面對scikit-learn和numpy產生資料樣本的方法做一個總結。1.
Time of Update: 2017-03-19
NumPy是Python的一種開源的數值計算擴充。這種工具可用來儲存和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。NumPy(Numeric Python)提供了許多進階的數值編程工具,如:矩陣資料類型、向量處理,以及精密的運算庫。專為進行嚴格的數文書處理而產生。多為很多大型金融公司使用,以及核心的科學計算群組織如:Lawrence
Time of Update: 2017-03-19
python讀取與寫入csv格式檔案在資料分析中經常需要從csv格式的檔案中存取資料以及將資料寫書到csv檔案中。將csv檔案中的資料直接讀取為dict類型和DataFrame是非常方便也很省事的一種做法,以下代碼以鳶尾花資料為例。csv檔案讀取為dict代碼# -*- coding: utf-8 -*-import csvwith open('E:/iris.csv') as csvfile:reader = csv.DictReader(csvfile,
Time of Update: 2017-03-19
Python自動化開發: Python介紹、Python編碼、接收執行參數、字串原理剖析推薦的書籍:python源碼剖析import 匯入同個目錄下的py檔案,執行完畢後,會產生pyc的位元組碼 可以有工具對pyc進行反編譯但是在python3不需要關注這個問題。預設是UTF8的編碼了utf8 是對unicode萬國碼的壓縮最佳化
Time of Update: 2017-03-19
python字串串連的方法,一般有以下三種:方法1:直接通過加號(+)操作符串連website = 'python' + 'tab' + '.com'方法2:join方法listStr = ['python', 'tab', '.com'] website = ''.join(listStr)方法3:替換website = '%s%s%s' %
Time of Update: 2017-03-19
在liunx系統中要想每隔一分鐘執行一個命令,最普遍的方法就是crontab了,如果不想使用crontab,經同事指點在程式中可以用定時器實現這種功能,於是就開始摸索了,發現需要一些訊號的知識...查看你的linux支援哪些訊號:kill -l 即可root@server:~# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS
Time of Update: 2017-03-19
python語言中的列表排序方法有三個:reverse反轉/倒序排序、sort正序排序、sorted可以擷取排序後的列表。在更進階列表排序中,後兩中方法還可以加入條件參數進行排序。reverse()方法將列表中元素反轉排序,比如下面這樣>>> x = [1,5,2,3,4]>>> x.reverse()>>> x[4, 3, 2, 5,
Time of Update: 2017-03-19
引用計數Python預設的垃圾收集機制是“引用計數”,每個對象維護了一個ob_ref欄位。它的優點是機制簡單,當新的引用指向該對象時,引用計數加1,當一個對象的引用被銷毀時減1,一旦對象的引用計數為0,該對象立即被回收,所佔用的記憶體將被釋放。它的缺點是需要額外的空間維護引用計數,不過最主要的問題是它不能解決“循環參考”。什麼是循環參考?A和B相互引用而再沒有外部參考A與B中的任何一個,它們的引用計數雖然都為1,但顯然應該被回收,例子: a = { } # a 的引用為 1 b = { }
Time of Update: 2017-03-19
Python中設計模式之面板模式主張以分多模組進行代碼管理而減少耦合,下面用執行個體來進行說明。應用特性:在很多複雜而小功能需要調用需求時,而且這些調用往往還有一定相關性,即一調用就是一系列的。結構特性:把原本複雜而繁多的調用,規劃統一到一個入口類中,從此只通過這一個入口調用就可以了。代碼結構樣本:class ModuleOne(object): def Create(self): print 'create module one instance' def
Time of Update: 2017-03-19
在開發上傳服務時,經常需要對上傳的檔案進行過濾。本文為大家提供了python通過檔案頭判斷檔案類型的方法,非常實用。代碼如下import struct # 支援檔案類型 # 用16進位字串的目的是可以知道檔案頭是多少位元組 # 各種檔案頭的長度不一樣,少半2字元,長則8字元 def typeList(): return { "52617221": EXT_RAR, "504B0304": EXT_ZIP} # 位元組碼轉16進位字串
Time of Update: 2017-03-19
一般來說,我們會將自己寫的Python模組與python內建的模組分開存放以達到便於維護的目的。那麼如何在Python中添加自訂的模組呢?在解答這個問題之前,我們首先要明確兩點:1.嚴格區分包(package)和檔案夾。包的定義就是包含init.py的檔案夾。如果沒有init.py,那麼就是普通的檔案夾。2.模組匯入寫法,注意只要包路徑,不要檔案夾路徑。Python 運行環境在尋找庫檔案時是對 sys.path 列表進行遍曆,如果我們想在運行環境中註冊新的類庫,主要有以下2種方法:1.
Time of Update: 2017-03-19
*args表示任何多個無名參數,它是一個tuple;**kwargs表示關鍵字參數,它是一個dict。def fun(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '###'if name == 'main': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=
Time of Update: 2017-03-19
Python中對象方法的定義很怪異,第一個參數一般都命名為self(相當於其它語言的this),用於傳遞對象本身,而在調用的時候則不必顯式傳遞,系統會自動傳遞。今天我們介紹的主角是super(), 在類的繼承裡面super()非常常用, 它解決了子類調用父類方法的一些問題, 父類多次被調用時只執行一次, 最佳化了執行邏輯,下面我們就來詳細看一下。舉一個例子:class Foo: def bar(self, message): print(message)>>> Foo(
Time of Update: 2017-03-19
sys.getdefaultencoding()是設定預設的string的編碼格式,如果你在python中進行編碼和解碼的時候,不指定編碼方式,那麼python就會使用defaultencoding。而python2.x的的defaultencoding是ascii,這也就是大多數python編碼報錯:“UnicodeDecodeError: 'ascii' codec can't decode byte ......”的原因。與此有類似功能的# coding:utf-8
Time of Update: 2017-03-19
Socket的英文原義是“孔”或“插座”。作為BSD UNIX的進程通訊機制,通常也稱作"通訊端",用於描述IP地址和連接埠,是一個通訊鏈的控制代碼,可以用來實現不同虛擬機器或不同電腦之間的通訊。網路上的兩個程式通過一個雙向的通訊串連實現資料的交換,這個串連的一端稱為一個socket。建立網路通訊串連至少要一對連接埠號碼(socket)。socket本質是編程介面(API),對TCP/IP的封裝,TCP/IP也要提供可供程式員做網路開發所用的介面,這就是Socket編程介面;
Time of Update: 2017-03-19
在Python中星號除了用於乘法數值運算和冪運算外,還有一種特殊的用法"在變數前添加單個星號或兩個星號",實現多參數的傳入或變數的拆解,本文將詳細介紹"星號參數"的用法。一、什麼是星號變數最初,星號變數是用在函數的參數傳遞上的,在下面的執行個體中,單個星號代表這個位置接收任意多個非關鍵字參數,在函數的*b位置上將其轉化成元組,而雙星號代表這個位置接收任意多個關鍵字參數,在**b位置上將其轉化成字典:#!/usr/bin/env python#coding=
Time of Update: 2017-03-19
什麼是epollepoll是什嗎?在linux的網路編程中,很長的時間都在使用select來做事件觸發。在linux新的核心中,有了一種替換它的機制,就是epoll。當然,這不是2.6核心才有的,它是在2.5.44核心中被引進的(epoll(4) is a new API introduced in Linux kernel