在python中,一個函數就是一個作用域name='xiaoyafei'defchange_name():name='肖亞飛'print('在change_name里的name:',name)change_name()#調用函數print("在外面的name:",name)運行結果如下:在change_name里的name:肖亞飛在外面的name:xiaoyafei我們再試一下在嵌套函數中是如何的尋找的?age=15deffunc():print('第一層
系統 2019-09-27 17:51:15 1958
平時見到的url參數都是key-value,一般vlaue都是字符串類型的如果有幸和我一樣遇到字典,列表等參數,那么就幸運了python2代碼importjsonfromurllibimporturlencode#1.直接將url編碼params={"name":"Tom","hobby":["ball","swimming"],"books":[{"name":"語文","pages":20}]}print(urlencode(params))"""ho
系統 2019-09-27 17:51:13 1958
B.py調用A.py的函數或類在同一個文件夾下調用函數:A.py文件:defadd(x,y):print('和為:%d'%(x+y))B.py文件:importAA.add(1,2)或fromAimportaddadd(1,2)調用類:A.py文件:classA:def__init__(self,xx,yy):self.x=xxself.y=yydefadd(self):print("x和y的和為:%d"%(self.x+self.y))B.py文件:fr
系統 2019-09-27 17:51:08 1958
爬蟲即網絡爬蟲,英文是WebSpider。翻譯過來就是網絡上爬行的蜘蛛,如果把互聯網看作一張大網,那么爬蟲就是在大網上爬來爬去的蜘蛛,碰到想要的食物,就把他抓取出來。我們在瀏覽器中輸入一個網址,敲擊回車,看到網站的頁面信息。這就是瀏覽器請求了網站的服務器,獲取到網絡資源。那么,爬蟲也相當于模擬瀏覽器發送請求,獲得到HTML代碼。HTML代碼里通常包含了標簽和文字信息,我們就從中提取到我們想要的信息。通常爬蟲是從某個網站的某個頁面開始,爬取這個頁面的內容,找
系統 2019-09-27 17:51:07 1958
目錄Python并發編程03/僵尸孤兒進程,互斥鎖,進程之間的通信1.昨日回顧2.僵尸進程和孤兒進程2.1僵尸進程2.2孤兒進程2.3僵尸進程如何解決?3.互斥鎖,鎖3.1互斥鎖的應用3.2Lock與join的區別4.進程之間的通信進程在內存級別是隔離的4.1基于文件通信(搶票系統)4.2基于隊列通信Python并發編程03/僵尸孤兒進程,互斥鎖,進程之間的通信1.昨日回顧1.創建進程的兩種方式:函數,類.2.pid:os.getpid()os.getpp
系統 2019-09-27 17:50:57 1958
什么是淺拷貝?先看一個例子a=[1,2,3,4]b=aa.pop(0)print(a)print(b)輸出:[2,3,4][2,3,4]正常對于這種可變對象的這種賦值,會導致a和b指向一個內存地址,而我們將a中的第0個元素剔除后,實質就是改變了對應的內存地址中的數值,所以會導致b也發生變化下面看一下淺拷貝:a=[1,2,3,4]b=a.copy()a.pop(0)print(a)print(b)輸出[2,3,4][1,2,3,4]這種就是淺拷貝,拷貝的列表
系統 2019-09-27 17:50:34 1958
python批量添加的button使用同一點擊事件根據傳遞的參數進行區分。defclear_text():print'我只是個清空而已'defclear_text(index):print'我只是個清空而已'+str(index)button=Button(framet_title,text='清空',command=clear_text)這樣去設置,單個按鈕對應單個點擊事件沒有問題的如果你是foriinRange(10):button=Button(fr
系統 2019-09-27 17:50:34 1958
在Thread和Process中,應當優選Process,因為Process更穩定,而且,Process可以分布到多臺機器上,而Thread最多只能分布到同一臺機器的多個CPU上。Python的multiprocessing模塊不但支持多進程,其中managers子模塊還支持把多進程分布到多臺機器上。一個服務進程可以作為調度者,將任務分布到其他多個進程中,依靠網絡通信。由于managers模塊封裝很好,不必了解網絡通信的細節,就可以很容易地編寫分布式多進程
系統 2019-09-27 17:50:30 1958
第一步:標記化處理表達式的第一步就是將其轉化為包含一個個獨立符號的列表。這一步很簡單,且不是本文的重點,因此在此處我省略了很多。首先,我定義了一些標記(數字不在此中,它們是默認的標記)和一個標記類型:token_map={'+':'ADD','-':'ADD','*':'MUL','/':'MUL','(':'LPAR',')':'RPAR'}Token=namedtuple('Token',['name','value'])下面就是我用來標記`expr`
系統 2019-09-27 17:49:09 1958
代碼為:#查詢所有圖書、增加圖書defget(self,request):queryset=BookInfo.objects.all()book_list=[]forbookinqueryset:book_list.append({'id':book.id,'bread':book.bread})returnJsonResponse(book_list,safe=False)遇到問題:JsonResponse(book_list,safe=False)sa
系統 2019-09-27 17:49:09 1958