Django 是由 Python 開(kāi)發(fā)的一個(gè)免費(fèi)的開(kāi)源網(wǎng)站框架,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站!以下是小編為你整理的python入門代碼教程 ?
1. Django是 python 語(yǔ)言寫(xiě)的一個(gè)網(wǎng)絡(luò)框架包,所以你得知道一些 Python 基礎(chǔ)知識(shí)。 ?
2. 其次你*有一些做網(wǎng)站的經(jīng)驗(yàn),懂一些網(wǎng)頁(yè) HTML, CSS, JavaScript 的知識(shí)。 ?
沒(méi)有經(jīng)驗(yàn)也沒(méi)有關(guān)系,慢慢來(lái)就好了,你一定可以學(xué)會(huì),Django 很簡(jiǎn)單! ?
Django 特點(diǎn) ?
強(qiáng)大的數(shù)據(jù)庫(kù)功能
?
用python的類繼承,幾行代碼就可以擁有一個(gè)豐富,動(dòng)態(tài)的數(shù)據(jù)庫(kù)操作接口(API),如果需要你也能執(zhí)行SQL語(yǔ)句 ?
自帶的強(qiáng)大的后臺(tái)功能 ?
幾行簡(jiǎn)單的代碼就讓你的網(wǎng)站擁有一個(gè)強(qiáng)大的后臺(tái),輕松管理你的內(nèi)容! ?
優(yōu)雅的網(wǎng)址 ?
用正則匹配網(wǎng)址,傳遞到對(duì)應(yīng)函數(shù),隨意定義,如你所想! ?
模板系統(tǒng) ?
強(qiáng)大,易擴(kuò)展的模板系統(tǒng),設(shè)計(jì)簡(jiǎn)易,代碼,樣式分開(kāi)設(shè)計(jì),更容易管理。 ?
緩存系統(tǒng) ?
與memcached或其它的緩存系統(tǒng)聯(lián)用,更出色的表現(xiàn),更快的加載速度。 ?
國(guó)際化 ?
完全支持多語(yǔ)言應(yīng)用,允許你定義翻譯的字符,輕松翻譯成不同*的語(yǔ)言。 ?
函數(shù)式編程允許變量指向函數(shù),直接對(duì)變量的調(diào)用和調(diào)用這個(gè)函數(shù)是一樣的效果; ?
接收參數(shù)是函數(shù)的函數(shù),同時(shí)也稱高階函數(shù)。 ?
例子:利用add(x,y,f)函數(shù),計(jì)算:x,y的平方根之和: ?
import math ?
def add(x,y,f): ?
return f(x)+f(y) ?
add(9,25,math.sqrt) ?
END ?
map()高階函數(shù) ?
1 ?
a)、map()函數(shù):接收一個(gè)f函數(shù)以及一個(gè)list,并且通過(guò)f函數(shù)依次作用在list的每一個(gè)元素上返回一個(gè)新的list。 ?
b)、使用:map(function,list) ?
c)、例子: ?
假設(shè)用戶輸入的英文名字不規(guī)范,沒(méi)有按照首字母大寫(xiě),后續(xù)字母小寫(xiě)的規(guī)則,請(qǐng)利用map()函數(shù),把一個(gè)list(包含若干不規(guī)范的英文名字)變成一個(gè)包含規(guī)范英文名字的list: ?
輸入:['adam', 'LISA', 'barT'] ?
輸出:['Adam', 'Lisa', 'Bart'] ?
def format_name(l): ?
return l[0:1].upper()+l[1:].lower() ?
print map(format_name,['adam', 'LISA', 'barT']) ?
reduce()高階函數(shù) ?
a)、reduce()函數(shù):允許接收一個(gè)函數(shù)f和一個(gè)list;而reduce()傳入的函數(shù)f必須接收兩個(gè)參數(shù)。reduce對(duì)list中的每一個(gè)元素反復(fù)調(diào)用函數(shù)f并返回結(jié)果,然后將結(jié)果作為新的參數(shù)傳入函數(shù)f . ?
b)、調(diào)用:reduce(function,list) ?
c)、例子:Python內(nèi)置了求和函數(shù)sum(),但沒(méi)有求積的函數(shù),請(qǐng)利用recude()來(lái)求積: ?
輸入:[2, 4, 5, 7, 12] ?
輸出:2*4*5*7*12的結(jié)果 ?
def prod(x,y): ?
return x*y ?
print reduce(prod,[2,4,5,7,12]) ?
END ?
filter()高階函數(shù) ?
1 ?
a)、filter():接收一個(gè)函數(shù)f和list。函數(shù)f對(duì)list中的每一個(gè)元素進(jìn)行過(guò)濾,返回true or false,filter()函數(shù)根據(jù)判斷結(jié)果自動(dòng)過(guò)濾不符合條件的元素,返回符合條件的元素組成新的list。 ?
b)、調(diào)用:filter(function,list) ?
c)、例子:請(qǐng)利用filter()過(guò)濾出1~100中平方根是整數(shù)的數(shù),即結(jié)果應(yīng)該是: ?
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] ?
import math ?
def is_sqr(l): ?
s=math.sqrt(l) ?
return int(s)==s ?
print filter(is_sqr,range(1,101)) ?
print函數(shù)
我們?cè)谑褂胮rint()函數(shù)的時(shí)候如果在參數(shù)前面加上r,那么后面字符串里的內(nèi)容就原封不動(dòng)地打印出來(lái)啦。 ?
>>> print(r'\nt') ?
\nt ?
>>> print('\nt\') ?
SyntaxError: EOL while scanning string literal ?
>>> print('\nt\') ?
n ?
>>> print('\nt\\') ?
n \ ?
你知道為什么輸入print('\nt\')報(bào)錯(cuò);而輸入print('\nt\\')可以正常運(yùn)行嗎?因?yàn)楹竺娴媒有┺D(zhuǎn)義字符。 ?
如果我們想讓每個(gè)單詞單獨(dú)輸出一行怎么辦呢?n雖然是一種方法,但是讓代碼很難看。 ?
在print()里,用''' '''將要輸出顯示的內(nèi)容包起來(lái),引號(hào)里的換行符就可以打印出來(lái)啦,方便直觀。 ?
當(dāng)然前面加上r也是有同樣效果的,下次看到不要驚奇。 ?
python里的變量是區(qū)分大小寫(xiě)的,前面我們已經(jīng)介紹過(guò)來(lái),再來(lái)通過(guò)布爾值來(lái)驗(yàn)證一下。
?
>>> true ?
Traceback (most recent call last): ?
File "", line 1, in ?
true ?
NameError: name 'true' is not defined ?
>>> True ?
True ?
python的安裝方法
python爬蟲(chóng),首先需要本地電腦上安裝有python,這里我簡(jiǎn)單說(shuō)一下python的安裝,我相信學(xué)爬蟲(chóng)的同學(xué)們肯定有一定的python基礎(chǔ)了。 ?
首先,進(jìn)入到python官網(wǎng),你可以直接輸入python主頁(yè),也可以從百度搜索框進(jìn)入到python的主頁(yè),這里方法很多,我不在一一例舉了,然后在主頁(yè)上面可以看見(jiàn)Downloads字樣,點(diǎn)擊下載,然后跳轉(zhuǎn)出下載界面。 ?
跳轉(zhuǎn)出python下載界面,選擇一個(gè)版本進(jìn)行下載,這里的我3.X和2.7.X版本的差別還是蠻大的,這里我就不在累贅了,python2.7的支持包要更加全面完善,python3的包擴(kuò)展可能比較少,但是正在慢慢開(kāi)發(fā);python2.7預(yù)計(jì)在202X停止更新了;但是由于小編的習(xí)慣,這里我選擇的是2.7版本。 ?
下載好后,點(diǎn)擊安裝包,依據(jù)提示點(diǎn)擊下一步即可,這里相信大家沒(méi)有任何的問(wèn)題。 ?
安裝好后,按windos鍵加R鍵,彈出運(yùn)行窗口,在運(yùn)行窗口輸入cms進(jìn)入到命令行界面,然后輸入python,如果安裝成功,即可進(jìn)入到python交互界面,如果沒(méi)有則表示python沒(méi)有安裝成功。