2017年2月6日 星期一

一些有用的Python函式庫列表

這是我由google網路搜尋與程式與到小提琴發現到人家整理好學習python的資源,擷取一份放在這裡。有興趣的人請參閱原網誌。

一些有用的Python函式庫列表

Python有豐富的第三方函式庫或是工具,我一直想說要整理一篇列表,今天找了一點時間整理了一下我所知道的或是用過的

視窗GUI開發

  • wxPython 跨平臺的GUI開發函式庫,由wxWidget移植而來,特點是原生介面
  • PyQT 同樣也是著名的跨平臺GUI函式庫,由QT移植而來,可惜的是它是在於GPL條款下,商業用途需要另外買授權
  • PySide 因為PyQT為GPL授權,所以有人另外出來搞了另一套QT的移植,它是在LGPL條款下,因此商業軟體也適合
  • PyGTK GTK的Python移植版

遊戲開發

  • pygame 一款簡單的2D遊戲開發函式庫,主要是基於SDL
  • Python-Ogre 著名Open source 3D遊戲引擎Ogre的Python移植版本
  • pyglet 一款跨平台的多媒體函式庫
  • PyOpenGL OpenGL的python移植
  • Python-Hge 我寫的HGE 2d遊戲引擎的Python移植版,大致上還算可用狀態,有些部份還沒移植完全

網頁開發

  • Flask 基於Werkzeug,以輕量為主要特色的網頁框架,簡單易用,沒有太大負擔,讓人喜愛的一款容易上手的網頁框架
  • Werkzeug 不算是網頁框架,它提供了開發WSGI常會用到的功能,不喜歡什麼都已經準備好的網頁框架,又不想重頭寫起可以試試看
  • Pyramid 這是結合了Pylons和BFG之後的新一代網頁框架,有完備的文件和號稱100%測試覆蓋率著稱
  • TurboGears 集大成的網頁開發框架,它是組合各種合適現成的組件而成的網頁框架,因此藕合度較鬆散,可以抽換掉某些組件,第一版用的組件主要為Cherrypy為網頁伺服器、Kid為預設樣版引擎、SQLObject為ORM,而第二版架構在另一套輕量框架Pylons上,ORM改為SQLAlchemy,預設樣版改為Genshi,並且符合WSGI的規範
  • Django 知名的Python網頁開發框架,不同於TurboGears的集大成,它的框架是自成一體的,所有組件從樣版到ORM都是獨力完成的
  • Web2py 一窾很有趣的網頁框架,它的框架本身就包含了整個完整的開發環境,所有開發都是在它的網頁程式上完成的
  • Webpy 跟Web2py很容易搞混,但其實是另一窾不同的網頁框架
  • BFG 它是從Zope和Plone社群下產生的,用到了不少Zope和Plone抽離出來的技術的樣子,相對於Plone和Zope的痴肥,它的廣告詞是”pay only for what you eat”
  • Pylons Pylons是一款輕量的網頁框架,它所強調的是彈性和快速開發,TurboGears2就是架構在Pylons上的框架
  • Paste 提供一些WSGI相關基礎建設、例如WSGI伺服器、設定檔、部屬等等功能的專案
  • WebOb 將WSGI物件化為Request和Response等物件的函式庫
  • ToscaWidget 將常用的網頁元件,如網頁表單、表格等等變成物件用於方便產生網頁用的函式庫
  • FormEncode 提供表單檢邏輯物件Validator的函式庫
  • Plone 知名的CMS,也就是內容管理系統,可以快速架出專業的網頁來,但缺點是很肥,它架構於Zope上
  • Zope Plone底層的CMS

網頁樣版

  • Kid 一款以XML串流為基礎的樣版引擎,特色是只能寫出合法的網頁,已經停止開發由Genshi繼承
  • Genshi 繼承自Kid的樣版語言,加強了Kid的缺失,增加了更多功能,例如filter可以篩飾XML串流
  • Mako 一款非XML串流的樣版語言
  • jinja 另一款非XML串流式的樣版語言

網路程式開發

  • Twisted 重量級的網路程式開發框架,採用的是非同步的reactor樣式,已經實作大部份常見的Protocol,因此對於快速的伺服器開發來說非常方便
  • Tornado 另一款網路程式的非同步IO框架
  • 其它 Python的網路程式開發框架實在是太多了,多到列不完,也沒有時間一個一個去試,這篇文章 Asynchronous Servers in Python 有列出不少Python的非同步伺服器開發的函式庫可以參考看看
  • pypcap Python抓取網路封包用的函式庫,在windows下需要Winpcap支援
  • dkpt 用於解析網路封包用的函式庫,可以和pypcap用於抓取封包
  • Gevent 一款結合libevent和greenlet的網路函式庫,最大的特色就是使用microthread來處理網路連線

