Time of Update: 2016-12-05
發現問題最近在面試的時候遇到一個題目,選擇用JavaScript或者Python實現字串反轉,我選擇了Python,然後寫出了代碼(錯誤的):#!/usr/bin/env python#-*-coding:utf-8-*-__author__ = 'ZhangHe'def reverse(s): l = 0 r = len(s) - 1 while l
Time of Update: 2016-12-05
1.下載python2.7.xwget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz2.解壓並編譯安裝tar -zxvf Python-2.7.6.tgz && cd Python-2.7.6 && ./configure && make all && make install && make clean && make distclean3.檢查安裝/usr/local/bin/python2.7
Time of Update: 2016-12-05
有序字典-OrderedDict簡介樣本有序字典和通常字典類似,只是它可以記錄元素插入其中的順序,而一般字典是會以任意的順序迭代的。參見下面的例子:import collectionsprint 'Regular dictionary:'d = {}d['a'] = 'A'd['b'] = 'B'd['c'] = 'C'd['d'] = 'D'd['e'] = 'E'for k, v in d.items(): print k, vprint '\nOrderedDict:'d =
Time of Update: 2016-12-05
首先來看一個小程式,這個是計量所花費時間的程式,以下是以往的解決樣本from functools import wraps, partialfrom time import timedef timing(func=None, frequencies=1): if func is None: # print("+None") return partial(timing, frequencies=frequencies) # else: # print("-None")
Time of Update: 2016-12-05
做滲透測試的時候,有個比較大的項目,裡面有幾百個網站,這樣你必須首先確定哪些網站是正常,哪些網站是不正常的。所以自己就編了一個小指令碼,為以後方便使用。具體實現的代碼如下:#!/usr/bin/python# -*- coding: UTF-8 -*-'''@Author:joy_nick@部落格:http://byd.dropsec.xyz/'''import requestsimport sysf = open('url.txt', 'r')url =
Time of Update: 2016-12-05
所謂類屬性的延遲計算就是將類的屬性定義成一個property,只在訪問的時候才會計算,而且一旦被訪問後,結果將會被緩衝起來,不用每次都計算。優點構造一個延遲計算屬性的主要目的是為了提升效能實現class LazyProperty(object): def __init__(self, func): self.func = func def __get__(self, instance, owner): if instance is None: return self
Time of Update: 2016-12-05
前言注釋可以起到一個備忘的作用,團隊合作的時候,個人編寫的代碼經常會被多人調用,為了讓別人能更容易理解代碼的通途,使用注釋是非常有效。Python 注釋符一、python單行注釋符號(#)井號(#)常被用作單行注釋符號,在代碼中使用#時,它右邊的任何資料都會被忽略,當做是注釋。print 1 #輸出1#號右邊的內容在執行的時候是不會被輸出的。二、批量、多行注釋符號在python中也會有注釋有很多行的時候,這種情況下就需要批量多行注釋符了。多行注釋是用三引號'''
Time of Update: 2016-12-05
首先第一步,開啟檔案,有兩個函數可供選擇:open() 和 file()①. f = open('file.txt',‘w') ... file.close() ②. f = file('file.json','r') ...file.close()#記得開啟檔案時最後不要忘記關閉!open() 和 file() 都是Python的內建函數,返回一個檔案對象,具有相同的功能,可以任意替換。使用文法為:f = open(fileName, access_mode='r',
Time of Update: 2016-12-05
隊列特性:先進先出(FIFO)——先進隊列的元素先出隊列。來源於我們生活中的隊列(先排隊的先辦完事)。Queue模組最常與threading模組一起構成生產-消費者模型,提供了一個適用於多線程編程的先進先出的資料結構,即隊列。該模組源碼中包含5個類:其中,Empty和Full是兩個異常類,當隊列的Queue.get(block=0)或者調用get_nowait()時,如果隊列為空白,則拋EmptyException異常。 同理,當隊列的Queue.put(block=0)或者調用put_no
Time of Update: 2016-12-05
shelve -- 用來持久化任意的Python對象這幾天接觸了Python中的shelve這個module,感覺比pickle用起來更簡單一些,它也是一個用來持久化Python對象的簡單工具。當我們寫程式的時候如果不想用關聯式資料庫那麼重量級的東東去儲存資料,不妨可以試試用shelve。shelf也是用key來訪問的,使用起來和字典類似。shelve其實用anydbm去建立DB並且管理持久化對象的。 建立一個新的shelf直接使用shelve.open()就可以建立了import
Time of Update: 2016-12-05
前言眾所周知Python不像JS或者PHP這種弱類型語言裡在字串串連時會自動轉換類型,如果直接將字串和數字拼接會直接報錯。如以下的代碼:# coding=utf8str = '你的分數是:'num = 82text = str+num+'分 | 瓊台部落格'print text執行結果直接報錯:TypeError: cannot concatenate 'str' and 'int' objects解決這個方法只有提前把num轉換為字串類型,可以使用bytes函數把int型轉換為string型。
Time of Update: 2016-12-05
第一步:升級pythonCentOs 6.x的系統預設安裝的Python版本是2.6.x,想升級到Python2.7.x,從官方下載源檔案,然後解壓、編譯wget http://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xzunxz Python-2.7.10.tar.xztar -vxf
Time of Update: 2016-12-05
最近,做個小項目經常會遇到Python 的異常,讓人非常頭疼,故對異常進行整理,避免下次遇到異常不知所措,以下就是對Python 異常進行的整理。1.Python異常類 異常 描述 NameError 嘗試訪問一個沒有申明的變數 ZeroDivisionError 除數為0 SyntaxError 語法錯誤
Time of Update: 2016-12-05
最近在做Python 的項目,特地整理了下 Python 序列的方法。序列sequence是python中最基本的資料結構,本文先對序列做一個簡單的概括,之後簡單講解下所有序列都能通用的操作方法。任何序列都可以引用其中的元素(item).下面的內建函數(built-in function)可用於列表(表,定值表,字串)#s為一個序列 len(s) 返回: 序列中包含元素的個數 min(s) 返回:序列中最小的元素
Time of Update: 2016-12-05
哪裡出問題了 python 中,使用 global 會將全域變數設為本函數可用。同時,在函數內部訪問變數會先本地再全域。 在嵌套函數中,使用 global 會產生不合常理的行為。 上代碼:In [96]: def x():b = 12def y():global a,ba = 1b = 2y()print "b =",b....: In [97]: a = 111In [98]: del bIn [99]: x()b = 12In [100]: aOut[100]: 1In [101]:
Time of Update: 2016-12-05
需求背景最近為公司開發了一套郵件日報程式,郵件一般就是表格,圖片,然後就是附件。附件一般都是預設寫到txt檔案裡,但是PM希望郵件裡的附件能直接用Excel這種軟體開啟,最開始想儲存為Excel,但是一想Excel的檔案體積會多出好多倍,csv檔案預設也是使用Excel開啟的,但是根本還是文字檔,體積小,儲存也方便,於是最終決定使用csv模組來儲存檔案。Python寫csv檔案Python提供了內建模組讀寫csv檔案,這裡我只用到了寫,讀這裡就不做介紹了,也不難,主要是解決亂碼問題。def
Time of Update: 2016-12-05
可能比較 low 還是記錄一下:str 和 repr的使用過程 str 是一個類型 (int, long 類似), 同樣她也可以作為一個Factory 方法 執行個體一個 string repr 是python 內建的函數, 用於保留一個 列印值在python 程式碼片段裡的真實狀態 好,以上全是廢話>>> a = 1>>> a +
Time of Update: 2016-12-05
解決思路首先想到的就是利用 python 的Regex來匹配非法字元,然後找出非法記錄。然而理想總是豐滿的,現實卻是殘酷的。在實現的過程中,才發現自己對於字元編碼、以及 python 內部字串表示的相關知識的缺乏。在這期間,踩過了不少坑,到最後雖然還有些模糊的地方,但總算有一個總體清晰的瞭解。在此記錄下心得,避免以後在同一個地方跌倒。以下的測試環境是 ArcGIS 10.3 內建的 python 2.7.8 環境,不保證其他 python 環境也適用。python Regexpython
Time of Update: 2016-12-05
單繼承時super()和__init__()實現的功能是類似的class Base(object):def __init__(self):print 'Base create'class childA(Base):def __init__(self):print 'creat A ',Base.__init__(self)class childB(Base):def __init__(self):print 'creat B ',super(childB,
Time of Update: 2016-12-05
英文文檔:class complex([real[, imag]])Return a complex number with the value real + imag*1j or convert a string or number to a complex number. If the first parameter is a string, it will be interpreted as a complex number and the function must be called