Time of Update: 2017-01-19
Python是一種解釋型、物件導向、動態資料類型的進階程式設計語言,本文就舉一例Python類繼承的執行個體。執行個體代碼如下:#! /usr/bin/python # Filename: inherit.py # Author: yanggang class SchoolMember: def __init__(self,name,age): self.name = name self.age = age print 'init SchoolMember: ',
Time of Update: 2017-01-19
比如, 我們希望希望檢測"一段string是否以特定的字串結尾?", 通常我們使用: if needle.endswith('ly') or needle.endswith('ed') or needle.endswith('ing') or needle.endswith('ers'): print('Is valid') else: print('Invalid')十分醜陋是吧? 如果我們檢測變數needle是否是以下特定字串之一的話, 會這樣寫:
Time of Update: 2017-01-19
1. 安裝 Sublime Text 3雖然現在的 Sublime 3 還處於 beta 階段, 但已經非常穩定了, 而且速度比 Sublime 2 得到了增強. Sublime 3 可以到官網下載並安裝. Sublime 雖然是免費軟體, 但如果有足夠的經濟能力, 可以考慮購買以表示支援.2. 安裝 Package ControlSublime Package Control 可以說是必須安裝的外掛程式, 因為其方便的提供了安裝/升級/刪除 Sublime 外掛程式的功能,
Time of Update: 2017-01-19
python中的二叉樹模組內容:BinaryTree:非平衡二叉樹 AVLTree:平衡的AVL樹 RBTree:平衡的紅/黑樹狀結構 以上是用python寫的,相面的模組是用c寫的,並且可以做為Cython的包。FastBinaryTree FastAVLTree FastRBTree
Time of Update: 2017-01-19
__init__ 方法是什嗎?使用Python寫過物件導向的代碼的同學,可能對 __init__ 方法已經非常熟悉了,__init__ 方法通常用在初始化一個類執行個體的時候。例如:# -*- coding: utf-8 -*-class Person(object): """Silly Person""" def __init__(self, name, age): self.name = name self.age = age def __str__(self):
Time of Update: 2017-01-19
替換print?print怎麼了?print 可能是所有學習Python語言的人第一個接觸的東西。它最主要的功能就是往控制台 列印一段資訊,像這樣:複製代碼 代碼如下:print 'Hello, logging!'print也是絕大多數人用來調試自己的程式用的最多的東西,就像寫js使用 console.log 一樣那麼自然。很多剛剛開始學習Python的新手甚至有一定經驗的老手,都在使用print 來調試他們的代碼。比如這是一個我寫的輸出 斐波那契數列 的小程式,讓我們來看看它的代碼:複製代碼
Time of Update: 2017-01-19
本文講述了gearman的安裝啟動及python API使用執行個體,對於網站建設及伺服器維護來說非常有用!一、概述:Gearman是一款非常優秀的任務分發架構,可以用於分散式運算。具體的gearmand服務的安裝啟動及gearman的python 模組的安裝以及簡單樣本如下: 作業系統:rnel 5.71. 首先,我們需要安裝gearmand,在centos和rhel環境下,我們只需運行以下命令:yum install gearmand
Time of Update: 2017-01-19
在使用Python編寫的應用的過程中,有時候會遇到多個檔案之間傳遞同一個全域變數的情況。本文就此給出了如下的解決方案供大家參考。檔案1:globalvar.py#!/usr/bin/env python2.7 class GlobalVar: db_handle = None mq_client = None def set_db_handle(db): GlobalVar.db_handle = db def get_db_handle(): return GlobalVar.
Time of Update: 2017-01-19
一、簡介 我們將一個正在啟動並執行程式稱為進程。每個進程都有它自己的系統狀態,包含記憶體狀態、開啟檔案清單、追蹤指令執行情況的程式指標以及一個儲存局部變數的調用棧。通常情況下,一個進程依照一個單序列控制流程順序執行,這個控制流程被稱為該進程的主線程。在任何給定的時刻,一個程式只做一件事情。 一個程式可以通過Python庫函數中的os或subprocess模組建立新進程(例如os.fork()或是subprocess.Popen())。然而,這些被稱為子進程的進程卻是獨立啟動並執行,它們有各自
Time of Update: 2017-01-19
本文執行個體講解了python實現兩個程式之間通訊的方法,具體方法如下:該執行個體採用socket實現,與socket網路編程不一樣的是socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)的第一個參數是socket.AF_UNIX而不是 socket.AF_INET例中兩個python程式 s.py/c.py 要先運行s.py基於fedora13/python2.6測試,成功實現!s.py代碼如下:#!/usr/bin/env
Time of Update: 2017-01-19
採集內容常需要得到網頁返回的驗證碼做進一步處理下面代碼是用python寫的用來擷取網頁http狀態代碼的指令碼#!/usr/bin/python# -*- coding: utf-8 -*-#encoding=utf-8#Filename:states_code.py import urllib2 url = 'http://www.jb51.net/'response = Nonetry: response = urllib2.urlopen(url,timeout=5)except
Time of Update: 2017-01-19
使用filter函數,實現一個條件判斷函數即可。比如想過濾掉字串數組中某個敏感詞,示範代碼如下:#filter out some unwanted tags def passed(item): try: return item != "techbrood" #can be more a complicated condition here except ValueError: return False org_words =
Time of Update: 2017-01-19
說明:python的urllib2擷取網頁(urlopen)會自動重新導向(301,302)。但是,有時候我們需要擷取302,301頁面的狀態資訊。就必須擷取到轉向前的調試資訊。下面代碼將可以做到避免302重新導向到新的網頁#!/usr/bin/python# -*- coding: utf-8 -*-#encoding=utf-8#Filename:states_code.py import urllib2 class
Time of Update: 2017-01-19
在採集網頁資訊的時候,經常需要偽造前序來實現採集指令碼的有效執行下面,我們將使用urllib2的header部分偽造前序來實現採集資訊方法1、#!/usr/bin/python# -*- coding: utf-8 -*-#encoding=utf-8#Filename:urllib2-header.py import urllib2import sys #抓取網頁內容-發送前序-1url= "http://www.jb51.net"send_headers = {
Time of Update: 2017-01-19
代碼一:#!/usr/bin/python# -*- coding: utf-8 -*-#encoding=utf-8 import threadingimport Queueimport sysimport urllib2import reimport MySQLdb ## 資料庫變數設定#DB_HOST = '127.0.0.1'DB_USER = "XXXX"DB_PASSWD = "XXXXXXXX"DB_NAME = "xxxx" ##
Time of Update: 2017-01-19
前提是已設定ANDROID_HOME環境變數,使用aapt工具擷取apk的資訊,儲存至指令碼所在目錄下的PackageInfo.txt檔案中:import os import tempfile import re tempFile = tempfile.gettempdir() def get_aapt(): if "ANDROID_HOME" in os.environ: rootDir = os.path.join(os.environ["ANDROID_HOME"],
Time of Update: 2017-01-19
Python是一門簡單易學的程式設計語言,文法簡潔而清晰,並且擁有豐富和強大的類庫。與其它大多數程式設計語言使用大括弧不一樣 ,它使用縮排來定義語句塊。 在平時的工作中,Python開發人員很容易犯一些小錯誤,這些錯誤都很容易避免,本文總結了Python開發人員最常犯的10個錯誤,一起來看下,不知你中槍了沒有。1.濫用運算式作為函數參數預設值 Python允許開發人員指定一個預設值給函數參數,雖然這是該語言的一個特徵,但當參數可變時,很容易導致混亂,例如,下面這段函數定義:複製代碼
Time of Update: 2017-01-19
很多新手剛開始學習python的時候經常會看到python 中__name__ = \'__main__\' 這樣的代碼,可能很多新手一開始學習的時候都比較疑惑,python 中__name__ = '__main__' 的作用,到底幹嘛的?有句話經典的概括了這段代碼的意義:“Make a script both importable and
Time of Update: 2017-01-19
很多書籍裡面講的Python備份都是在linux下的,而在xp上測試一下也可以執行備份功能,代碼都差不多相同,就是到執行打包的時候是不一樣的。而且要用到winrar,其他的壓縮檔也是一樣的。首先我們要把winrar的路徑添加到path裡面,這裡添加完了要重啟機子才有效。這裡要注意:把winrar的路徑添加到path裡面之後一定要重啟,否則path的設定不會起作用,打包就會失敗! 這裡用到得命令是:winrar a xxx.zip xxxxxxx為任一字元 執行個體代碼如下:#
Time of Update: 2017-01-19
python調用簡訊貓控制項實現發簡訊功能執行個體代碼如下所示:#! /usr/bin/env python#coding=gbkimport sysimport