Time of Update: 2016-10-19
最近在備份手機上的照片的時候,純手工操作覺得有些麻煩,就想寫個指令碼自動進行。因為備份的時候有些照片以前備份過了,所以需要有個判重操作。主要功能在copyFiles()函數裡實現,如下:def copyFiles(src, dst): srcFiles = os.listdir(src) dstFiles = dict(map(lambda x:[x, ''], os.listdir(dst))) filesCopiedNum = 0 #
Time of Update: 2016-10-19
Python全域變數與局部變數詳解#Python中的變數:全域變數和局部變數 #在很多語言中,在聲明全域變數的時候,都喜歡把全域變數的名稱定義為大寫 #定義學生人數為100STUDENT_NUMBER = 100#學校名稱SCHOOL_NAME = 'Guangzhou University' """\ 擷取全域變數:學生人數STUDENT_NUMBER的值"""def getStudentNumber(): return STUDENT_NUMBER"""\
Time of Update: 2016-10-19
儘管Python在Function Programming中有著其他語言難以企及的的優勢,但是我們也不要忘了Python也是一門OO語言哦。因此我們關注Python在FP上的優勢的同時,還得瞭解一下Python在OO方面的特性。要討論Python的OO特性,瞭解Python中的Class自然是首當其衝了。在Python中定義class和建立對象執行個體都很簡單,具體代碼如下:class GrandPa: def __init__(self): print('I\
Time of Update: 2016-10-19
眾多語言中都有if else這對條件選擇組合,但是在python中還有更多else使用的地方,比如說迴圈for,或者while都可以和else組合。下面簡單介紹一下for-else while-else組合迴圈組合中的else執行的情況下是迴圈正常結束(即不是使用break退出)。如下列代碼:numbers = [1,2,3,4,5]for n in numbers: if (n > 5): print('the value is %d '%(n))
Time of Update: 2016-10-19
背景在一個新的項目裡面加入了日誌功能,想自己寫一個,但是一個偶然的機會,通過google發現Python內建了一個非常強大的日誌(log)模組:logging。粗略的研究了一下,下面是我的一些心得劄記。為什麼使用日誌追蹤程式的一些運行資訊,以達到時刻瞭解程式啟動並執行狀況,快速捕獲程式的異常,及時發現程式錯誤的目的logging模組簡介從Python2.3起,Python的標準庫加入了logging模組.logging模組給運行中的應用提供了一個標準的資訊輸出介面.典型的logging機制實現是
Time of Update: 2016-10-19
線程池的概念是什嗎?在物件導向編程中,建立和銷毀對象是很費時間的,因為建立一個對象要擷取記憶體資源或者其它更多資源。在Java中更是 如此,虛擬機器將試圖跟蹤每一個對象,以便能夠在對象銷毀後進行記憶體回收。所以提高服務程式效率的一個手段就是儘可能減少建立和銷毀對象的次數,特別是一些
Time of Update: 2016-10-19
python中的range()函數的功能hen強大,所以我覺得很有必要和大家分享一下就好像其API中所描述的:If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions程式碼範例:#如果你需要遍曆一個數字序列,可以是使用python中內建的函數range()
Time of Update: 2016-10-19
同時賦多個值以下是一種很酷的編程捷徑:在 Python 中,可使用元組來一次賦多值。>>> v = ('a', 2, True)>>> (x, y, z) = v ①>>> x'a'>>> y2>>> zTrue1. v 是一個三元素的元組,而 (x, y, z) 是包含三個變數的元組。將其中一個賦值給另一個將會把 v 中的每個值按順序賦值給每一個變數。 該特性有多種用途。假設需要將某個名稱指定某個特定範圍的值。可以使用內建的 range()
Time of Update: 2016-10-19
在python中,任何對象都可以判斷其真假值:True,False在if或while條件判斷中,下面的情況值為False:1.None2.Flase3.數值為0的情況,如:0,0.0,0j4.所有空序列,如:'',(),[]5.所有空mapping,如:{}6.instances of user-defined classes, if the class defines a __bool__() or __len__() method, when that method
Time of Update: 2016-10-19
在python中對日期進行操作的庫有:datetime、time無論在哪種語言,日期函數肯定是最常用的函數。下面直接上執行個體代碼#datetimeimport datetime#當前日期now = datetime.datetime.now()print(now.strftime('%Y-%m-%d %H:%M:%S'))print(now.strftime('%Y-%m-%d'))#string convert to datetimetime_str =
Time of Update: 2016-10-19
1. 判斷物件類型通過type函數可以知道對象的類型,範例程式碼如下:x = 'Hello's = type(x)print sx = 'Hello's = type(x)print s 2. 函數重載在寫函數時,時常遇到需要應付不同的參數類型以及不同的參數數量的情況。在C++中,通常定義多個“同名不同參”的函數來重載搞定,但Python中的重載可以用另外的方法實現:參數類型判斷+預設值import os, sysdef tracelog(s='
Time of Update: 2016-10-19
在python錯誤調試過程中有時需要列印當前python檔案錯誤行,下面來介紹一下方法:import systry: a = [1,2] print a[3]except: s=sys.exc_info() print "Error '%s' happened on line %d" % (s[1],s[2].tb_lineno)列印execfile的列印錯誤行:try:
Time of Update: 2016-10-19
python操作mysql資料庫的相關操作執行個體# -*- coding: utf-8 -*-#python operate mysql databaseimport MySQLdb #資料庫名稱DATABASE_NAME = ''#host = 'localhost' or '172.0.0.1'HOST = ''#連接埠號碼PORT = ''#使用者名稱稱USER_NAME =
Time of Update: 2016-10-19
很多時候我們需要對資料進行格式化,你有沒有對python中的資料格式化感到頭疼呢?pprint會幫你很大的忙pprint模組中使用的格式化可以按照一種格式正確的顯示資料, 這種格式即可被解析器解析, 又很易讀. 輸出儲存在一個單行內, 但如果有必要, 在分割多行資料時也可使用縮排表示.import sysimport pprintpprint.pprint(sys.path)
Time of Update: 2016-10-19
在項目中,我們會在每個介面驗證用戶端傳過來的參數類型,如果驗證不通過,返回給用戶端“參數錯誤”錯誤碼。這樣做不但便於調試,而且增加健壯性。因為用戶端是可以作弊的,不要輕易相信用戶端傳過來的參數。驗證類型用type函數,非常好用,比如>>type('foo') == strTrue>>type(2.3) in
Time of Update: 2016-10-19
在這個用例中,我們要討論的是關於函數的傳參問題我所使用的python版本為3.3.2對於函數:12345678 def fun(arg): print(arg) def main(): fun('hello,Hongten') if __name__ == '__main__': main() 當我們傳遞一個參數給fun()函數,即可列印出傳遞的參數值資訊。這裡列印的資訊為:hello,Hongten對於下面的用例:1
Time of Update: 2016-10-19
從網上看到一篇很有意思的文章,轉載過來大家可以試一下直接上代碼吧#!/usr/bin/env python#coding:utf-8import urllib2import reclass qiubai: def __init__(self,page=1): self.page=page def search(self,page): url = "http://www.qiushibaike.com/week/page/%s" % page
Time of Update: 2016-10-19
import timeprint time.time()輸出的結果是:1279578704.6725271但是這樣是一連串的數字不是我們想要的結果,我們可以利用time模組的格式化時間的方法來處理:time.localtime(time.time())用time.localtime()方法,作用是格式化時間戳記為本地的時間。輸出的結果是:time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22,tm_min=33,
Time of Update: 2016-10-19
一、安裝 Python 2.7 和 NumPy 1.71)從http://www.python.org下載Python 2.7。2)安裝Python 2.7。3)從http://sourceforge.net/projects/numpy/files/NumPy/下載NumPy 1.7 for mac安裝包。4)安裝NumPy 1.7。補充說明:NumPy安裝包有很多個版本,如果使用Python 3.x,則應下載NumPy 1.8中的對應版本。NumPy 1.8支援Python
Time of Update: 2016-10-19
你想複製一個對象?因為在Python中,無論你把對象做為參數傳遞,做為函數傳回值,都是引用傳遞的。何謂引用傳遞,我們來看一個C++交換兩個數的函數:void swap(int &a, int &b){ int temp; temp = a; a = b; b = temp;}