Time of Update: 2016-08-04
標籤:SQLAchemySQLAlchemy是Python程式設計語言下的一款ORM架構,該架構建立在資料庫API之上,使用關聯性物件映射進行資料庫操作,簡言之便是:將對象轉換成SQL,然後使用資料API執行SQL並擷取執行結果。一、底層處理使用 Engine/ConnectionPooling/Dialect 進行資料庫操作,Engine使用ConnectionPooling串連資料庫,然後再通過Dialect執行SQL語句。#!/usr/bin/env python# -*- coding:
Time of Update: 2016-08-04
Python是支援可視化編程,即編寫gui程式,你可以用它來編寫自己喜歡的傳統型程式。使用wxPython來做介面非常的簡單,只是不能像C#一樣拖動控制項,需要自行寫代碼布局。在完成編寫之後,由於直接的py檔案不能再沒有安裝python的電腦上運行,能否有一個打包成在任意電腦都能啟動並執行工具,網上找找發現了py2exe正好可以完成這個功能。wxPython和py2exe都是開源免費軟體。環境配置wxPython:
Time of Update: 2016-08-04
首先,為什麼選擇Tornado:1.高效能的網路程式庫,這可以和gevent,twisted,libevent等做對。提供了非同步io支援,逾時事件處理,在此基礎上提供了tcpserver,httpclient,尤其是curlhttpclient,在現有http用戶端中肯定排第一。可以用來做爬蟲,遊戲伺服器,據我所知業界已有使用tornado作為遊戲伺服器2.web架構,這可以和django,flask對。提供了路由,模板等web架構必備組件。與其他區別是tornado是非同步,天然適合長輪訓,
Time of Update: 2016-08-04
template中的_parse方法是模板文法的解析器,而這個檔案中一坨一坨的各種node以及block,就是解析結果的承載者,也就是說在經過parse處理過後,我們輸入的tornado的html模板就變成了各種block的集合。這些block和node的祖宗就是這個“抽象”類, _Node,它定義了三個方法定義,其中generate方法是必須由子類提供實現的(所以我叫它“抽象”類)。
Time of Update: 2016-08-04
網頁中的資料在傳遞的時候有GET和POST兩種方式,GET是以網址的形式傳參數,在web.py中有著很好的匹配,如果我們配置以下的urls urls =( '/','index', '/weixin/(.*?)','WeixinInterface' )先不考慮/weixin/後面的東西,現在我們來寫index的類 class index: def GET(self): i = web.input(name = 'kevinkelin',age = 100)
Time of Update: 2016-08-04
一、Array數組的更改array數組中修改的API樣本如下://建立大量相同元素的數組//建立有10個String類型元素的數組,並且每個元素都為字串"Hello"//swift2.2//var array3 = [String](count: 10, repeatedValue: "Hello")//swift3.0var array3 = [String](repeating: "Hello", count: 10)//建立有10個Int類型元素的數組,且每個元素都為1//swift2.2
Time of Update: 2016-08-04
logging模組簡介Python的logging模組提供了通用的日誌系統,可以方便第三方模組或者是應用使用。這個模組提供不同的記錄層級,並可以採用不同的方式記錄日誌,比如檔案,HTTP GET/POST,SMTP,Socket等,甚至可以自己實現具體的日誌記錄方式。logging模組與log4j的機制是一樣的,只是具體的實現細節不同。模組提供logger,handler,filter,formatter。
Time of Update: 2016-08-04
一、最基礎的應用import urllib2url = r'http://www.baidu.com'html = urllib2.urlopen(url).read()print html用戶端與伺服器端通過request與response來溝通,用戶端先向服務端發送request,然後接收服務端返回的responseurllib2提供了request的類,可以讓使用者在發送請求前先構造一個request的對象,然後通過urllib2.urlopen方法來發送請求import
Time of Update: 2016-08-04
cookielib是一個自動處理cookies的模組,如果我們在使用爬蟲等技術的時候需要儲存cookie,那麼cookielib會讓你事半功倍!他最常見的搭檔模組就是python下的urllib和request。核心類1.Cookie該類實現了Netscape and RFC 2965 cookies定義的cookie標準,基本可以理解為某一條cookie資料。部分代碼如下,很多屬性是不是很眼熟? self.domain_initial_dot = domain_initial_dot
Time of Update: 2016-08-04
類與執行個體類與執行個體相互關聯著:類是對象的定義,而執行個體是“真正的實物”,它存放了類中所定義的對象的具體資訊。下面的樣本展示了如何建立一個類:class MyNewObjectType(bases): ''' 建立 MyNewObjectType 類''' class_suite關鍵字是 class,緊接著一個類名。隨後是定義類的類代碼。這裡通常由各種各樣的定義和聲明組成。新式類和經典類聲明的最大不同在於,所有新式類必須繼承至少一個父類,參數 bases
Time of Update: 2016-08-04
一切皆是對象在 Python 一切皆是對象,包括所有類型的常量與變數,整型,布爾型,甚至函數。 參見stackoverflow上的一個問題 Is everything an object in python like ruby代碼中即可以驗證:# everythin in python is object def fuction(): return print isinstance(True, object) print isinstance(0, object) print
Time of Update: 2016-08-04
Jinja2需要Python2.4以上的版本。 安裝 按照Jinja有多種方式,你可以根據需要選擇不同的按照方式。 使用easy_install 或pip: #sudo easy_install Jinja2 #sudo pip install Jinja2 這兩個工具可以自動從網站上下載Jinja,並安裝到python目錄的site-packages目錄中。 從tar包安裝:# 下載Jinja的安裝包 # 解壓縮 # sudo python setup.py install 基本API用法
Time of Update: 2016-08-04
關於python 效能提升的一些方案。一、函數調用最佳化(空間跨度,避免訪問記憶體) 程式的最佳化核心點在於盡量減少操作跨度,包括代碼執行時間上的跨度以及記憶體中空間跨度。1.大資料求和,使用suma = range(100000)%timeit -n 10 sum(a)10 loops, best of 3: 3.15 ms per loop%%timeit ...: s = 0 ...: for i in a: ...: s += i ...:100 loops, best of
Time of Update: 2016-08-04
本文執行個體講述了Python全域變數用法。分享給大家供大家參考,具體如下:全域變數不符合參數傳遞的精神,所以,平時我很少使用,除非定義常量。今天有同事問一個關於全域變數的問題,才發現其中原來還有門道。程式大致是這樣的:CONSTANT = 0def modifyConstant() : print CONSTANT CONSTANT += 1 returnif __name__ == '__main__' : modifyConstant() print
Time of Update: 2016-08-04
表單是讓使用者與我們的網頁應用程式互動的基本元素。Flask 本身並不會協助我們處理表單,但是 Flask-WTF 擴充讓我們在我們的 Flask 應用程式中使用流行的 WTForms 包。這個包使得定義表單和處理提交容易一些。Flask-WTF我們想要使用 Flask-WTF 做的第一件事情(在安裝它以後,GitHub項目頁:https://github.com/lepture/flask-wtf )就是在 myapp.forms 包中定義一個表單。# ourapp/forms.pyfrom
Time of Update: 2016-08-04
一、要求二、思路1.購物類buy接收 信用卡類
Time of Update: 2016-08-04
關於Python2.x和3.x帶來的print不換行的問題:昨天有發過推文,利用end = 定義,解決了橫向的小問題,但是由於螢幕顯示的問題,若字串長度過大,則會引起不便。兩個或多個print做分割的情況下,如何保持依然橫向輸出,一般的是在print尾部加上逗號(,)但是在3.x下,則不行,需要使用end = "(something)",some signs like , . ; 'also you can put a word or str in"".Example: ############
Time of Update: 2016-08-04
SocketServer簡化了網路伺服器的編寫。它有4個類:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer。這4個類是同步進行處理的,另外通過ForkingMixIn和ThreadingMixIn類來支援非同步。建立伺服器的步驟。首先,你必須建立一個請求處理類,它是BaseRequestHandler的子類並重載其handle()方法。其次,你必須執行個體化一個伺服器類,傳入伺服器的地址和請求處理常式類。最後,調用handle_re
Time of Update: 2016-08-04
Python代碼運行助手可以讓你線上輸入Python代碼,然後通過本機啟動並執行一個Python指令碼來執行代碼。原理如下:在網頁輸入代碼:點擊Run按鈕,代碼被發送到本機正在啟動並執行Python代碼運行助手;Python代碼運行助手將代碼儲存為臨時檔案,然後調用Python解譯器執行代碼;網頁顯示代碼執行結果:下載點擊右鍵,目標另存新檔:learning.py備用下載地址:learning.py完整代碼:#!/usr/bin/env python3# -*- coding: utf-8 -*
Time of Update: 2016-08-04
最近在用python做資料統計,這裡總結了一些最近使用時尋找和總結的一些小技巧,希望能協助在做這方面時的一些童鞋。有些技巧是很平常的用法,平時我們沒有注意,但是在特定情境,這些小方法還是能帶來很大的協助。1.在字典中將鍵映射到多個值上面{'b': [4, 5, 6], 'a': [1, 2, 3]}有時候我們在統計相同key值的時候,希望把所有相同key的條目添加到以key為鍵的一個字典中,然後再進行各種操作,這時候我們就可以使用下面的代碼進行操作:from collections