Time of Update: 2016-06-06
面對對象(oop)中的對象,是一個非常重要的知識點,我們可以把它簡單看做是資料以及由存取、操作這些資料的方法所組成的一個集合。我們在學習函數(function)之後,知道了如果重用代碼,那為什麼還要用類來取代函數呢?類有這樣一些的優點1)
Time of Update: 2016-06-06
測試組態檔案test.conf內容如下: 代碼如下:[first]w = 2v: 3c =11-3[second]sw=4test: hello測試組態檔案中有兩個地區,first和second,另外故意添加一些空格、換行。下面解析: 代碼如下:>>> import ConfigParser>>> conf=ConfigParser.ConfigParser()>>> conf.read('test.conf')['test.conf']>>> conf.sections()
Time of Update: 2016-06-06
基數排序法又稱桶子法(bucket sort)或bin sort,顧名思義,它是透過索引值的部份資訊,將要排序的元素分配至某些"桶"中,藉以達到排序的作用,基數排序法是屬於穩定性的排序,其時間複雜度為O (nlog(r)m),其中r為所採取的基數,而m為堆數,在某些時候,基數排序法的效率高於其它的比較性排序法。 代碼如下:# -*- coding: utf-8 -*-def _counting_sort(A, i): """計數排序,以i位進行排序,以適用於基數排序。 Args:
Time of Update: 2016-06-06
python演算法學習之計數排序執行個體 代碼如下:# -*- coding: utf-8 -*-def _counting_sort(A, B, k): """計數排序,偽碼如下: COUNTING-SORT(A, B, k) 1 for i ← 0 to k // 初始化儲存區的值 2 do C[i] ← 0 3 for j ← 1 to length[A] // 為各值計數 4 do C[A[j]] ← C[A[j]] + 1 5
Time of Update: 2016-06-06
代碼如下:from sgmllib import SGMLParserimport urllib2class sgm(SGMLParser): def reset(self): SGMLParser.reset(self) self.srcs=[] self.ISTRUE=True def start_div(self,artts): for k,v in artts: if v=="author":
Time of Update: 2016-06-06
上個月就打算開發個還算好玩的項目,但是一直沒時間。這篇是此項目用到的一部分,處理好此部分基本還差通訊等方面的了。首先類比滑鼠鍵盤按下釋放的動作,本人利用X11這個庫,所以要瞭解X11編程;其次,本身用c或者c++就可以實現了,但是由於本人是py粉,所以總想把代碼搬進python,所以本人就要實現python模組,本篇用的ctypes,以後會把python的c擴充模組附上來的。 1.X11編程
Time of Update: 2016-06-06
代碼如下:# 比較兩個字串,如果不同返回第一個不相同的位置# 如果相同返回0def cmpstr(str1, str2): col = 0 for c1, c2 in zip(str1, str2): if c1 == c2: col += 1 continue else : break #判斷是怎樣退出迴圈的,還有一種情況是串長度不同 if c1 != c2 or
Time of Update: 2016-06-06
一、相關代碼資料庫配置類 MysqlDBConn.py 代碼如下:#encoding=utf-8'''Created on 2012-11-12Mysql Conn串連類'''import MySQLdbclass DBConn: conn = None #建立和資料庫系統的串連 def connect(self): self.conn = MySQLdb.connect(host="localhost",port=3306,user="house",
Time of Update: 2016-06-06
一、相關代碼資料庫配置類 MongoDBConn.py 代碼如下:#encoding=utf-8'''Mongo Conn串連類'''import pymongoclass DBConn: conn = None servers = "mongodb://localhost:27017" def connect(self): self.conn = pymongo.Connection(self.servers) def close(self):
Time of Update: 2016-06-06
直接上代碼了 代碼如下:import smtplibmsg = MIMEMultipart()#構造附件1att1 = MIMEText(open('/home/a2bgeek/develop/python/hello.py', 'rb').read(), 'base64', 'gb2312')att1["Content-Type"] = 'application/octet-stream'att1["Content-Disposition"] = 'attachment; filename="
Time of Update: 2016-06-06
不管何時何地,只要我們編程時遇到了跟時間有關的問題,都要想到 datetime 和 time 標準庫模組,今天我們就用它內部的方法,詳解python操作日期和時間的方法。1.將字串的時間轉換為時間戳記 代碼如下:方法:a = "2013-10-10 23:40:00"#將其轉換為時間數組import timetimeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")#轉換為時間戳記:timeStamp =
Time of Update: 2016-06-06
代碼如下:#!/usr/bin/env/ python#coding=utf-8import mechanizeimport cookielib# Cookie Jarcj = cookielib.LWPCookieJar()# Browserbr = mechanize.Browser()br.set_cookiejar(cj)# Browser
Time of Update: 2016-06-06
大家都知道,linux裡一切皆為檔案,在linux/unix的根目錄下,有個/proc目錄,這個/proc 是一種核心和核心模組用來向進程(process)發送資訊的機制(所以叫做“/proc”),這個偽檔案系統允許與核心內部資料結構互動,擷取有關進程的有用資訊,在運行中(on the fly)改變設定(通過改變核心參數)。與其他檔案系統不同,/proc 存在於記憶體而不是硬碟中。proc 檔案系統提供的資訊如下:•進程資訊:系統中的任何一個進程,在 proc
Time of Update: 2016-06-06
字典dictionary1.索引值對的集合(map)2.字典是以大括弧“{}”包圍的資料集合3.字典是無序的,在字典中通過鍵來訪問成員。 可變的,可嵌套,可以原處修改擴充等,不產生新的字典4.字典的鍵,可以是字串(大小寫敏感),數字常量或元組(不可變類型),同一個字典的鍵可以混用類型。字典的鍵必須是可雜湊的元組作為鍵的條件是,元組內的值都是不可變類型 代碼如下:a = (1,2) #可以作為鍵b = (1,2,[3,4])
Time of Update: 2016-06-06
最近用python寫了一個遠程監控的程式,主要功能有:1.用郵件控制所以功能2.可以對螢幕,螢幕發送到郵箱3.可以用網路攝影機擷取圖片,這些圖片上傳到七牛4.開機自啟動 代碼如下:##coding by loster#import win32apiimport win32conimport platformimport socketimport timeimport osimport smtplibimport poplibfrom VideoCapture import Devicefrom
Time of Update: 2016-06-06
調用時輸入參數如: www.bitsCN.com/表示刪除www.bitsCN.com首頁的緩衝, www.bitsCN.com/test.php就表示刪除/test.php的緩衝 代碼如下:#coding=utf8import sys,osimport hashlibif len(sys.argv) print("你沒有輸入地址。") sys.exit()path="/home/cache"#緩衝目錄md5v =
Time of Update: 2016-06-06
代碼如下:/** * 遞迴法實現的快速排序 * @param $seq * @return array */function quicksort($seq){ if (count($seq) > 1) { $k = $seq[0]; $x = array(); $y = array(); $_size = count($seq); //do not use count($seq) in loop for. for
Time of Update: 2016-06-06
實現了簡單版本的logging.config,支援一般的通過config檔案進行配置。感覺還有更好的方法,是直接利用logging.config.fileConfig(log_config_file)方式讀進來之後,通過修改handler方式來進行修改。 代碼如下:"""project trace system"""import sysimport ConfigParserimport loggingimport logging.configimport warningsif __name__
Time of Update: 2016-06-06
何謂引用傳遞,我們來看一個C++交換兩個數的函數: 代碼如下:void swap(int &a, int &b){ int temp; temp = a; a = b; b =
Time of Update: 2016-06-06
PySide是一個免費的軟體,與PyQt不同之處在於使用了LGPL,允許PySide免費的開發商業軟體。 PySide有15個模組。這些模組支援對GUI,多媒體,XML,網路以及資料庫進行操作。本教程的目的主要是學習其中的兩個模組:QtCore和QtGui。QtCore是非介面功能模組,主要對檔案目錄,資料類型,輸入輸出資料流,url以及線程等提供支援。QtGui提供了對常見介面元素的支援,例如,對話方塊,視窗,狀態列,工具列等等。首先從Hello world開始