視頻七分半,self.params爲什麽在前面print就會多兩個參數呢

視頻七分半,self.params爲什麽在前面print就會多兩個參數呢

在extend命令之前print就显示[5,10,0],老师并没有过多地解释原因而是转而用其他方法规避,但我想清楚地知道一下原因。

我的初步猜测是这里extend产生地是全局变化,所以不管在哪print都会显示最终extend完之后的结果吗

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学,你好。

1、在视图中先调用的page()方法,然后调用的count()方法,在page()方法中,使用extend()对self.params参数值进行了修改,添加了两个参数,因此在count()方法中再使用self.params时,值已经发生了变化,不再是最初传入时的值

http://img1.sycdn.imooc.com//climg/5f05950209dbfbc107450248.jpg

http://img1.sycdn.imooc.com//climg/5f05954409ec890d06290151.jpg

2、为了避免上述情况的产生,在page()方法中,将参数重新放在了空列表sql_params中,在count()方法中self.params的值不会修改,

如果我的回答解决了您的疑惑。请采纳!祝学习愉快~~~~

好帮手慕美 2020-07-08 14:18:08

同学,你好。在使用分页功能时,执行sql语句时需要传三个参数,因此需要循环遍历出self.params列表中的值,添加到新的列表中,再将其他两个参数添加进去,即将三个参数放到一个列表中,在使用execute()执行sql语句时,第二个参数传入sql_params列表即可。

http://img1.sycdn.imooc.com//climg/5f056455095cabca12260069.jpg

http://img1.sycdn.imooc.com//climg/5f0564c109021e5306110153.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 江民川 #1
    老师,我的意思不是这个,我意思是:第一:在count方法里,为什么要特意把实例化中的sql_params在count方法里又导入到一个空列表中(这里老师用的都是sql_params这个名字,说起来有点乱)。 第二,为什么如果不这样append,count方法中的self.params会是三个参数的列表,明明在count方法里没有给这么多参数。
    2020-07-08 14:37:35
提问者 江民川 2020-07-08 11:24:45

不对,我把单词看错了,但仍然有问题,完全没懂为什么要for循环再逐一赋给一个新的列表

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师