Django 是由 Python 開(kāi)發(fā)的一個(gè)免費的開(kāi)源網(wǎng)站框架,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站!以下是小編為你整理的python學(xué)習怎么樣學(xué) ?
1. Django是 python 語(yǔ)言寫(xiě)的一個(gè)網(wǎng)絡(luò )框架包,所以你得知道一些 Python 基礎知識。 ?
2. 其次你*有一些做網(wǎng)站的經(jīng)驗,懂一些網(wǎng)頁(yè) HTML, CSS, JavaScript 的知識。 ?
沒(méi)有經(jīng)驗也沒(méi)有關(guān)系,慢慢來(lái)就好了,你一定可以學(xué)會(huì ),Django 很簡(jiǎn)單! ?
Django 特點(diǎn) ?
強大的數據庫功能
用python的類(lèi)繼承,幾行代碼就可以擁有一個(gè)豐富,動(dòng)態(tài)的數據庫操作接口(API),如果需要你也能執行SQL語(yǔ)句 ?
自帶的強大的后臺功能 ?
幾行簡(jiǎn)單的代碼就讓你的網(wǎng)站擁有一個(gè)強大的后臺,輕松管理你的內容! ?
優(yōu)雅的網(wǎng)址 ?
用正則匹配網(wǎng)址,傳遞到對應函數,隨意定義,如你所想! ?
模板系統 ?
強大,易擴展的模板系統,設計簡(jiǎn)易,代碼,樣式分開(kāi)設計,更容易管理。 ?
緩存系統 ?
與memcached或其它的緩存系統聯(lián)用,更出色的表現,更快的加載速度。 ?
國際化 ?
完全支持多語(yǔ)言應用,允許你定義翻譯的字符,輕松翻譯成不同*的語(yǔ)言。 ?
函數式編程允許變量指向函數,直接對變量的調用和調用這個(gè)函數是一樣的效果; ?
接收參數是函數的函數,同時(shí)也稱(chēng)高階函數。 ?
例子:利用add(x,y,f)函數,計算:x,y的平方根之和: ?
import math ?
def add(x,y,f): ?
return f(x)+f(y) ?
add(9,25,math.sqrt) ?
END ?
map()高階函數 ?
1 ?
a)、map()函數:接收一個(gè)f函數以及一個(gè)list,并且通過(guò)f函數依次作用在list的每一個(gè)元素上返回一個(gè)新的list。 ?
b)、使用:map(function,list) ?
c)、例子: ?
假設用戶(hù)輸入的英文名字不規范,沒(méi)有按照首字母大寫(xiě),后續字母小寫(xiě)的規則,請利用map()函數,把一個(gè)list(包含若干不規范的英文名字)變成一個(gè)包含規范英文名字的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()高階函數 ?
a)、reduce()函數:允許接收一個(gè)函數f和一個(gè)list;而reduce()傳入的函數f必須接收兩個(gè)參數。reduce對list中的每一個(gè)元素反復調用函數f并返回結果,然后將結果作為新的參數傳入函數f . ?
b)、調用:reduce(function,list) ?
c)、例子:Python內置了求和函數sum(),但沒(méi)有求積的函數,請利用recude()來(lái)求積: ?
輸入:[2, 4, 5, 7, 12] ?
輸出:2*4*5*7*12的結果 ?
def prod(x,y): ?
return x*y ?
print reduce(prod,[2,4,5,7,12]) ?
END ?
filter()高階函數 ?
1 ?
a)、filter():接收一個(gè)函數f和list。函數f對list中的每一個(gè)元素進(jìn)行過(guò)濾,返回true or false,filter()函數根據判斷結果自動(dòng)過(guò)濾不符合條件的元素,返回符合條件的元素組成新的list。 ?
b)、調用:filter(function,list) ?
c)、例子:請利用filter()過(guò)濾出1~100中平方根是整數的數,即結果應該是: ?
[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函數
我們在使用print()函數的時(shí)候如果在參數前面加上r,那么后面字符串里的內容就原封不動(dòng)地打印出來(lái)啦。 ?
>>> print(r'\nt') ?
\nt ?
>>> print('\nt\') ?
SyntaxError: EOL while scanning string literal ?
>>> print('\nt\') ?
n ?
>>> print('\nt\\') ?
n \ ?
你知道為什么輸入print('\nt\')報錯;而輸入print('\nt\\')可以正常運行嗎?因為后面得接些轉義字符。 ?
如果我們想讓每個(gè)單詞單獨輸出一行怎么辦呢?n雖然是一種方法,但是讓代碼很難看。 ?
在print()里,用''' '''將要輸出顯示的內容包起來(lái),引號里的換行符就可以打印出來(lái)啦,方便直觀(guān)。 ?
當然前面加上r也是有同樣效果的,下次看到不要驚奇。 ?
python里的變量是區分大小寫(xiě)的,前面我們已經(jīng)介紹過(guò)來(lái),再來(lái)通過(guò)布爾值來(lái)驗證一下。
?
>>> true ?
Traceback (most recent call last): ?
File "", line 1, in ?
true ?
NameError: name 'true' is not defined ?
>>> True ?
True ?
python基礎知識 學(xué)習每一種新的編程語(yǔ)言都是從最基本的開(kāi)始,對于python而言也是需要先學(xué)習其基礎知識。 ?
python的基礎知識包括:變量和數據類(lèi)型,List和Tuple,條件判斷和循環(huán),Dict和Set, 函數,切片,迭代和列表生成式。 ?
注意:學(xué)習基礎知識切莫著(zhù)急,一定要打好基礎,這樣才會(huì )更好的應用python。 ?
進(jìn)階知識:學(xué)完掌握基礎知識之后,就要學(xué)習進(jìn)階知識了。 ?
python的進(jìn)階知識包括:函數式編程,模塊,面向對象編程基礎,類(lèi)的繼承和定制類(lèi)。 ?
python裝飾器:裝飾器是很重要的一個(gè)知識點(diǎn)。 ?
關(guān)于裝飾器需要涉及到函數作用域.閉包的使用和裝飾器的概念及使用。