Time of Update: 2017-01-18
思路螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此迴圈。螺旋矩陣用二維數組表示,座標(x,y),即(x軸座標,y軸座標)。順時針螺旋的方向是->右,下,左,上,用數值表示即是x加1格(1,0),y加1格(0,1),x減1格(-1,0),y減1格(0,-1)。座標從(0,0)開始行走,當超出範圍或遇到障礙時切換方向。螺旋矩陣的列印首先要對n*n的數組進行賦值,根據規律可以看出,每一層都是按照右->下->左->上的順序進
Time of Update: 2017-01-18
NTP(Network Time Protocol)是由美國德拉瓦大學的David L.
Time of Update: 2017-01-18
當在子類需要調用父類的方法時,在python2.2之前,直接用類名調用類的方法,即非綁定的類方法,並把自身對象self作參數傳進去。class A(object): def say(self): print 'I am A' class B(A): def say(self): print 'I am B' A.say(self) b = B() b.say() 輸出I am BI am
Time of Update: 2017-01-18
程式中常常需要複製一個對象, 按思路應該是這樣的a = [1, 2, 3]b = a# [1, 2, 3]print b 已經複製好了,但是現在得改變一下第一個元素的值把它改成5b[0] = 5 # [5, 2, 3]print b # [5, 2, 3]print a 我改變了b的第一個元素的值,但是a的值也改變了,這是因為python中的=是引用.a和b指向的是相同的列表,所以改變列表會出現以上的結果.解決方案是切片操作a = [1, 2, 3]b = a[:]b[0] = 4# [1, 2
Time of Update: 2017-01-18
快速排序是C.R.A.Hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其為分治法(Divide-and-ConquerMethod)。1.分治法的基本思想分治法的基本思想是:將原問題分解為若干個規模更小但結構與原問題相似的子問題。遞迴地解這些子問題,然後將這些子問題的解組合為原問題的解。2.快速排序的基本思想設當前待排序的無序區為R[low..high],利用分治法可將快速排序的基本思想描述為:(1)分解:在R[low..high]中任選一個記錄作為基準(Pivot)
Time of Update: 2017-01-18
執行時間方法1複製代碼 代碼如下:import datetimestarttime = datetime.datetime.now()#long runningendtime = datetime.datetime.now()print (endtime - starttime).seconds方法 2複製代碼 代碼如下:start = time.time()run_fun()end = time.time()print end-start方法3複製代碼 代碼如下:start =
Time of Update: 2017-01-18
[Error 2] The system cannot find the file specified解決方案:1.環境變數path添加:C:\Python32\Tools\Scripts;D:\Python32;D:\Program Files\Sublime Text2;2.Python.sublime-build內容修改原內容:複製代碼 代碼如下:{ "cmd": ["python", "-u", "$file"], &
Time of Update: 2017-01-18
python中的and和or和其它語言的區別很大其它語言中的and和or都是返回bool類型的結果,python不是。它返回的是做and和or運算的其中一個值。那個值決定了這個運算式的值,就返回那個值。複製代碼 代碼如下:>> 5 and ''這裡結果是'', Null 字元串, 因為是它導致了這個運算式為false.也就是所在and中,只有前面一個值是false的時候,才有可能成為結果。否則就是後面的值為結果。瞭解了and和or啟動並執行過程,那麼就可以實現?運算式了:複製代碼
Time of Update: 2017-01-18
時區的概念與轉換首先要知道時區之間的轉換關係,其實這很簡單:把當地時間減去當地時區,剩下的就是格林威治時間了。 例如北京時間的18:00就是18:00+08:00,相減以後就是10:00+00:00,因此就是格林威治時間的10:00。而把格林威治時間加上當地時區,就能得到當地時間了。 例如格林威治時間的10:00是10:00+00:00,轉換成太平洋標準時間就是加上-8小時,因此是02:00-08:00。而太平洋標準時間轉換成北京時間轉換也一樣,時區相減即可。 例如太平洋標準時間的02:00-0
Time of Update: 2017-01-18
受控節點slave.py複製代碼 代碼如下:import socketimport reclass Log(object): file_list=['access.log','C:\\access.log'] master_ip='192.168.0.103' def __init__(self):
Time of Update: 2017-01-18
1 拷貝下面的代碼到一個檔案,並命名為forkcore.py複製代碼 代碼如下:import osimport threadingimport selectimport socketclass ds_forkcore(object): #async IO(epoll) def ds_epoll(self):
Time of Update: 2017-01-18
1 將下面代碼拷貝到一個檔案,命名為asyncore.py複製代碼 代碼如下:import socketimport selectimport sysdef ds_asyncore(addr,callback,timeout=5): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(addr) r,w,e =
Time of Update: 2017-01-18
複製代碼 代碼如下:import socketimport Queueimport threadingdef worker(): while True: i = q.get() conn=i[0] addr=i[
Time of Update: 2017-01-18
直接看例子:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-from bs4 import BeautifulSouphtml_doc = """<html><head><title>The Dormouse's story</title></head><body><p class="title"><b>The Dormouse's
Time of Update: 2017-01-18
什麼是python的裝飾器?網路上的定義:裝飾器就是一函數,用來封裝函數的函數,用來修飾原函數,將其重新賦值給原來的標識符,並永久的喪失原函數的引用。最能說明裝飾器的例子如下:複製代碼 代碼如下:#-*- coding: UTF-8 -*-import timedef foo(): print 'in foo()'# 定義一個計時器,傳入一個,並返回另一個附加了計時功能的方法def timeit(func): #
Time of Update: 2017-01-18
什麼是迭代器?迭代器是帶有next方法的簡單對象,當然也要實現__iter__函數。迭代器能在一序列的值上進行迭代,當沒有可供迭代時,next方法就會引發StopIteration 的異常。python中有很多的對象都是迭代器,例如:列表,元素,字串,檔案,映射,集合如何使用迭代器?1. for 變數 in 可迭代對象複製代碼 代碼如下: list1 = [1,2,3,4,5]for ele in list1: print
Time of Update: 2017-01-18
什麼是產生器?產生器是一個包含了特殊關鍵字yield的函數。當被調用的時候,產生器函數返回一個產生器。可以使用send,throw,close方法讓產生器和外界互動。產生器也是迭代器,但是它不僅僅是迭代器,擁有next方法並且行為和迭代器完全相同。所以產生器也可以用於python的迴圈中,產生器如何使用?首先看一個例子:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-def flatten(nested):
Time of Update: 2017-01-18
鏈表的定義:鏈表(linked
Time of Update: 2017-01-18
示意圖:python雙向鏈表實現代碼:複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-class Node(object): def __init__(self,val,p=0): self.data = val self.next =
Time of Update: 2017-01-18
複製代碼 代碼如下:#!/usr/bin/python# -*- coding: utf-8 -*-class TreeNode(object): def __init__(self,data=0,left=0,right=0): self.data = data self.left =