Time of Update: 2017-01-19
複製代碼 代碼如下:#-*- encoding: utf-8 -*-'''Created on 2014-4-24@author: Leon Wong'''import urllib2import urllibimport reimport timeimport osimport uuid#擷取二級頁面urldef findUrl2(html): re1 =
Time of Update: 2017-01-19
利用http://tool.oschina.net/less 提供的介面,發送請求進行遠程編譯.再將編譯好的less,儲存為同名尾碼為css的檔案中.第一次使用python,代碼也是拼拼湊湊的.需要加上線程進行非同步請求,但是不會...複製代碼 代碼如下:import sublime, sublime_pluginimport urllibimport jsonclass exampleCommand(sublime_plugin.TextCommand): def run(self,
Time of Update: 2017-01-19
註:使用的是Python2.7。一、執行個體方法執行個體方法就是類的執行個體能夠使用的方法。如下:複製代碼 代碼如下:class Foo: def __init__(self, name): self.name = name def hi(self):
Time of Update: 2017-01-19
註:使用的是Python 2.7。一個簡單實現複製代碼 代碼如下:class Foo(object): __instance = None def __init__(self): pass @classmethod def getinstance(cls): &
Time of Update: 2017-01-19
關於設計模式中的觀察者模式,定義如下(維基百科):觀察者模式(有時又被稱為發布/訂閱模式)是軟體設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用來實作事件處理系統。簡單來說,一個被觀察者有很多觀察者,被觀察者的狀態的改變會引起所有觀察者的響應操作。那麼我們用Python2.7來實現觀察者模式。Python中的集合set集合(set),類似於列表(list),但是它沒有重複的元素
Time of Update: 2017-01-19
翻牆常用的方式就是使用代理(Proxy),其基本過程如下:瀏覽器<-->Proxy 伺服器<-->伺服器如果瀏覽器請求不到伺服器,或者伺服器無法響應瀏覽器,我們可以設定將瀏覽器的請求傳遞給Proxy 伺服器,Proxy 伺服器將請求轉寄給伺服器。然後,Proxy 伺服器將伺服器的響應內容傳遞給瀏覽器。當然,Proxy
Time of Update: 2017-01-19
列表推導(List comprehension)的作用是為了更方便地產生列表(list)。比如,一個list變數的元素均為數字,如果需要將每個元素的值乘以2並產生另外一個list,下面是一種做法:複製代碼 代碼如下:#-*-encoding:utf-8-*-list1 = [1,2,4,5,12]list2 = []for item in list1: list2.append(item*2)print list2如果使用列表推導,可以這樣:複製代碼
Time of Update: 2017-01-19
1、Numpy是什麼很簡單,Numpy是Python的一個科學計算的庫,提供了矩陣運算的功能,其一般與Scipy、matplotlib一起使用。其實,list已經提供了類似於矩陣的表示形式,不過numpy為我們提供了更多的函數。如果接觸過matlab、scilab,那麼numpy很好入手。 在以下的程式碼範例中,總是先匯入了numpy:複製代碼 代碼如下:>>> import numpy as np>>> print np.version.version1.6
Time of Update: 2017-01-19
1、先看看什麼是 iterable 對象以內建的max函數為例子,查看其doc:複製代碼 代碼如下:>>> print max.__doc__max(iterable[, key=func]) -> valuemax(a, b, c, ...[, key=func]) -> valueWith a single iterable argument, return its largest item.With two or more arguments, return
Time of Update: 2017-01-19
table通過使用下面語句建立:複製代碼 代碼如下:create table userinfo(name text, email text)更快地插入資料在此用time.clock()來計時,看看以下三種方法的速度。複製代碼 代碼如下:import sqlite3import timedef create_tables(dbname): conn = sqlite3.connect(dbname)
Time of Update: 2017-01-19
主要是:前序走訪、中序遍曆、後序遍曆、層級遍曆、非遞迴前序走訪、非遞迴中序遍曆、非遞迴後序遍曆複製代碼 代碼如下:#!/usr/bin/env python#-*- coding:utf8 -*-class TreeNode(object): def __init__(self, data=None, left=None, right=None): self.data =
Time of Update: 2017-01-19
1.__new__(cls, *args, **kwargs) 建立對象時調用,返回當前對象的一個執行個體;注意:這裡的第一個參數是cls即class本身2.__init__(self, *args, **kwargs) 建立完對象後調用,對當前對象的執行個體的一些初始化,無傳回值,即在調用__new__之後,根據返回的執行個體初始化;注意,這裡的第一個參數是self即對象本身【注意和new的區別】3.__call__(self, *args, **kwargs)
Time of Update: 2017-01-19
一、擷取二叉樹的深度就是二叉樹最後的層次,如下圖:實現代碼:複製代碼 代碼如下:def getheight(self): ''' 擷取二叉樹深度 ''' return self.__get_tree_height(self.root) def __get_tree_
Time of Update: 2017-01-19
遍曆方案 從二叉樹的遞迴定義可知,一棵非空的二叉樹由根結點及左、右子樹這三個基本部分組成。因此,在任一給定結點上,可以按某種次序執行三個操作: 1).訪問結點本身(N) 2).遍曆該結點的左子樹(L) 3).遍曆該結點的右子樹(R)有次序: NLR、LNR、LRN遍曆的命名
Time of Update: 2017-01-19
先建立二叉樹節點,有一個data資料域,left,right 兩個指標域複製代碼 代碼如下:# -*- coding: utf - 8 - *- class TreeNode(object): def __init__(self, left=0,
Time of Update: 2017-01-19
一、樹的定義樹形結構是一類重要的非線性結構。樹形結構是結點之間有分支,並具有層次關係的結構。它非常類似於自然界中的樹。樹的遞迴定義:樹(Tree)是n(n≥0)個結點的有限集T,T為空白時稱為空白樹,否則它滿足如下兩個條件:(1)有且僅有一個特定的稱為根(Root)的結點;(2)其餘的結點可分為m(m≥0)個互不相交的子集Tl,T2,…,Tm,其中每個子集本身又是一棵樹,並稱其為根的子樹(Subree)。二、二叉樹的定義二叉樹是由n(n≥0)個結點組成的有限集合、每個結點最多有兩個子樹的有序樹。
Time of Update: 2017-01-19
SQLAlchemy的理念是,SQL資料庫的量級和效能重要於對象集合;而對象集合的抽象又重要於表和行。一 安裝 SQLAlchemy複製代碼 代碼如下:pip install sqlalchemy匯入如果沒有報錯則安裝成功複製代碼 代碼如下:>>> import sqlalchemy>>> sqlalchemy.__version__'0.9.1'>>>二 使用 sqlalchemy對資料庫操作1. 定義元資訊,綁定到引擎複製代碼 代碼如下:
Time of Update: 2017-01-19
遠程調用使得調用遠程伺服器的對象、方法的方式就和調用本機物件、方法的方式差不多,因為我們通過網路編程把這些都隱藏起來了。遠程調用是分布式系統的基礎。遠程調用一般分為兩種,遠端程序呼叫(RPC)和遠程方法調用(RMI)。RPCRPC屬於函數層級的遠程調用,其多是通過HTTP傳輸資料,資料形式有XML、JSON、序列化資料等。在此,用python做一個xml-rpc的樣本。 先給伺服器端server.py:複製代碼 代碼如下:from SimpleXMLRPCServer import
Time of Update: 2017-01-19
SQLObject和SQLAlchemy都是Python語言下的ORM(對象關係映射)解決方案,其中SQLAlchemy被認為是Python下事實上的ORM標準。當然,兩者都很優秀。一、安裝複製代碼 代碼如下:sudo pip install SQLObject使用SQLObject操作mysql時候報錯ImportError: No module named MySQLdb,那便安裝MySQLdb:複製代碼 代碼如下:sudo pip install
Time of Update: 2017-01-19
複製代碼 代碼如下:#!/usr/bin/env pythonimport sys,timefrom socket import socketdef read_interface(in_file): with file(in_file) as f: return f.readlines()[2:]def set_interface(inter_msg):