python入门怎么学

Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!以下是小编为你整理的python入门怎么学

1. Django是 python 语言写的一个网络框架包,所以你得知道一些 Python 基础知识。

2. 其次你最好有一些做网站的经验,懂一些网页 HTML, CSS, JavaScript 的知识。

没有经验也没有关系,慢慢来就好了,你一定可以学会,Django 很简单!

Django 特点

强大的数据库功能



用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句

自带的强大的后台功能

几行简单的代码就让你的网站拥有一个强大的后台,轻松管理你的内容!

优雅的网址

用正则匹配网址,传递到对应函数,随意定义,如你所想!

模板系统

强大,易扩展的模板系统,设计简易,代码,样式分开设计,更容易管理。

缓存系统

与memcached或其它的缓存系统联用,更出色的表现,更快的加载速度。

国际化

完全支持多语言应用,允许你定义翻译的字符,轻松翻译成不同国家的语言。

函数式编程

允许变量指向函数,直接对变量的调用和调用这个函数是一样的效果;

接收参数是函数的函数,同时也称高阶函数。

例子:利用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()函数:接收一个f函数以及一个list,并且通过f函数依次作用在list的每一个元素上返回一个新的list。

b)、使用:map(function,list)

c)、例子:

假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的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()函数:允许接收一个函数f和一个list;而reduce()传入的函数f必须接收两个参数。reduce对list中的每一个元素反复调用函数f并返回结果,然后将结果作为新的参数传入函数f .

b)、调用:reduce(function,list)

c)、例子:Python内置了求和函数sum(),但没有求积的函数,请利用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()高阶函数

1

a)、filter():接收一个函数f和list。函数f对list中的每一个元素进行过滤,返回true or false,filter()函数根据判断结果自动过滤不符合条件的元素,返回符合条件的元素组成新的list。

b)、调用:filter(function,list)

c)、例子:请利用filter()过滤出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()函数的时候如果在参数前面加上r,那么后面字符串里的内容就原封不动地打印出来啦。

print(r\\n\t)

\\n\t

print(\\n\t\\\)

SyntaxError: EOL while scanning string literal

print(\\n\t\\)

\n \

print(\\n\t\\\\)

\n \\

你知道为什么输入print(\\n\t\\\)报错;而输入print(\\n\t\\\\)可以正常运行吗?因为\后面得接些转义字符。

如果我们想让每个单词单独输出一行怎么办呢?\n虽然是一种方法,但是让代码很难看。

在print()里,用 将要输出显示的内容包起来,引号里的换行符就可以打印出来啦,方便直观。

当然前面加上r也是有同样效果的,下次看到不要惊奇。

python里的变量是区分大小写的,前面我们已经介绍过来,再来通过布尔值来验证一下。



true

Traceback (most recent call last):

File , line 1, in

true

NameError: name true is not defined

True

True

各类函数式的应用

a)、map()函数:接收一个f函数以及一个list,并且通过f函数依次作用在list的每一个元素上返回一个新的list。

b)、使用:map(function,list)

c)、例子:

假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个list(包含若干不规范的英文名字)变成一个包含规范英文名字的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()函数:允许接收一个函数f和一个list;而reduce()传入的函数f必须接收两个参数。reduce对list中的每一个元素反复调用函数f并返回结果,然后将结果作为新的参数传入函数f .

b)、调用:reduce(function,list)

c)、例子:Python内置了求和函数sum(),但没有求积的函数,请利用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])

filter()高阶函数

a)、filter():接收一个函数f和list。函数f对list中的每一个元素进行过滤,返回true or false,filter()函数根据判断结果自动过滤不符合条件的元素,返回符合条件的元素组成新的list。

b)、调用:filter(function,list)

c)、例子:请利用filter()过滤出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))

sorted()高阶函数

a)、sorted():接收一个比较函数f来实现自定义排序。函数f的定义:传入两个待比较的元素x,y

如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。

b)、调用 sorted(list,f)

c)、例子:对字符串排序时,有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数,实现忽略大小写排序的算法。

输入:[bob, about, Zoo, Credit]

输出:[Zoo, Credit, bob, about]

def cmp_ignore_case(x,y):

if x.lower()y.lower():

return -1

elif x.lower()==y.lower():

return 0

else:

return 1




    延伸阅读