内容正文:
8.6第三方库应用单元总结
一、选择题
1. 下列哪个命令可正确安装Flask第三方库?( )
A. pip install flask B. virtualenv flask
C. pip upgrade flask D. virtualenv install flask
【答案】A
【解析】pip是Python包管理工具,安装第三方库的标准命令为 pip install 库名 ;virtualenv是创建虚拟环境的工具,并非安装库的命令,B、D错误; pip upgrade 是升级库的命令,C错误。
2. 关于virtualenv的激活操作,说法错误的是( )
A. Windows系统可执行虚拟环境Scripts目录下的activate脚本
B. Linux/Mac系统执行 source 虚拟环境/bin/activate 可激活
C. 激活后命令行提示符会显示虚拟环境名称
D. virtualenv activate 是激活虚拟环境的通用命令
【答案】D
【解析】virtualenv无直接的 activate 命令,需根据系统执行对应脚本,D错误;A、B、C均为virtualenv激活的正确表述。
3. Flask中开启调试模式的方法,不正确的是( )
A. 代码中设置 app.debug = True
B. 代码中设置 app.run(debug=True)
C. 命令行执行 flask run --debug
D. 直接执行 python app.py 自动开启
【答案】D
【解析】Flask调试模式需手动开启,直接执行 python app.py 默认不开启调试模式,D错误;A、B、C均为开启调试模式的正确方式。
4. Flask中注册动态参数路由的正确写法是( )
A. @app.route('/user/<name>') B. @app.route('/user/name')
C. @app.route('/user/[name]') D. @app.route('/user/{name}')
【答案】A
【解析】Flask动态参数路由使用尖括号 <参数名> 的形式,A正确;B是静态路由,C、D的语法不符合Flask路由规则。
5. 使用requests模块发送GET请求后,获取文本形式响应内容的属性是( )
A. requests.get().text B. requests.get().content
C. requests.get().html D. requests.get().data
【答案】A
【解析】 text 属性获取文本形式响应内容, content 是字节形式内容,requests响应对象无 html 和 data 属性,A正确。
6. 创建BeautifulSoup对象时,不需要的参数是( )
A. 网页源码 B. 解析器
C. 目标URL D. 以上都不是
【答案】C
【解析】创建BeautifulSoup对象的语法是 BeautifulSoup(网页源码, 解析器) ,目标URL是 requests.get() 的参数,并非创建该对象的参数,C正确。
7. openpyxl中获取名为“Sheet1”的工作表,正确的方法是( )
A. wb['Sheet1'] B. wb.get_sheet('Sheet1')
C. wb.sheet('Sheet1') D. wb.load_sheet('Sheet1')
【答案】A
【解析】openpyxl中通过工作簿对象的索引方式 wb['工作表名'] 可获取指定工作表,B、C、D均非标准用法。
8. Flask模板中使用变量的语法是( )
A. {{ 变量名 }} B. {% 变量名 %}
C. <!-- 变量名 --> D. <$ 变量名 $>
【答案】A
【解析】Flask使用Jinja2模板引擎,变量渲染用双大括号 {{ 变量名 }} ; {% %} 用于控制结构, <!-- --> 是HTML注释, <$ $> 非模板语法。
9. 下列关于pip工具的说法,正确的是( )
A. pip只能安装Python内置库
B. pip install xxx 用于卸载库
C. pip list 可查看已安装的库
D. pip update 可更新pip本身
【答案】C
【解析】 pip list 用于查看已安装库;pip是第三方库管理工具,A错误; pip install 是安装命令, pip uninstall 才是卸载,B错误;更新pip需用 pip install --upgrade pip ,D错误。
10. Flask中匹配多个URL到同一个视图函数的写法是( )
A. @app.route('/'), @app.route('/index')
B. @app.route('/ /index')
C. @app.route('/|/index')
D. @app.route('/and/index')
【答案】A
【解析】Flask可为同一个视图函数装饰多个 @app.route() 来匹配多个URL,A正确;B、C、D语法均不符合规则。
11. requests模块处理网络异常时,应使用的Python语法结构是( )
A. if-else B. try-except
C. for-in D. while
【答案】B
【解析】Python中 try-except 是异常处理的标准结构,requests的网络请求异常需用其捕获;if-else是条件判断,for-in/while是循环,均不用于异常处理。
12. BeautifulSoup中获取tag标签属性值的方法,正确的是( )
A. tag.attrs['属性名'] B. tag.get('属性名')
C. 以上两种都可以 D. tag.property['属性名']
【答案】C
【解析】bs4中可通过 tag.attrs['属性名'] 或 tag.get('属性名') 获取标签属性,后者在属性不存在时返回None更安全;D的写法非标准用法。
13. openpyxl中创建新Excel工作簿的代码是( )
A. from openpyxl import Workbook; wb = Workbook()
B. from openpyxl import load_workbook; wb = load_workbook()
C. import openpyxl; wb = openpyxl.create_workbook()
D. import openpyxl; wb = openpyxl.Workbook.new()
【答案】A
【解析】 Workbook() 用于创建新工作簿, load_workbook() 用于打开已有工作簿,C、D的方法非openpyxl标准语法。
14. Flask中 request 对象获取GET请求参数的属性是( )
A. request.form B. request.args
C. request.data D. request.files
【答案】B
【解析】 request.args 获取GET请求参数, request.form 获取POST表单数据, request.data 获取原始数据, request.files 获取上传文件。
15. 关于Flask静态文件,说法正确的是( )
A. 静态文件默认存放在static目录
B. 模板中引用静态文件用 {{ static('文件名') }}
C. 静态文件可随意存放在项目根目录
D. Flask不支持引用CSS/JS等静态文件
【答案】A
【解析】Flask静态文件默认存放在static目录,模板中需用 url_for('static', filename='文件名') 引用;静态文件有固定目录规范,Flask支持CSS/JS引用,B、C、D错误。
二、判断题
16. virtualenv创建的虚拟环境可隔离不同项目的第三方库依赖。( )
【答案】√
【解析】virtualenv的核心作用是创建独立Python环境,避免不同项目的库版本冲突。
17. Flask的调试模式在生产环境中也可开启,方便排查问题。( )
【答案】×
【解析】调试模式会暴露源码和错误信息,存在安全风险,仅适用于开发环境,生产环境严禁开启。
18. requests响应对象的 status_code 属性可获取HTTP状态码。( )
【答案】√
【解析】 status_code 属性返回HTTP状态码。
19. BeautifulSoup只能解析HTML格式的网页源码,无法解析XML。( )
【答案】×
【解析】BeautifulSoup支持解析HTML和XML,只需在创建对象时指定对应解析器。
20. openpyxl可以处理.xls格式的Excel文件。( )
【答案】×
【解析】openpyxl仅支持.xlsx格式,.xls格式需使用xlrd/xlwt等库。
三、填空题
21. Flask中构造URL的函数是________。
【答案】url_for
【解析】 url_for() 可根据视图函数名构造URL,避免硬编码URL的问题。
22. 使用bs4解析网页源码时,常用的解析器是________。
【答案】lxml或html.parser、html5lib
【解析】创建BeautifulSoup对象需指定解析器,lxml效率高,html.parser是Python内置解析器。
23. openpyxl中保存工作簿的方法是________。
【答案】wb.save('文件名.xlsx')或save()
【解析】工作簿对象调用 save() 方法并传入文件名,可将工作簿保存为.xlsx文件。
24. Flask模板中,编写循环语句的标签是________。
【答案】{% for ... %}或{% for %}
【解析】Jinja2模板中用 {% for 变量 in 可迭代对象 %} 编写循环,结束用 {% endfor %} 。
25. requests模块中,________方法可发送POST请求并携带表单数据。
【答案】requests.post()
【解析】 requests.post() 用于发送POST请求,可通过 data 参数传入表单数据。
四、编程题
1. 编写程序,设计一个网页信息录入系统,通过网页录入姓名和电话号码,单击提交后,通过 Flask 模块将接收的信息写入到 res.txt 文件。
【答案】
(1)创建 Flask 应用文件app.py :
from flask import Flask, render_template, request
app = Flask(__name__)
# 定义路由:GET显示表单,POST处理提交数据
@app.route('/', methods=['GET', 'POST'])
def info_input():
if request.method == 'POST':
# 获取表单提交的姓名和电话
name = request.form.get('name')
phone = request.form.get('phone')
# 将信息写入res.txt
with open('res.txt', 'a', encoding='utf-8') as f:
f.write(f'姓名:{name},电话:{phone}
')
return '信息提交成功!'
# GET请求时返回表单页面
return render_template('info_form.html')
if __name__ == '__main__':
app.run(debug=True)
(2)创建模板文件:
<!DOCTYPE html>
<html>
<head>
<title>信息录入</title>
</head>
<body>
<h1>信息录入系统</h1>
<form method="post">
姓名:<input type="text" name="name" required><br>
电话:<input type="tel" name="phone" required><br>
<button type="submit">提交</button>
</form>
</body>
</html>
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
8.6第三方库应用单元总结
一、选择题
1. 下列哪个命令可正确安装Flask第三方库?()
A. pip install flask B. virtualenv flask
C. pip upgrade flask D. virtualenv install flask
2. 关于virtualenv的激活操作,说法错误的是()
A. Windows系统可执行虚拟环境Scripts目录下的activate脚本
B. Linux/Mac系统执行 source 虚拟环境/bin/activate 可激活
C. 激活后命令行提示符会显示虚拟环境名称
D. virtualenv activate 是激活虚拟环境的通用命令
3. Flask中开启调试模式的方法,不正确的是()
A. 代码中设置 app.debug = True
B. 代码中设置 app.run(debug=True)
C. 命令行执行 flask run --debug
D. 直接执行 python app.py 自动开启
4. Flask中注册动态参数路由的正确写法是()
A. @app.route('/user/<name>') B. @app.route('/user/name')
C. @app.route('/user/[name]') D. @app.route('/user/{name}')
5. 使用requests模块发送GET请求后,获取文本形式响应内容的属性是()
A. requests.get().text B. requests.get().content
C. requests.get().html D. requests.get().data
6. 创建BeautifulSoup对象时,不需要的参数是()
A. 网页源码 B. 解析器
C. 目标URL D. 以上都不是
7. openpyxl中获取名为“Sheet1”的工作表,正确的方法是()
A. wb['Sheet1'] B. wb.get_sheet('Sheet1')
C. wb.sheet('Sheet1') D. wb.load_sheet('Sheet1')
8. Flask模板中使用变量的语法是()
A. {{ 变量名 }} B. {% 变量名 %}
C. <!-- 变量名 --> D. <$ 变量名 $>
9. 下列关于pip工具的说法,正确的是()
A. pip只能安装Python内置库
B. pip install xxx 用于卸载库
C. pip list 可查看已安装的库
D. pip update 可更新pip本身
10. Flask中匹配多个URL到同一个视图函数的写法是()
A. @app.route('/'), @app.route('/index')
B. @app.route('/ /index')
C. @app.route('/|/index')
D. @app.route('/and/index')
11. requests模块处理网络异常时,应使用的Python语法结构是()
A. if-else B. try-except
C. for-in D. while
12. BeautifulSoup中获取tag标签属性值的方法,正确的是()
A. tag.attrs['属性名'] B. tag.get('属性名')
C. 以上两种都可以 D. tag.property['属性名']
13. openpyxl中创建新Excel工作簿的代码是()
A. from openpyxl import Workbook; wb = Workbook()
B. from openpyxl import load_workbook; wb = load_workbook()
C. import openpyxl; wb = openpyxl.create_workbook()
D. import openpyxl; wb = openpyxl.Workbook.new()
14. Flask中 request 对象获取GET请求参数的属性是()
A. request.form B. request.args
C. request.data D. request.files
15. 关于Flask静态文件,说法正确的是()
A. 静态文件默认存放在static目录
B. 模板中引用静态文件用 {{ static('文件名') }}
C. 静态文件可随意存放在项目根目录
D. Flask不支持引用CSS/JS等静态文件
二、判断题
16. virtualenv创建的虚拟环境可隔离不同项目的第三方库依赖。()
17. Flask的调试模式在生产环境中也可开启,方便排查问题。()
18. requests响应对象的 status_code 属性可获取HTTP状态码。()
19. BeautifulSoup只能解析HTML格式的网页源码,无法解析XML。()
20. openpyxl可以处理.xls格式的Excel文件。()
三、填空题
21. Flask中构造URL的函数是________。
22. 使用bs4解析网页源码时,常用的解析器是________。
23. openpyxl中保存工作簿的方法是________。
24. Flask模板中,编写循环语句的标签是________。
25. requests模块中,________方法可发送POST请求并携带表单数据。
四、编程题
1. 编写程序,设计一个网页信息录入系统,通过网页录入姓名和电话号码,单击提交后,通过 Flask 模块将接收的信息写入到 res.txt 文件。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$