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