面向對象的編程語言在寫大型程序的的時候,往往比面向過程的語言用起來更方便,安全。其中原因之一在于:類機制。類,對眾多的數據進行分類,封裝,讓一個數據對象成為一個完整的個體,貼近現實生活,高度抽象化。但是,python對類的封裝并不好,因為所有的屬性和方法都是公開的,你可以隨意訪問或者寫入,你可以在類的外部對類的屬性進行修改,甚至添加屬性。這的確讓人感到不安。下面就來總結一下學習后的解決方案。1,使用2個下劃線前綴隱藏屬性或者方法。__xxx#!/usr/b
系統 2019-09-27 17:38:12 1616
前言最近在維護項目的python項目代碼,項目使用了python的日志模塊logging,設定了保存的日志數目,不過沒有生效,還要通過contab定時清理數據。分析項目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log
系統 2019-09-27 17:38:11 1616
set在python里是什么意思?set是一組數,無序,內容又不能重復,通過調用set()方法創建:>>>s=set(['A','B','C'])對于訪問一個set的意義就僅僅在于查看某個元素是否在這個集合里面,注意大小寫敏感:>>>print'A'insTrue>>>print'D'insFalse也通過for來遍歷:s=set([('Adam',95),('Lisa',85),('Bart',59)])forxins:printx[0],':',x[1
系統 2019-09-27 17:38:10 1616
安裝Tornado省事點可以直接用grequests庫,下面用的是tornado的異步client。異步用到了tornado,根據官方文檔的例子修改得到一個簡單的異步爬蟲類??梢詤⒖枷伦钚碌奈臋n學習下。pipinstalltornado異步爬蟲#!/usr/bin/envpython#-*-coding:utf-8-*-importtimefromdatetimeimporttimedeltafromtornadoimporthttpclient,gen,
系統 2019-09-27 17:38:10 1616
在使用google或者baidu搜圖的時候會發現有一個圖片顏色選項,感覺非常有意思,有人可能會想這肯定是人為的去劃分的,呵呵,有這種可能,但是估計人會累死,開個玩笑,當然是通過機器識別的,海量的圖片只有機器識別才能做到。那用python能不能實現這種功能呢?答案是:能利用python的PIL模塊的強大的圖像處理功能就可以做到,下面上代碼:importcolorsysdefget_dominant_color(image):#顏色模式轉換,以便輸出rgb顏色
系統 2019-09-27 17:38:08 1616
python語言的3.x完全不向前兼容,導致我們在python2.x中可以正常使用的庫,到了python3就用不了了.比如說mysqldb1.安裝pymysqlpymysql就是作為python3環境下mysqldb的替代物,進入命令行,使用pip安裝pymysqlpipinstallpymysql32.使用pymysql在我們需要使用數據庫的.py文件開頭添加下面兩行importpymysqlpymysql.install_as_MySQLdb()第一行
系統 2019-09-27 17:38:08 1616
一、如何拆分含有多種分隔符的字符串?實際案例我們要把某個字符串依據分隔符號拆分不同的字符段,該字符串包含多種不同的分隔符,例如:s='asd;aad|dasd|dasd,sdasd|asd,,Adas|sdasd;Asdasd,d|asd'其中<,>,<;>,<|>,<\t>都是分隔符,如何處理?解決方案連續使用split()方法,每次處理一種分隔符#使用Python2defmySplit(s,ds):res=[s]fordinds:t=[]map(lam
系統 2019-09-27 17:38:05 1616
從有道詞典網頁獲取某單詞的中文解釋。importreimporturllibword=raw_input('inputaword\n')url='http://dict.youdao.com/search?q=%s'%wordcontent=urllib.urlopen(url)pattern=re.compile("",re.DOTALL)result=pattern.search(content.read()).group()pattern2=re.c
系統 2019-09-27 17:38:02 1616
今天一個朋友給個需求:來來{'isOK':1,'isRunning':None,'isError':None}怎么轉換成字典好,一看就是json轉化很簡單,開始:importjsona="{'isOK':1,'isRunning':None,'isError':None}"printjson.loads(a)死活出不來結果,還報錯,查了兩個小時的百度,沒搞明白。最后,直接復制網上的代碼,OK,運行成功,可是把我的a變量填進去,不行,報錯;開始對比兩個變量有
系統 2019-09-27 17:38:00 1616
最近我在用梯度下降算法繪制神經網絡的數據時,遇到了一些算法性能的問題。梯度下降算法的代碼如下(偽代碼):defgradient_descent():#thegradientdescentcodeplotly.write(X,Y)一般來說,當網絡請求plot.ly繪圖時會阻塞等待返回,于是也會影響到其他的梯度下降函數的執行速度。一種解決辦法是每調用一次plotly.write函數就開啟一個新的線程,但是這種方法感覺不是很好。我不想用一個像cerely(一種分
系統 2019-09-27 17:37:56 1616