最近敲代碼的時候主要遇到兩大問題,第一個是構造自己包的時候找不到package。構造自己package談兩條經驗,有助于解決這個問題。1自己構造包的名稱盡量不要和Python自帶的包重名,起的名字個性化一點。要不然出的bug都不知道錯在哪2只要打算把這個文件夾當成一個包,就一定要在這個文件夾同一目錄下新建一個__init__.py文件(內容可以為空)一般來說注意這兩點,構建包就不成問題。在包的文件夾里面的.py文件稱之為模塊(文件名就是模塊名),當然包里也
系統 2019-09-27 17:48:06 1965
如下所示:#x=['cba',"edf"]#y=[]#foriinx:#foriiini:##print(ii)#ifii=='':#pass#else:#y.append(ii)#print(y)#python清除列表中的空字符#list1=['122','2333','3444','','422','','','54','']#第一種方法會導致最后一個''沒有被移除掉['122','2333','3444','422','54','']#forxinl
系統 2019-09-27 17:47:59 1965
從下面字典中查找出值為數字的字符串,并顯示出對應字典的鍵名和該值dct={'Name':['Alice','1456'],'Age':['aa','5aa','345']}#取出字典的值forvalue1indct.values():#遍歷值列表forvalue2invalue1:#判斷是否為數字的字符串ifvalue2.isdigit():value=value1key=[kfor(k,v)indct.items()ifv==value]print("鍵
系統 2019-09-27 17:46:31 1965
很多時候可能需要在一個圖中畫出多條函數圖像,但是可能y軸的物理含義不一樣,或是數值范圍相差較大,此時就需要雙y軸。matplotlib和seaborn都可以畫雙y軸圖像。一個例子:importseabornassnsimportmatplotlib.pyplotasplt#ax1forKDE,ax2forCDFf,ax1=plt.subplots()ax1.grid(True)#ax1.set_ylim(0,1)ax1.set_ylabel('KDE')a
系統 2019-09-27 17:46:19 1965
數據流轉過程除了在類中可以寫這種函數之外,在類中還可以寫別的函數,延續上一講的例子:復制代碼代碼如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,lang="golang",website="www.google.com"):self.name=nameself.lang=langself.website=websiteself.email="qiwsir@gmail
系統 2019-09-27 17:46:02 1965
概述如果程序處理的數據比較多、比較復雜,那么在程序運行的時候,會占用大量的內存,當內存占用到達一定的數值,程序就有可能被操作系統終止,特別是在限制程序所使用的內存大小的場景,更容易發生問題。下面我就給出幾個優化Python占用內存的幾個方法。說明:以下代碼運行在Python3。舉個栗子我們舉個簡單的場景,使用Python存儲一個三維坐標數據,x,y,z。Dict使用Python內置的數據結構Dict來實現上述例子的需求很簡單。>>>ob={'x':1,'y
系統 2019-09-27 17:45:34 1965
一.語法列表解析式是將一個列表(實際上適用于任何可迭代對象(iterable))轉換成另一個列表的工具。在轉換過程中,可以指定元素必須符合一定的條件,才能添加至新的列表中,這樣每個元素都可以按需要進行轉換。好處:1.簡潔2.高效其實列表解析式并不是必須的,因為它能完成的工作都能夠通過for循環完成,但是列表解析式比手動的for循環語句運行得更快(往往速度快一倍),因為它們的迭代在解釋器內部是以C語言的速度執行的,而不是以手動的Python代碼執行的,特別是
系統 2019-09-27 17:45:29 1965
最近做一個小程序開發任務,主要負責后臺部分開發;根據項目需求,需要實現三個定時任務:1>定時更新微信token,需要2小時更新一次;2>商品定時上線;3>定時檢測后臺服務是否存活;使用Python去實現這三個任務,這里需要使用定時相關知識點;Python實現定點與定時任務方式比較多,找到下面四中實現方式,每個方式都有自己應用場景;下面來快速介紹Python中常用的定時任務實現方式:1>循環+sleep;2>線程模塊中Timer類;3>schedule模塊;
系統 2019-09-27 17:45:28 1965
當你打開一個.py文件時,經常會在代碼的最下面看到if__name__=='__main__':,現在就來介紹一下它的作用.模塊是對象,并且所有的模塊都有一個內置屬性__name__。一個模塊的__name__的值取決于您如何應用模塊。如果import一個模塊,那么模塊__name__的值通常為模塊文件名,不帶路徑或者文件擴展名。但是您也可以像一個標準的程序樣直接運行模塊,在這種情況下,__name__的值將是一個特別缺省"__main__"。//////
系統 2019-09-27 17:45:26 1965
有如下的代碼:classp1:def__init__(self,a,b):print("initinp1")self.a1=aself.b1=bself.f1()deff1(self):print("f1inp1")classc1(p1):def__init__(self,a,b,c=2):print("initinc1")p1.__init__(self,a,b)self.c1=cself.f1()deff1(self):print("f1inp2")c
系統 2019-09-27 17:38:39 1965