SymPy是符號(hào)數(shù)學(xué)的Python庫。它的目標(biāo)是成為一個(gè)全功能的計(jì)算機(jī)代數(shù)系統(tǒng),同時(shí)保持代碼簡潔、易于理解和擴(kuò)展#coding:utf-8'''函數(shù)極限'''importsympysympy.init_printing()fromsympyimportI,pi,ooimportnumpyasnpx=sympy.Symbol('x')expr=sympy.sin(x)/xresult=sympy.limit(expr,x,0)print('limit:',r
系統(tǒng) 2019-09-27 17:52:24 1940
掃描服務(wù)器ip開放端口,用線程池ThreadPoolExecutor,i7的cpu可以開到600個(gè)左右現(xiàn)成,大概20s左右掃描完65535個(gè)端口,根據(jù)電腦配置適當(dāng)降低線程數(shù)#!/usr/local/python3.6.3/bin/python3.6#coding=utf-8importsocketimportdatetimeimportrefromconcurrent.futuresimportThreadPoolExecutor,waitDEBUG=Fa
系統(tǒng) 2019-09-27 17:52:19 1940
模塊Module定義包含一系列數(shù)據(jù)、函數(shù)、類的文件,通常以.py結(jié)尾。作用讓一些相關(guān)的數(shù)據(jù),函數(shù),類有邏輯的組織在一起,使邏輯結(jié)構(gòu)更加清晰。有利于多人合作開發(fā)。導(dǎo)入import1.語法:import模塊名import模塊名as別名2.作用:將某模塊整體導(dǎo)入到當(dāng)前模塊中3.使用:模塊名.成員fromimport1.語法:from模塊名import成員名[as別名1]作用:將模塊內(nèi)的一個(gè)或多個(gè)成員導(dǎo)入到當(dāng)前模塊的作用域中。fromimport*1.語法:fro
系統(tǒng) 2019-09-27 17:51:00 1940
作為Python程序員,應(yīng)該能夠正視Python的優(yōu)點(diǎn)與缺點(diǎn)。眾所周之,Python的運(yùn)行速度是很慢的,特別是大數(shù)據(jù)量的運(yùn)算時(shí),Python會(huì)慢得讓人難以忍受。對于這種情況,“專業(yè)”的解決方案是用上numpy或者opencl。不過有時(shí)候?yàn)榱艘稽c(diǎn)小功能用上這種重型的解決方案很不劃算,或者有時(shí)候想要實(shí)現(xiàn)的操作在numpy里面沒有,需要我們自己用C語言來編寫。總之,我們使用Python與C++的混合編程能夠加快程序熱點(diǎn)的運(yùn)算速度。首先要提醒大家注意的是,在考慮聯(lián)
系統(tǒng) 2019-09-27 17:50:45 1940
生成器就是自己用python代碼寫的迭代器,生成器的本質(zhì)就是迭代器。通過以下兩種方式構(gòu)建一個(gè)生成器:1、通過生成器函數(shù)2、生成器表達(dá)式生成器函數(shù):函數(shù)deffunc1(x):x+=1returnxprint(func1(5))生成器函數(shù)deffunc1(x):x+=1yieldxg_obj=func1(5)print(g_obj.__next__())一個(gè)next對應(yīng)一個(gè)yield。yieldVSreturnreturn結(jié)束函數(shù),給函數(shù)的執(zhí)行者返回值yie
系統(tǒng) 2019-09-27 17:50:36 1940
平時(shí)做數(shù)據(jù)處理基本離不了日志記錄功能。每次都配置一堆挺煩人,索性封裝個(gè)模塊,這里記錄一下,與大家共享。說明本日志模塊目前只有一個(gè)方法getLogger,其他配置項(xiàng)通過參數(shù)傳遞,包括日志文件名,等級(jí),日志文件劃分方式,日志清除配置,日志格式等。logger.pyimportloggingfromloggingimporthandlers#日志級(jí)別字典__level_dict={'critical':logging.CRITICAL,'fatal':loggi
系統(tǒng) 2019-09-27 17:50:32 1940
Python從文件中讀取指定的行如果想根據(jù)給出的行號(hào),從文本文件中讀取一行數(shù)據(jù),Python標(biāo)準(zhǔn)庫linecache模塊非常適合這個(gè)任務(wù):測試文件內(nèi)容:Thisisline1.Thisisline2.Thisisline3.Thisisline4.Thisisline5.Thisisline6.Thisisline7.Thisisline8.測試代碼:>>>importlinecache>>>file_path=r'D:\work\python\test.
系統(tǒng) 2019-09-27 17:50:14 1940
常見的排序算法:冒泡排序,選擇排序,插入排序,希爾排序,快速排序,堆排序,歸并排序。冒泡排序原理:兩兩元素進(jìn)行比較,每一趟能夠確定最大元素的位置,穩(wěn)定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>
系統(tǒng) 2019-09-27 17:49:28 1940
創(chuàng)建Deque序列:fromcollectionsimportdequed=deque()Deque提供了類似list的操作方法:d=deque()d.append('1')d.append('2')d.append('3')len(d)d[0]d[-1]輸出結(jié)果:3'1''3'兩端都使用pop:d=deque('12345')len(d)d.popleft()d.pop()d輸出結(jié)果:5'1''5'deque(['2','3','4'])我們還可以限制d
系統(tǒng) 2019-09-27 17:47:59 1940
python郵件列表里有人發(fā)表言論說“python3在10內(nèi)都無法普及”。在我看來這樣的觀點(diǎn)有些過于悲觀,python3和python2雖然不兼容,但他們之間差別并沒很多人想像的那么大。你只需要對自己的代碼稍微做些修改就可以很好的同時(shí)支持python2和python3的。下面我將簡要的介紹一下如何讓自己的python代碼如何同時(shí)支持python2和python3。一、放棄python2.6之前的python版本python2.6之前的python版本缺少一
系統(tǒng) 2019-09-27 17:47:38 1940