資料庫

  • SQLAlchemy 一款資料庫的Object Relation Mapper函式庫,簡單的來說就是可以將資料庫表格和關聯映射到物件,以方便的物件操作方式來操作資料庫
  • SQLObject 另一款資料庫的ORM
  • Elixir 架構於SQLAlchemy上的ORM,強調於資料表的繼承、多形等等特性

伺服器管理

  • Supervisor 一款用來管理執行daemon process的工具,提供XML-RPC遠端控制界面,運行伺服器程式的最佳選擇
  • Fabric 可以同時對多台主機以SSH連線下指令的工具,對於管理大量伺服器這工具是很有用的工具

其它

  • lxml 極有效率且強大的XML/HTML解析、處理函式庫
  • py2exe 將Python程式包裝成執行檔的工具程式,只限於windows下
  • PyInstaller 另一款Python打包成執行檔的工具,不同的是它不只限於windows,可以跨平台
  • mapnik 支援Python的一款GIS函式庫,可以畫出漂亮的地圖,甚至可以做出像Google map那樣的網頁
  • matplotlib 強大的圖表繪圖函式庫,幾乎你想得到的圖它都畫得出來,而且可以支援多種輸出格式,也可和視窗整合
  • gluttony 我寫的用於找出Python函式庫之間關聯的工具,可以參考這篇文章 Python套件依賴關係圖工具: Gluttony

2017年2月5日 星期日

node介紹

node介紹
-------中文資料-----------
Node入門
------原文資料------------
The Node Beginner book

認識Python

這是我由google網路搜尋與學習是一件有趣的事發現到人家整理好學習python的資源,擷取一份放在這裡。有興趣的人請參閱原網誌。

認識Python

相關網站 

中文:

Python 教學:由Python.org提供的中文版文件教學,是3.5.2版
Python 官方說明文件中文翻譯計畫:github上的帳號為python-doc-tw,https://github.com/python-doc-tw/
Taiwan Translation of Python Official Documentation

專欄文章:Python Tutorial

語言技術:Python Gossip

PythonProjects - Python Taiwan Wiki

 Python 基礎教程

Overview — Python 3 文檔(簡體中文) 3.2.2 documentation

 PythonTab:Python中文開發者社區門戶

Python基礎教程

CodeCombat - Learn how to code by playing a game 

學習Python - 我的程式語言第一步

Python 入門教學書籍、電子書推薦 @ 符碼記憶

Python Tutorial 2, 3 (Python入門指南) 中英文版電子書連結整理 @ 符碼記憶

Dive Into Python 2, 3 (深入Python) 中英文版電子書連結整理 @ 符碼記憶

【推薦分享】大量Python電子書籍教程pdf合集下載 - 追著翅膀的小鳥 - 博客園 

零基礎學Python

Python入門、基礎書籍簡評與推薦

CPython編程

linux.linuxidc.com

NCTU.py 

NCTU.py Week 1

 菲絲恩教你學會Python

葉難: 新書發表:Python程式設計入門 

 

《零基礎學python》(第二版)

Python 入門指南Release:3.4


http://tw.gitbook.net/t/python3.html

PythonTab:Python中文開發者社區門戶 

Python Cookbook 3rd Edition Documentation — python3-cookbook 1.0.2 文檔

程式語言教學誌: Python 入門指南 V2.00 - 目錄

[Python3] Python3_ How easy it is! - 101121@OSSF

PythonLearnResource.pdf

英文:

Welcome to Python.org

Starting with Python 3

Python 3.5.1 documentation

Think Python: How to Think Like a Computer Scientist

 Learn Python

Python tutorial

Learn Python The Hard Way 

CodeSkulptor

CodeSkulptor Documentation 

Learn | Codecademy

Map :: CheckiO

Head First Labs from O'Reilly Media, Inc. :: <em>Head First Python</em>

Head First Python - Support Site

introducing-python/report.py at master · madscheme/introducing-python · GitHub 

Dive Into Python 3

CodeCombat

===========================================

 YOUTUBE教學

PYTHON 入門教學 (普通話) 

Python 教學指導 

Python編程開發入門教學 

 Python入門視頻教程

自由軟體鑄造場_20120428_Python 程式設計(上)_Mosky_01 

自由軟體鑄造場_20120623_Python 程式設計(上)_Mosky_01

python