API就是把Web App的功能全部封装了,所以,通过API操作数据,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。一个API也是一个URL的处理函数,我们希望能直接通过一个@api来把函数变成JSON格式的REST API,这样,获取注册用户可以用一个API实现如下:
@get('/api/users'……继续阅读 »
2年前 (2020-04-19) 625浏览 0评论
0个赞
继承是面向对象编程的一个重要特点,通过继承,子类其实是扩展了父类。
Animal这个父类下,假设我们要实现以下4种动物:
Dog – 狗狗;
Bat – 蝙蝠;
Parrot – 鹦鹉;
Ostrich – 鸵鸟。
如果按照哺乳动物和鸟类归类,可以设计出这样的类的层次:
如果按照“能跑”和“能飞”来归类……继续阅读 »
2年前 (2020-04-19) 712浏览 0评论
0个赞
今天尝试回答一下对于想学习编程的学生而言,Python和Java该选哪个?这里不讨论自娱自乐型的编程学习,主要面对的是准备将编程作为工作的人群,所以不单考虑学习难易程度,还要考虑工作前景和机会。
先来看下过去5年Python和Java在百度搜索引擎上的搜索指数趋势对比
可以看到国内近几年Python的确太火,很多初学者容易有这种疑问:我应该学习Java还……继续阅读 »
2年前 (2020-04-17) 598浏览 0评论
0个赞
先说明下什么是MVC,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一……继续阅读 »
2年前 (2020-04-17) 645浏览 0评论
0个赞
绑定属性时直接把属性暴露的话,没办法检查参数,例如可以直接设置学生分数为99999分,这显然不合理。
为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:
>>> class Student():
def ge……继续阅读 »
2年前 (2020-04-17) 561浏览 0评论
0个赞
一个网站应用运行时都需要读取配置文件,一般包括数据库的用户名、口令等。默认的配置文件应该符合本地开发环境,我们把默认的配置文件命名为config_default.py:
# config_default.py
configs = {
'debug': True,
'db': {
……继续阅读 »
2年前 (2020-04-16) 581浏览 0评论
0个赞
当我们定义了类class并创建它的实例之后,我们可以给这个实例绑定任何属性和方法,这就是动态语言的灵活性。
我们定义一个class:
>>> class Student(object):
pass
给创建的实例绑定属性:
>>> s = Student()
>>> s.name = ……继续阅读 »
2年前 (2020-04-16) 658浏览 0评论
0个赞
在正式开始Web开发前,我们需要编写一个Web框架。
由于aiohttp相对比较底层,所以我们需要基于aiohttp自己封装一个处理url的Web框架。
## 定义add_route函数,来注册一个URL处理函数
def add_route(app, fn):
method = getattr(fn, '__method__……继续阅读 »
2年前 (2020-04-14) 638浏览 0评论
0个赞
由于Python是动态语言,根据类创建的实例可以任意绑定属性。给实例绑定属性的方法是通过实例变量,或者通过self变量:
>>> class Student(object):
def __init__(self, name):
self.name = name
>>> s = Student(&……继续阅读 »
2年前 (2020-04-14) 568浏览 0评论
0个赞
type()
拿到一个对象,如何知道对象是什么类型?如何判断对象类型?可以使用type()来判断:
>>> type(12345)
<class 'int'>
>>> type('12345')
<class 'str'>
>……继续阅读 »
2年前 (2020-04-13) 506浏览 0评论
0个赞