通用視圖1.前言回想一下,在Django中view層起到的作用是相當(dāng)于controller的角色,在view中實(shí)施的動(dòng)作,一般是取得請(qǐng)求參數(shù),再?gòu)膍odel中得到數(shù)據(jù),再通過(guò)數(shù)據(jù)創(chuàng)建模板,返回相應(yīng)響應(yīng)對(duì)象。但在一些比較通用的功能中,比如顯示對(duì)象列表,顯示某對(duì)象信息,如果反復(fù)寫(xiě)這么多流程的代碼,也是一件浪費(fèi)時(shí)間的事,在這里,Django同樣給我們提供了類似的"shortcut"捷徑--通用視圖。2.使用通用視圖使用通用視圖的方法就是在urls.py這個(gè)路徑配
系統(tǒng) 2019-09-27 17:48:15 1760
類與類的關(guān)系依賴關(guān)系#依賴關(guān)系:將一個(gè)類的類名或者對(duì)象傳給另一個(gè)類的方法中.classElephant:def__init__(self,name):self.name=namedefopen(self,r1):#print(ref1)print(f'{self.name}默念三聲:芝麻開(kāi)門')r1.open_door()defclose(self):print('大象默念三聲:芝麻關(guān)門')classRefrigerator:def__init__(sel
系統(tǒng) 2019-09-27 17:48:13 1760
API:statuses/public_timeline返回最新的200條公共微博,返回結(jié)果非完全實(shí)時(shí)CODE:#!/usr/bin/python#-*-coding:utf-8-*-'''Createdon2014-7-3@author:guaguastd@name:statuses_public_timeline.py'''defpublic_timeline(weibo_api,count):#public_timeline=weibo_api.st
系統(tǒng) 2019-09-27 17:48:06 1760
__init__方法是什么?使用Python寫(xiě)過(guò)面向?qū)ο蟮拇a的同學(xué),可能對(duì)__init__方法已經(jīng)非常熟悉了,__init__方法通常用在初始化一個(gè)類實(shí)例的時(shí)候。例如:#-*-coding:utf-8-*-classPerson(object):"""SillyPerson"""def__init__(self,name,age):self.name=nameself.age=agedef__str__(self):return''%(self.name
系統(tǒng) 2019-09-27 17:47:53 1760
好程序員Python學(xué)習(xí)路線分享實(shí)現(xiàn)快速排序算法,快速排序算法是一種基于交換的高效的排序算法,由C.R.A.Hoare于1962年提出,是一種劃分交換排序。它采用了一種分治的策略,通常稱其為分治法(Divideandconqueralgorithm)。分治法的基本思想將原問(wèn)題分解為若干個(gè)規(guī)模更小但結(jié)構(gòu)與原問(wèn)題相似的子問(wèn)題。遞歸地解這些子問(wèn)題,然后將這些子問(wèn)題的解組合為原問(wèn)題的解。快速排序的基本思想先找到一個(gè)基準(zhǔn)點(diǎn)(一般指數(shù)組的中部),然后數(shù)組被該基準(zhǔn)點(diǎn)分為
系統(tǒng) 2019-09-27 17:47:30 1760
windows10:1,先要pip安裝pydotplus和graphviz:pipinstallpydotpluspipinstallgraphviz2,www.graphviz.org下載msi文件并安裝。3,系統(tǒng)環(huán)境變量path中增加兩項(xiàng):C:\ProgramFiles(x86)\Graphviz2.38\binC:\ProgramFiles(x86)\Graphviz2.38#確認(rèn)graphviz是安裝在上面路徑當(dāng)中。4,python中使用方法:fr
系統(tǒng) 2019-09-27 17:47:26 1760
還是分析一下大體的流程:首先還是Chrome瀏覽器抓包分析元素,這是網(wǎng)址:https://www.douyu.com/directory/all發(fā)現(xiàn)所有房間的信息都是保存在一個(gè)無(wú)序列表中的li中,所以我們可以先獲取一個(gè)裝有l(wèi)i的element對(duì)象的列表,然后在對(duì)每個(gè)element逐一操作分析斗魚(yú)的翻頁(yè),有一個(gè)下一頁(yè)按鈕,是個(gè)li,class="dy-Pagination-item-custom",但是當(dāng)煩到最后一頁(yè)的時(shí)候,class="dy-Paginat
系統(tǒng) 2019-09-27 17:47:21 1760
在python的官方文檔中:getattr()的解釋如下:getattr(object,name[,default])Returnthevalueofthenamedattributeofobject.namemustbeastring.Ifthestringisthenameofoneoftheobject'sattributes,theresultisthevalueofthatattribute.Forexample,getattr(x,'fooba
系統(tǒng) 2019-09-27 17:47:19 1760
函數(shù)的對(duì)象python中一切皆對(duì)象函數(shù)對(duì)象的四大功能引用deff1():print('fromf1')f1()#調(diào)用函數(shù)print(f1)print('*'*50)f=f1#將函數(shù)名f1賦值給ff()#f也可以調(diào)用函數(shù)print(f)fromf1**************************************************fromf1函數(shù)名相當(dāng)于一個(gè)變量名,既能接收函數(shù)體返回的值,也能賦值。當(dāng)做參數(shù)傳給一個(gè)函數(shù)deff1():prin
系統(tǒng) 2019-09-27 17:46:53 1760
首先通過(guò)一個(gè)例子來(lái)看一下本文中可能用到的對(duì)象和相關(guān)概念。復(fù)制代碼代碼如下:#coding:UTF-8importsys#模塊,sys指向這個(gè)模塊對(duì)象importinspectdeffoo():pass#函數(shù),foo指向這個(gè)函數(shù)對(duì)象classCat(object):#類,Cat指向這個(gè)類對(duì)象def__init__(self,name='kitty'):self.name=namedefsayHi(self):#實(shí)例方法,sayHi指向這個(gè)方法對(duì)象,使用類或?qū)?/span>
系統(tǒng) 2019-09-27 17:46:49 1760