Time of Update: 2017-01-19
本文執行個體分析了python的私人屬性和方法。分享給大家供大家參考。具體實現方法如下:python預設的成員函數和成員變數都是公開的,並且沒有類似別的語言的public,private等關鍵詞來修飾。 在python中定義私人變數只需要在變數名或函數名前加上 "__"兩個底線,那麼這個函數或變數就會為私人的了。 在內部,python使用一種 name mangling 技術,將 __membername替換成
Time of Update: 2017-01-19
本文執行個體講述了python實現堆棧與隊列的方法。分享給大家供大家參考。具體分析如下:1、python實現堆棧,可先將Stack類寫入檔案stack.py,在其它程式檔案中使用from stack import Stack,然後就可以使用堆棧了。stack.py的程式:複製代碼 代碼如下:class Stack(): def __init__(self,size):
Time of Update: 2017-01-19
本文執行個體分析了python多線程用法。分享給大家供大家參考。具體如下:今天在學習嘗試學習python多線程的時候,突然發現自己一直對super的用法不是很清楚,所以先總結一些遇到的問題。當我嘗試編寫下面的代碼的時候:複製代碼 代碼如下:class A(): def __init__( self ): print "A"class B( A
Time of Update: 2017-01-19
本文執行個體分析了Python中os.path用法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:#coding=utf-8import osprint os.path.abspath("d:\\new\\test.txt")print os.path.basename("d:\\new\\test.txt")print os.path.dirname("d:\\new\\test.txt")print os.path.exists("d:\\new")print
Time of Update: 2017-01-19
本文執行個體講述了python靜態方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:staticmethod Found at: __builtin__staticmethod(function) -> method Convert a function to be a static method. A
Time of Update: 2017-01-19
本文執行個體講述了python繼承和抽象類別的實現方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:#!/usr/local/bin/python# Fig 9.9: fig09_09.py# Creating a class hierarchy with an abstract base class. class Employee: """Abstract base class Employee"""
Time of Update: 2017-01-19
本文執行個體講述了python列表操作的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor"""
Time of Update: 2017-01-19
本文執行個體講述了python操作gmail的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:import imaplib, re class pygmail(object): def __init__(self):
Time of Update: 2017-01-19
本文執行個體講述了Python的物件導向思想。分享給大家供大家參考。具體分析如下:物件導向的基本思想是封裝,繼承,多態。首先是繼承:定義一個類:複製代碼 代碼如下:class Bird(object): have_feather = True way_of_reproduction = 'egg'調用這個類:複製代碼 代碼如下:summer = Bird() print
Time of Update: 2017-01-19
首先,你得下載SocksiPy這個.解壓出來之后里面會有一個socks.py檔案.然後你可以把這個檔案複製到python安裝目錄裡面的Lib\site-packages中.或者把這個檔案複製到程式所在的目錄中.然後就可以再程式中使用socket代理來編寫程式了.下面是範例程式碼import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5,"127.0.0.1",8088) socket.socket
Time of Update: 2017-01-19
本文執行個體講述了Python單例模式的使用方法。分享給大家供大家參考。具體如下:方法一複製代碼 代碼如下:import threading class Singleton(object): __instance = None __lock = threading.Lock() # used to synchronize
Time of Update: 2017-01-19
本文執行個體講述了python檔案讀寫操作與linux shell變數命令互動執行的方法。分享給大家供大家參考。具體如下:python對檔案的讀寫還是挺方便的,與linux shell的互動變數需要轉換一下才能用,這比較頭疼。代碼如下:複製代碼 代碼如下:#coding=utf-8#!/usr/bin/pythonimport osimport time#python執行linux命令os.system(':>./aa.py')#人機互動輸入S =
Time of Update: 2017-01-19
使用Tkinter模組來建立簡單的GUI程式。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scales、Scrollbar、TEXT、Toplevel等。例:複製代碼 代碼如下:# This program displays an empty window.import Tkinterdef main():
Time of Update: 2017-01-19
一、定製Python的互動提示符Python的預設互動提示符為“>>>”,但它是可以定製的。Python啟動後,先尋找PYTHONSTARTUP環境變數,然後執行此檔案中變數指定的執行代碼。一些Linux發布包提供了預設的啟動指令碼,一般存放在其home目錄,名為.pythonstartup。“Tab完成”和“命令曆史”這兩個功能增強了提示符應用,兩者都基於readline模組。如果沒有.pythonstartup檔案,可以自己建立一個。簡單例子:複製代碼 代碼如下:#
Time of Update: 2017-01-19
一、迭代器Iterators迭代器僅是一容器物件,它實現了迭代器協議。它有兩個基本方法:1)next方法返回容器的下一個元素2)__iter__方法返回迭代器自身迭代器可使用內建的iter方法建立,見例子:複製代碼 代碼如下:>>> i = iter('abc')>>> i.next()'a'>>> i.next()'b'>>> i.next()'c'>>> i.next()Traceback (most
Time of Update: 2017-01-19
由於工作的需求,需要用python做一個類似網路爬蟲的採集器。雖然Python的urllib模組提供更加方便簡潔操作,但是涉及到一些底層的需求,如手動設定User-Agent,Referer等,所以選擇了直接用socket進行設計。當然,這樣的話,需要對HTTP協議比較熟悉,HTTP協議這裡就不做講解了。整個python的代碼如下:#!/usr/bin env pythonimport
Time of Update: 2017-01-19
同為指令碼語言,python和Javascript具有相似的變數範圍,不像php,函數的內部的所有變數和外部都是隔絕的,也就是說,函數要想處理其外部的資料,必須使用參數把需要處理的資料傳遞進來(使用global關鍵詞這裡不討論),而python和Javascript不同,如果在函式宣告變數,它會逐級網上尋找,直到返回著個值或者未定義。那麼這樣說,python的閉包應該很簡單了,像javascript一樣,我們編寫類似的代碼:def func1(): a = 1 def func2()
Time of Update: 2017-01-19
在程式猿的世界中,線程和進程是一個很重要的概念,很多人經常弄不清線程和進程到底是什麼,有什麼區別,本文試圖來解釋一下線程和進程。首先來看一下概念:進程(英語:process),是電腦中已運行程式的實體。進程為曾經是分時系統的基本運作單位。在面向進程設計的系統(如早期的UNIX,Linux 2.4及更早的版本)中,進程是程式的基本執行實體;在面向線程設計的系統(如當代多數作業系統、Linux
Time of Update: 2017-01-19
在上一篇文章中,我們講了如何在linux上用python寫一個守護進程。主要原理是利用linux的fork函數來建立一個進程,然後退出父進程運行,產生的子進程就會成為一個守護進程。細心觀察的可能會發現,這個守護進程的運行身份是執行這個程式的使用者,如果把這個精靈加入到系統的服務項,那麼這個精靈的執行身份應該是root。一個情況出現了,root的許可權比較大,如果通過這個root身份的精靈來進行操作,危險性是比較大的。一種好的辦法是產生一個身份為root的master進程用來接受請求,產生若干個w
Time of Update: 2017-01-19
守護進程(daemon)是指在UNIX或其他多任務作業系統中在後台執行的電腦程式,並不會接受電腦使用者的直接操控。此類程式會被以進程的形式初始化。通常,守護進程沒有任何存在的父進程(即PPID=1),且在UNIX系統進程層級中直接位於init之下。守護進程程式通常通過如下方法使自己成為守護進程:對一個子進程調用fork,然後使其父進程立即終止,使得這個子進程能在init下運行。–維基百科守護進程區別於普通使用者登陸系統後啟動並執行進程,它是直接由系統初始化,和系統使用者沒有關係,而使用者開啟的進