雖然Python被說成是一種解釋型語言,但是實際上,Python來源程式要先經過編譯,然後才能運行。與Java語言類似,Python來源程式編譯之後得到的是位元組碼,交由Python虛擬機器來運行。關於這一點,我們可以這樣來驗證:複製代碼 代碼如下:#!/usr/bin/python print "position1"1_syntax_error_identifierprint "position2"將它儲存為program.py,然後在shell視窗中運行它:複製代碼
最近因為想要看漫畫,無奈下載的漫畫是jpg的格式,網上的轉換器還沒一個好用的,於是乎就打算用python自己DIY一下:這裡主要用了reportlab。開始打算隨便寫幾行,結果為若干坑糾結了挺久,於是乎就想想乾脆把代碼寫好點吧。實現了以下的幾項功能:將當前檔案夾下的圖片儲存到一個pdf中,支援選擇pdf大小等如果有需要可以遍曆它下面的所有檔案夾簡單的來說完全滿足我將漫畫轉成pdf格式的需求了。碰到了一些問題,這裡記錄下:一、中文路徑:這個實在是略蛋疼,總之就是盡量都decode一遍。然後注意wi
python語言本身沒有提供const,但實際開發中經常會遇到需要使用const的情形,由於語言本身沒有這種支出,因此需要使用一些技巧來實現這一功能定義const類如下複製代碼 代碼如下:import sysclass Const(object): class ConstError(TypeException): pass def __setattr__(self, key, value): if self.__dict__.has_key(key):
1) delorean非常酷的日期/時間庫複製代碼 代碼如下:from delorean import DeloreanEST = "US/Eastern"d = Delorean(timezone=EST)2) prettytable可以在瀏覽器或終端構建很不錯的輸出複製代碼 代碼如下:from prettytable import PrettyTabletable = PrettyTable(["animal", "ferocity"])table.add_row(["wolverine",
本文執行個體講述了Python中的is和id用法。分享給大家供大家參考。具體分析如下:(ob1 is ob2) 等價於 (id(ob1) == id(ob2))首先id函數可以獲得對象的記憶體位址,如果兩個對象的記憶體位址是一樣的,那麼這兩個對象肯定是一個對象。和is是等價的。Python原始碼為證。複製代碼 代碼如下:static PyObject * cmp_outcome(int op, register PyObject *v, register PyObject *w){ int
本文執行個體講述了python映射列表。分享給大家供大家參考。具體分析如下:列表映射是個非常有用的方法,通過對列表的每個元素應用一個函數來轉換資料,可以使用一種策略或者方法來遍曆計算每個元素。例如:複製代碼 代碼如下:params = {"server":"mpilgrim", \ "database":"master", \ "uid":"sa", \ "pwd":"secret" \
python語言本身沒有提供const,但實際開發中經常會遇到需要使用const的情形,由於語言本身沒有這種支出,因此需要使用一些技巧來實現這一功能定義const類如下複製代碼 代碼如下:import sysclass Const(object): class ConstError(TypeException): pass def __setattr__(self, key, value): if self.__dict__.has_key(key):
最近需要對節點到來源站點自己做個監控,簡單的ping可以檢測到一些東西,但是http請求的檢查也要進行,於是就研究了下pycurl。pycurl是個用c語言實現的python 庫,雖然據說不是那麼pythonic,但是卻很高效,它支援的協議居多:supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP
由於工作的需求,需要用python做一個類似網路爬蟲的採集器。雖然Python的urllib模組提供更加方便簡潔操作,但是涉及到一些底層的需求,如手動設定User-Agent,Referer等,所以選擇了直接用socket進行設計。當然,這樣的話,需要對HTTP協議比較熟悉,HTTP協議這裡就不做講解了。整個python的代碼如下:#!/usr/bin env pythonimport
本文執行個體講述了Python解決雞兔同籠問題的方法,分享給大家供大家參考。具體分析如下:問題描述一個籠子裡面關了雞和兔子(雞有 2 只腳,兔子有 4 只腳,沒有例外)。已經知道了籠 子裡面腳的總數 a,問籠子裡面至少有多少只動物,至多有多少只動物輸入資料第 1 行是測試資料的組數 n,後面跟著 n 行輸入。每組測試資料占 1 行,包括一個正整 數 a (a 輸出要求n 行,每行輸出對應一個輸入。輸出是兩個正整數,第一個是最少的動物數,第二個是
本文執行個體講述了Python基類函數的重載與調用方法。分享給大家供大家參考。具體分析如下:剛接觸Python語言的時間不長,對於這個語言的很多特性並不是很瞭解,有很多用法都是還不知道。今天想著寫一個Python物件導向編程時的繼承中的函數調用。分享出來,一起進步。因為之前接觸過Java和C++,所有對於物件導向的思想也早已經很熟析的了。這裡也不再對物件導向是什麼進行贅述了。我們直接上代碼吧!看看對於繼承和基類函數的調用在Python中是如何調用的~首先,是基類檔案base.py複製代碼
本文執行個體講述了Python實現一個簡單的MySQL類。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# Created on 2011-2-19# @author: xiaoxiaoimport MySQLdbimport sys__all__ = ['MySQL']class MySQL(object): ''' MySQL ''' conn = ''
本文執行個體講述了python列表操作的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:class Node: """Single node in a data structure""" def __init__(self, data): """Node constructor""" self._data = data self._nextNode = None def __str__(self):
一、定製Python的互動提示符Python的預設互動提示符為“>>>”,但它是可以定製的。Python啟動後,先尋找PYTHONSTARTUP環境變數,然後執行此檔案中變數指定的執行代碼。一些Linux發布包提供了預設的啟動指令碼,一般存放在其home目錄,名為.pythonstartup。“Tab完成”和“命令曆史”這兩個功能增強了提示符應用,兩者都基於readline模組。如果沒有.pythonstartup檔案,可以自己建立一個。簡單例子:複製代碼 代碼如下:# python
問題描述:假設我有這樣兩個list, 一個是list1,list1 = [1, 2, 3, 4, 5] 一個是list2,list2 = [1, 4, 5] 我們如何得到一個新的list,list3, list3中包括所有不在list2中出現的list1中的元素。 即:list3 = list1 – list2 解決方案:我們可以用set(集合)操作 list3 =
本文執行個體分析了python的私人屬性和方法。分享給大家供大家參考。具體實現方法如下:python預設的成員函數和成員變數都是公開的,並且沒有類似別的語言的public,private等關鍵詞來修飾。 在python中定義私人變數只需要在變數名或函數名前加上 "__"兩個底線,那麼這個函數或變數就會為私人的了。 在內部,python使用一種 name mangling 技術,將 __membername替換成
本文執行個體分析了Python中的對象,方法,類,執行個體,函數用法。分享給大家供大家參考。具體分析如下:Python是一個完全物件導向的語言。不僅執行個體是對象,類,函數,方法也都是對象。複製代碼 代碼如下:class Foo(object): static_attr = True def method(self): passfoo =
JSON是一種輕量級的資料交換格式,各種語言都有良好的支援。字典是Python的一種資料結構。可以看成關聯陣列。有些時候我們需要設計到字典轉換成JSON序列化到檔案,或者從檔案中讀取JSON。簡單備忘一下。Dict轉JSON寫入檔案複製代碼 代碼如下:#!/usr/bin/env python# coding=utf-8import jsond = {'first': 'One', 'second':2}json.dump(d, open('/tmp/result.txt',
set 是一個無序的元素集合,支援並、交、差及對稱差等數學運算, 但由於 set 不記錄元素位置,因此不支援索引、分區等類序列的操作。初始化複製代碼 代碼如下:s0 = set()d0 = {}s1 = {0}s2 = {i % 2 for i in range(10)}s = set('hi')t = set(['h', 'e', 'l', 'l', 'o'])print(s0, s1, s2, s, t, type(d0))運行結果:複製代碼 代碼如下:set() {0} {0, 1} {'
比如,你想採集標題中包含“58同城”的SERP結果,並過濾包含有“北京”或“廈門”等結果資料。該Python指令碼主要是實現以上功能。其中,使用BeautifulSoup來解析HTML,可以參考我的另外一篇文章:Windows8下安裝BeautifulSoup代碼如下:複製代碼 代碼如下:__author__ = '曾是土木人'# -*- coding: utf-8 -*-#採集SERP搜尋結果標題import urllib2from bs4 import