Time of Update: 2016-06-16
本文通過列舉出一些常見的執行個體來分析Python3.0與2.X版本的區別,是作者經驗的總結,對於Python程式設計人員來說有不錯的參考價值。具體如下:做為一個前端開發的碼農,最近通過閱讀最新版的《A byte of Python》並與老版本的《A byte of Python》做對比後,發現Python3.0在某些地方還是有些改變的。之後再查閱官方網站的文檔,總結出一下區別:1. 如果你下載的是最新版的Python,就會發現所有書中的Hello World例子將不再正確。
Time of Update: 2016-06-16
一、原因淺析今天在寫一個Python與html5 Websocket 執行個體,麼次終止運行重新運行指令碼總是提示地址已經存在並且被使用!查詢相關文檔才知道在socket編程中,當通過用戶端向伺服器端發送訊息,關閉了串連後,這時如果馬上再去運行伺服器端程式,會提示這個錯誤:複製代碼 代碼如下:socket.error: [Errno 98] Address already in
Time of Update: 2016-06-16
遇到一個問題需要用Python把JavaScript中escape的中文給還原,但找了大半天,也沒有找到答案,只好自己深入研究解決方案。我們先來看在js中escape一段文字的編碼複製代碼 代碼如下:a = escape('這是一串文字');alert(a);輸出:複製代碼 代碼如下:%u8FD9%u662F%u4E00%u4E32%u6587%u5B57咋一看,就感覺有點類似json格式,我們來看看標準的json格式編碼同樣的漢子“這是一串文字”複製代碼 代碼如下:#
Time of Update: 2016-06-16
由於之前有一個項目老是要開啟檔案,然後用pickle.load(file),再處理。。。最後要關閉檔案,所以覺得有點繁瑣,代碼也不簡潔。所以向python with statement尋求解決方案。在網上看到一篇文章:http://effbot.org/zone/python-with-statement.htm是介紹with 的,參考著例子進行了理解。如果經常有這麼一些程式碼片段的話,可以用一下幾種方法改進:程式碼片段:set thing uptry: do somethingexcept
Time of Update: 2016-06-16
本文執行個體講述了Python3實現產生隨機密碼的方法,在Python程式設計中有著廣泛的實用價值。具體方法如下:本文執行個體主要實現建立8位隨機密碼(大小寫字母+數字),採用Python3產生了初級演算法的隨機密碼。主要功能代碼如下:__author__ = 'Goopand'import stringimport randomdef genPassword(length=8,chars=string.digits+string.ascii_letters): return ''.join(
Time of Update: 2016-06-16
Tornado預設是監聽IP加連接埠形式,由於Tornado在國內用的人極少,資料更是鱗毛鳳角。下面說說Tornado如何綁定網域名稱。預設Tornado的hello word是這麼來的複製代碼 代碼如下:import tornado.ioloopimport tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world")
Time of Update: 2016-06-16
在Python中,with關鍵字是一個替你管理實現上下文協議對象的好東西。例如:file等。樣本如下: from __future__ import with_statement with open('cardlog.txt','r') as item : for line in item : print line; 在file的結束,會自動關閉該檔案控制代碼。
Time of Update: 2016-06-16
本文內容是在《Python核心編程2》上看到的,感覺很有用便寫出來,給大家參考參考!淺拷貝首先我們使用兩種方式來拷貝對象,一種是切片,另外一種是Factory 方法。然後使用id函數來看看它們的標示符複製代碼 代碼如下:# encoding=UTF-8 obj = ['name',['age',18]]a=obj[:]b=list(obj)for x in obj,a,b: print id(x) 352170323522791229943304
Time of Update: 2016-06-16
本文執行個體形式講解了python的類變數和成員變數用法,對於Python程式設計有一定的參考價值。分享給大家供大家參考。具體如下:先看看下面這段代碼:class TestClass(object): val1 = 100 def __init__(self): self.val2 = 200 def fcn(self,val = 400): val3 = 300 self.val4 = val self.val5 = 500 if __name__ ==
Time of Update: 2016-06-16
由於web.py已經在模板中定義“$”符號位定界符,所以在模板中如果要使用貨幣符號需要特殊處理。如我要在模板中輸出“$name”字串:複製代碼 代碼如下:$name報錯$name被認定為一個變數而不是當作HTML字串處理。如果想要輸出“$name”字串必須要這麼寫:複製代碼 代碼如下:$$name儲存運行正確輸出。特別是跟jQuery裡混合使用的時候,也要注意。如:複製代碼 代碼如下:$("id").html("指令碼之家");要修改成:複製代碼
Time of Update: 2016-06-16
雖然在Python中的for迴圈與其它語言不大一樣,但跳出迴圈還是與大多數語言一樣,可以使用關鍵字continue跳出本次迴圈或者break跳出整個for迴圈。break複製代碼 代碼如下:# encoding=UTF-8 for x in range(10): if x==5: break print x上面使用的break迴圈,所以執行到x==5的時候就跳出了整個for迴圈,因此print x語句只打到4的時候就終止了,因此輸出結果continue複製代碼
Time of Update: 2016-06-16
本文執行個體講述了Python實現根據指定連接埠探測伺服器/模組部署的方法,非常具有實用價值。分享給大家供大家參考借鑒。有些時候,在維護過程中,伺服器數量非常多。應用模組部署在不同伺服器上。有時維護人員做了模組遷移,而未及時同步至手冊中。尋找比較困難。於是,產生Python根據應用連接埠進行探測,擷取模組部署。設想非常簡單:通過簡單的tcp連結,如果能夠成功的建立,立即斷開,防止影響業務。表示模組在某伺服器上有部署。具體功能代碼如下:#!/bin/env python#import
Time of Update: 2016-06-16
web.py的模板使用非常容易,但有時候我們需要做目錄層級以便管理。那麼如何使用目錄層級的模板呢?通常我們使用模板的時候先聲明模板檔案夾複製代碼 代碼如下:render=web.template.render('templates')使用templates檔案夾下index.html模板複製代碼 代碼如下:return render.index()使用templates檔案夾下list.html模板複製代碼 代碼如下:return
Time of Update: 2016-06-16
Python寫的一個按面值找零錢的程式,按照我們正常的思維邏輯從大面值到小面值的找零方法,人民幣面值有100元,50元,20元,10元,5元,1元,5角,1角,而程式也相應的設定了這些面值。只需要調用函數時傳入您想要找零的金額,程式會自動算各個面值的錢應該找多少張。如傳入50元,則系統自動算出找零50元一張面值,如果傳入60塊7毛,則程式自動算出該找零50元一張,10元一張,5角一張,1角兩張。# encoding=UTF-8 def zhaoqian(money): loop=True
Time of Update: 2016-06-16
本文執行個體主要實現給出任一字元串,擷取字串中某字元的位置以及出現的總次數。實現該功能代碼的時候可以使用函數enumerate來將字串分離成位置和字元,然後進行比較即可。具體實現代碼如下:#!/bin/env python#-*- coding:utf-8 -*-#""" 用enumerate將string中的1都找出來, 用enumerate實現:"""def get_1_pos(string): onePos=[] try: onePos=list(((pos,int(val)
Time of Update: 2016-06-16
安裝PIL庫的時候,直接提示:Python version 2.7 required, which was not found in the registry。大意是說找不到註冊表,網上搜尋解決方案。建立一個register.py檔案寫入代碼:複製代碼 代碼如下:import sys from _winreg import * # tweak as necessaryversion = sys.version[:3]installpath = sys.prefix regpath =
Time of Update: 2016-06-16
Python追求簡潔,誕生不少運算賦值規則,力求從簡,其中就包括兩個或者多個變數交換值。普通語言中複製代碼 代碼如下:# 聲明變數a=50b=10# 開始交換,先把其中一個值賦給臨時變數,然後才能實現交換變數。tmp = aa = bb = tmp在Python中,實現兩個變數值交換非常方便複製代碼 代碼如下:# 聲明變數a=50b=10# 開始交換變數a,b = b,a 甚至可以多個變數同時交換複製代碼 代碼如下:a=50b=10c=20c,b,a =
Time of Update: 2016-06-16
一、isinstance()在Python中可以使用type()與isinstance()這兩個函數判斷物件類型,而isinstance()函數的使用上比type更加方便。複製代碼 代碼如下:# coding=utf-8 a = 10 def b(): pass print isinstance(a,(int,str))print isinstance(a,(float,str))print isinstance(b,(str,int)) class c: pass obj = c(
Time of Update: 2016-06-16
測了一下django、flask、bottle、tornado 架構本身最簡單的效能。對django的效能完全無語了。django、flask、bottle 均使用gunicorn+gevent啟動,單進程,並且關閉DEBUG,請求均只返回一個字串ok。tornado直接自己啟動,其他內容一致。測試軟體為 siege,測試os為cenos6 64位,測試命令為:複製代碼 代碼如下:siege -c 100 -r 100 -b
Time of Update: 2016-06-16
相對來說python對字串的處理是比較高效的,方法也有很多。其中maketrans和translate兩個方法被應用的很多,本文就針對這兩個方法的用法做一總結整理。首先讓我們先回顧下這兩個方法:① s.translate(table,str) 對字串s移除str包含的字元,剩下的字串按照table裡的字元對應表關係替換。table可以理解為轉換表,比較'a' -> 'A', 'b'->'B'.② tabel = string.maketrans('s1', 's2') s1 和 s2