Time of Update: 2017-01-19
本文執行個體講述了python中bisect模組用法,分享給大家供大家參考。具體方法分析如下:這個模組只有幾個函數,一旦決定使用二分搜尋時,立馬要想到使用這個模組。範例程式碼如下:import bisectL = [1,3,3,6,8,12,15]x = 3x_insert_point = bisect.bisect_left(L,x)#在L中尋找x,x存在時返回x左側的位置,x不存在返回應該插入的位置..這是3存在於列表中,返回左側位置1print
Time of Update: 2017-01-19
本文執行個體講述了python實現給字典添加條目的方法,是針對字典操作中比較實用的技巧。分享給大家供大家參考。具體實現方法如下:def addWord(theIndex,word,pagenumber): theIndex.setdefault(word, [ ]).append(pagenumber)#存在就在基礎上加入列表,不存在就建立個字典key d = {"hello":[3]} #d = {} addWord(d,"hello",3) addWord(d,"hello",56)
Time of Update: 2017-01-19
本文執行個體講述了python實現忽略大小寫對字串列表排序的方法,是非常實用的技巧。分享給大家供大家參考。具體分析如下:先來看看如下代碼:string = '''the stirngHas manyline InTHE fIlejb51 net'''list_of_string = string.split()print list_of_string #將字串分離開,放入列表中print '*'*50def case_insensitive_sort(liststring):
Time of Update: 2017-01-19
本文執行個體講述了python對字典進行排序的方法,是非常實用的技巧。分享給大家供大家參考。具體實現方法如下:import itertools thekeys = ['b','a','c'] thevalues = ['bbb','aaa','cccc'] d = dict(itertools.izip(thekeys,thevalues)) #建立字典 print d def sortedDictValue(adict): keys = adict.keys()
Time of Update: 2017-01-19
本文執行個體講述了python實現在無須過多援引的情況下建立字典的方法。分享給大家供大家參考。具體實現方法如下:1.使用itertools模組import itertoolsthe_key = ['ab','22',33]the_vale = ['aaaa',"dddddddd",'22222222222']d = dict(itertools.izip(the_key,the_vale))print d2.加參數dict = dict(red = 1,bule = 2,yellow =
Time of Update: 2017-01-19
本文執行個體講述了python迭代器的簡單用法,分享給大家供大家參考。具體分析如下:產生器運算式是用來產生函數調用時序列參數的一種迭代器寫法產生器對象可以遍曆或轉化為列表(或元組等資料結構),但不能切片(slicing)。當函數的唯一的實參是可迭代序列時,便可以去掉產生器運算式兩端>的圓括弧,寫出更優雅的代碼:>>>> sum(i for i in xrange(10)) 45sum聲明:sum(iterable[, start])Sums start and
Time of Update: 2017-01-19
變數命名在《初識永遠強大的函數》一文中,有一節專門討論“取名字的學問”,就是有關變數名稱的問題,本溫故而知新的原則,這裡要複習:名稱格式:(底線或者字母)+(任意數目的字母,數字或底線)注意: 1.區分大小寫 2.禁止使用保留字 3.遵守通常習慣 •以單一底線開頭的變數名(_X)不會被from module import *語句匯入的。 •前後有底線的變數名(X)是系統定義的變數名,對解譯器有特殊意義。 R
Time of Update: 2017-01-19
在《永遠強大的函數》那一講中,老齊我已經向看官們簡述了一下變數,之後我們就一直在使用變數,每次使用變數,都要有一個操作,就是賦值。本講再次提及這個兩個事情,就是要讓看官對變數和賦值有一個知其然和知其所以然的認識。當然,最後能不能達到此目的,主要看我是不是說的通俗易懂了。如果您沒有明白,就說明我說的還不夠好,可以聯絡我,我再為您效勞。變數和對象在《learning python》那本書裡面,作者對變數、對象和引用的關係闡述的非常明了。我這裡在很大程度上是受他的啟發。感謝作者Mark
Time of Update: 2017-01-19
最近開始研究Python的並行開發技術,包括多線程,多進程,協程等。逐步整理了網上的一些資料,今天整理了一下greenlet相關的資料。並發處理的技術背景並行化處理目前很受重視, 因為在很多時候,並行計算能大大的提高系統輸送量,尤其在現在多核多處理器的時代, 所以像lisp這種古老的語言又被人們重新拿了起來, 函數式編程也越來越流行。 介紹一個python的平行處理的一個庫: greenlet。 python 有一個非常有名的庫叫做 stackless ,用來做並發處理,
Time of Update: 2017-01-19
回顧一下已經瞭解的資料類型:int/str/bool/list/dict/tuple還真的不少了.不過,python是一個發展的語言,沒準以後還出別的呢.看官可能有疑問了,出了這麼多的資料類型,我也記不住呀,特別是裡面還有不少方法.不要擔心記不住,你只要記住愛因斯坦說的就好了.愛因斯坦在美國演講,有人問:“你可記得聲音的速度是多少?你如何記下許多東西?”愛因斯坦輕鬆答道:“聲音的速度是多少,我必須查辭典才能回答。因為我從來不記在辭典上已經印著的東西,我的記憶力是用來記憶書本上沒有的東西。”多麼霸
Time of Update: 2017-01-19
dict的很多方法跟list有類似的地方,下面一一道來,並且會跟list做一個對比嵌套嵌套在list中也存在,就是元素是list,在dict中,也有類似的樣式:>>> a_list = [[1,2,3],[4,5],[6,7]]>>> a_list[1][1]5>>> a_dict = {1:{"name":"qiwsir"},2:"python","email":"qiwsir@gmail.com"}>>> a_dict{
Time of Update: 2017-01-19
本文執行個體講述了python網路編程之讀取網站根目錄的方法,分享給大家供大家參考。具體實現方法如下:import socket, sys port = 70 host = "quux.org" filename = "//" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) s.sendall(filename+"\r\n") while(1): buf = s.recv(204
Time of Update: 2017-01-19
本文執行個體簡單講述了python中sets模組的用法,分享給大家供大家參考。具體方法如下:import sets magic_chars = sets.Set('abracadabra') print magic_chars poping_chars = sets.Set('supercalifragilisticeexpialidocious') print poping_chars print "".join(magic_chars & poping_chars)程式運行結果如下:Set(
Time of Update: 2017-01-19
本文執行個體講述了python根據路徑匯入模組的方法,分享給大家供大家參考。具體方法如下:常規做法如下:import sys sys.path.append('C:/full/path') from foo import util,bar 而要直接通過路徑import imp util = imp.load_source('util', 'C:/full/path/foo/util.py') 使用時使用util.method,此時並沒有定義method method =
Time of Update: 2017-01-19
本文執行個體講述了python基於xml parse實現解析cdatasection資料的方法,分享給大家供大家參考。具體實現方法如下:from xml.dom.minidom import * implementation = DOMImplementation() print "Core:%s" % implementation.hasFeature('core', '2.0') print "Events:%s" % implementation.hasFeature('Events'
Time of Update: 2017-01-19
本文執行個體講述了logging模組的用法執行個體,分享給大家供大家參考。具體方法如下:import logging import os log = logging.getLogger() formatter = logging.Formatter('[%(asctime)s] [%(name)s] %(levelname)s: %(message)s') stream_handler = logging.StreamHandler() file_handler =
Time of Update: 2017-01-19
本文執行個體講述了python中asyncore模組的用法,分享給大家供大家參考。具體方法如下:執行個體代碼如下:##asyncore import asyncore,socket ######################################################################## class AsyncGet(asyncore.dispatcher): """ the defined class """ #-----------
Time of Update: 2017-01-19
本文講述了python提示No module named images的解決方案,非常實用!分享給大家供大家參考。具體方法如下:出現提示:ImportError: No module named images表示找不到images模組可將:import images替換為:import wx.py.images as images將:images.getNewBitmap替換為:images.getPyBitmap()即可解決問題。希望本文所述對大家的Python程式設計有所協助。
Time of Update: 2017-01-19
最近學習了python的一些伺服器端編程,記錄在此。發送get/post請求# coding:utf-8import httplib,urllib #載入模組#urllib可以開啟網站去拿#res = urllib.urlopen('http://baidu.com');#print res.headers#定義需要進行發送的資料 params = urllib.urlencode({'param':'6'});#定義一些檔案頭 headers =
Time of Update: 2017-01-19
python有一個用於解析feed的模組:feedparser,feedparser解析各種feed是非常方便的,唯一比較惱火的是遇到一些badurl,經常會導致堵塞,因此需要為feedparser設定一個逾時時間。可是feedparser並沒有提供這個功能,只好採用其他方法了,具體辦法請參看feedparser項目的issue221。其實也很簡單,按照上面文檔的說明developers have had the ability to set a global timeout for over