Time of Update: 2018-12-03
記憶體管理,對於Python這樣的動態語言,是至關重要的一部分,它在很大程度上甚至決定了Python的執行效率,因為在Python的運行中,會建立和銷毀大量的對象,這些都涉及到記憶體的管理。小塊空間的記憶體池在Python中,許多時候申請的記憶體都是小塊的記憶體,這些小塊記憶體在申請後,很快又會被釋放,由於這些記憶體的申請並不是為了建立對象,所以並沒有對象一級的記憶體池機制。 Python記憶體池全景這就意味著Python在運行期間會大量地執行malloc和free的操作,頻繁地在使用者態和核心
Time of Update: 2018-12-03
import threadingimport datetime class ThreadClass(threading.Thread):def run(self):now = datetime.datetime.now()print "%s says Hello World at time: %s" % (self.getName(), now)for i in range(2):t = ThreadClass()t.start()python
Time of Update: 2018-12-03
#!/usr/env python#-*- coding: utf-8 -*-import urllib import urllib2 import random import requestsimport os,sys import MySQLdbfrom sgmllib import SGMLParser from BeautifulSoup import BeautifulSoupimport renum=0def
Time of Update: 2018-12-03
Python多線程抓取Google搜尋連結網頁1)urllib2+BeautifulSoup抓取Goolge搜尋連結近期,參與的項目需要對Google搜尋結果進行處理,之前學習了Python處理網頁相關的工具。實際應...1)urllib2+BeautifulSoup抓取Goolge搜尋連結近期,參與的項目需要對Google搜尋結果進行處理,之前學習了Python處理網頁相關的工具。實際應用中,使用了urllib2和beautifulsoup來進行網頁的抓取,但是在抓取google搜尋結果的時候
Time of Update: 2018-12-03
#!/usr/env python#-*- coding: utf-8 -*-import requestsimport os,sys import MySQLdbimport timefrom BeautifulSoup import BeautifulSoupimport renum=0dataresult=[]def
Time of Update: 2018-12-03
今天在做python練手,使用python設計快速排序演算法之時,當列表規模變大的時候非常容易出現異常 RuntimeError: maximum recursion depth exceeded 在網上查了,發現python預設的遞迴深度是很有限的,大概是900多的樣子,當遞迴深度超過這個值的時候,就會引發這樣的一個異常。 解決的方式是手工設定遞迴調用深度,方式為import syssys.setrecursionlimit(1000000) #例如這裡設定為一百萬
Time of Update: 2018-12-03
通常,python原始碼必須完全由ASCII集合組成,如果直接在python中添加中文注釋的時候,python執行時會引發異常,告知非ASCII字元語法錯誤。 SyntaxError: Non-ASCII character '/xd5' in file D:/Project/python/sort/quick_sort.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html
Time of Update: 2018-12-03
在python中,使用全域變數是需要使用global關鍵字進行申明的,否則會出問題。例如這樣的一段代碼,python就會報錯 #!/usr/bin/python#Filename: use_global.py#Author: Boyce#Email: boyce.ywr@gmail.comcnt=0def fun():cnt+=1passfor i in range(0,10):fun()print cn 報錯內容是:Traceback (most recent call last)
Time of Update: 2018-12-03
這是根據本人另一個C語言版本採用python實現的,添加了根據中序和後序重建二叉樹功能,更多詳細解釋可參考:http://blog.csdn.net/hinyunsin/archive/2011/04/11/6315502.aspx 下面就是python代碼:#-*- coding: utf-8 -*-#!/usr/bin/python#Filename: BTreeNode.py'''Created on 2011-4-11@author: boyce@contact:
Time of Update: 2018-12-03
今天寫代碼的時候,發現python不支援C風格的 con? exp1:exp2 這樣的條件運算式,後來一查,發現原來在2.5裡面新增了該功能,不過是以另外一種方式來表達的,下面是在python 2.7.1文檔中提供的說明,這裡做了簡單的翻譯: 版本2.5中新添功能conditional_expression ::= or_test ["if" or_test "else" expression]expression ::=
Time of Update: 2018-12-03
在入手了python之後,確實被它簡單的特性和上手容易度震驚過。不過python和c語言什麼的又確實存在很大的差別,習慣了c語言,使用python的時候多少還是有些不習慣。 入手python一周左右了,為了熟悉和深化對python的理解,就把幾種經典的排序演算法拿來練手,順便強化一下自己的基礎知識。開始寫了,才發現自己寫出來的代碼問題還真不少,排序的結果總是有各種問題,看來真的是很久沒有用這些演算法寫過東西了,都忘了一些細節的東西了,汗哪。。。 廢話不多說,開始練手吧。
Time of Update: 2018-12-03
今天寫個python指令碼從MySQL導資料,匯入和匯出的兩個資料庫的編碼不一致,需要建立兩個資料連線,分別使用不同的字元集,按MySQLdb的文檔說明,只需要在MySQLdb.Connect()設定charset參數即可 charsetIf present, the connection character set will be changed to this character set, if they are not equal. Support for changing the
Time of Update: 2018-12-03
在C/C++/Java中,main是程式執行的起點,Python中,也有類似的運行機制,但方式卻截然不同:Python使用縮排對齊組織代碼的執行,所有沒有縮排的代碼(非函數定義和類定義),都會在載入時自動執行,這些代碼,可以認為是Python的main函數。 每個檔案(模組)都可以任意寫一些沒有縮排的代碼,並且在載入時自動執行,為了區分主執行檔案還是被調用的檔案,Python引入了一個變數__name__,當檔案是被調用時,__name__的值為模組名,當檔案被執行時,__name__為'__m
Time of Update: 2018-12-03
特殊符號 和C/C++,Java等語言相比,有些符號在Python中有特殊定義,在這裡列一下。 _ : 最後一個運算式的值 例子: >>> 4/22>>> _2>>> print _ + 1012 % : 字串格式操作符 例子: >>> print '%s is number %d!' % ('Python', 1)Python is number 1! >> :
Time of Update: 2018-12-03
三種方法查看數字資料的類型:[1] isinstance 可讀性更好#! /usr/bin/env python'''typechk.py'''def displayNumType(num): print num, 'is', if isinstance(num, (int, long, float, complex)): print 'a number of type:', type(num).__name__ else: print 'not
Time of Update: 2018-12-03
Sphinx Introducation: Python Documentation GeneratorAuthor: Chao Zhong(鐘超)Email: zhongchao.ustc#gmail.com (#->@)Blog: Blog.CSDN.net/PoechantDate: Sep 30, 20120 Install Sphinxeasy_install -U Sphinx1 Build Project1.1 sphinx-quickstartmichael@ubuntu:
Time of Update: 2018-12-03
如果在一個內建函式裡,對在外部範圍(但不是在全域範圍)的變數進行引用,那麼內建函式就被認為是閉包(closure).閉包在函數式編程中是一個重要的概念。文法上看比較簡單,但是用處卻是相當廣泛的。在Python 2.1版本以前,只有全域域和局部範圍,而在2.1以後的版本中我們可以使用靜態嵌套域,如像下面這樣的嵌套函數中,在以前,內建函式是不能訪問外部函數範圍中的變數的。def foo(): m = 3 def bar(): n = 4 print m +
Time of Update: 2018-12-03
轉載自:http://hi.baidu.com/life_to_you/item/b31c8db8ba467fe84ec7fd04python str的一些方法在python有各種各樣的string操作函數。在曆史上string類在python中經曆了一段輪迴的曆史。在最開始的時候,python有一個專門的string的module,要使用string的方法要先import,但後來由於眾多的python使用者的建議,從python2.0開始,string方法改為用S.method()的形式調用,
Time of Update: 2018-12-03
>>> import urllib>>> data = '麗江'>>> print data麗江>>> data'\xe4\xb8\xbd\xe6\xb1\x9f'>>> urllib.quote(data)'%E4%B8%BD%E6%B1%9F'那我們想轉回去呢?>>>
Time of Update: 2018-12-03
1. 在python 模組的每一個包中,都有一個__init__.py檔案。每個Python包中必須包含該檔案。如果 __init__.py 不存在,這個目錄就僅僅是一個目錄,而不是一個包,它就不能被匯入或者包含其它的模組和嵌套包。 2. 包通常總是一個目錄,除了 __init__.py檔案外,還有一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。 3. __init__.py 檔案會在包被匯入時被執行。 4. __init__