关于昨天最后遗留的问题,请利用循环依次对list中的每个名字打印出Hello, xxx!
感谢@平淡如盐 、@恁一剑的风情 、@活力_老汤 、@庆林8791 等朋友在评论区以及@一清一凉 在群里给我的解答,万分感谢。
事实证明,这个问题我没弄对,也是对 while 的理解不够深造成的。
其实解决办法很简单,把 % 后面的 team 改成 x 就可以了。
教程的缺陷
在学习Python的这一个多月里,我看了不少如何学习的文章,发现有个很大的问题就是:
很多教程、学习方法都是一些技术深厚、浸淫代码多年的人写的,他们脑中理解的小白和实际中的小白,差着十万八千里。
所以他们弄出来的号称“面向小白”的文章,或者给小白指出的路径,完全不具有操作性。
他们写教程的时候,脑子中下意识都觉得很多知识点理所应当不用讲、大家都会的,而这恰恰是小白与有一定基础的人之间,存在的一道很难逾越的鸿沟。
廖雪峰教程也有这个问题。
比如,学习函数部分,前面讲如何定义函数都是概念,对于我来说还算不难。
结果最后弄一个例子,直接就引入了调用函数、实参、形参等知识,我看了好几遍代码,愣是没全看明白。
当然,这里面有我愚钝的原因,但是更重要的,我觉得还是教程步子太大,这样真的很容易扯到蛋啊!
题目如下。
坦白说,看到这题目我确实没啥思路,思考了几分钟,果断看答案。
然而,看答案我他么依然表示有点困惑。
几个让我没弄明白的点:
- my_abs 这个函数有啥用?貌似跟下面的 move 函数没有任何关系啊。
- isinstance 在教程里面确实有提到,说是可以用于数据类型检查;raise 这东东是啥?之前从来没提过,忽然这样就冒出来了,真的好吗?
- move 函数里定义那俩变量是什么鬼?解个一元二次方程,咋跑出三角函数来了?还有最后的 math.pi 这又是啥?
你他么说好的是让我练习的,结果调用个函数在这折腾我,玩呢?
各种参数
廖雪峰这里面参数讲的非常全,包括位置参数、默认参数、可变参数、关键字参数和命名关键字参数。
而黑马教程只讲了前两者。
按照教程篇幅来说,估计这部分内容也挺重要的,就先插个眼,以后用到时候再回来看看吧。
这里摘录几点核心内容:
可变参数:传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。
关键字参数:允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。它可以扩展函数的功能。如果调用者愿意提供更多的参数,我们也能收到。
命名关键字参数:如果要限制关键字参数的名字,就可以用命名关键字参数。和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。
这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
递归函数
尾递归:在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。
这里一下子又蹦出栈的概念,这就是我前文说的“大神感觉很多知识是理所应当的、不需要教的”。
可事实上,很多纯粹的小白真的未必懂什么是栈啊,我倒是知道这个词,但再具体我也说不出来了。
毕竟,上次见到这个词,已经是20年前学c语言的时候了。
至此,廖雪峰教程中【函数】一章学习完毕。
作者简介:冯十一,40岁仍然坚持学习的哏儿都老男人。多平台签约作者,日更写作践行者,每周阅读一本书。欢迎关注@天津冯十一
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(自学python需要多久)(零基础学python大概要多久)
本文链接:https://www.51qsb.cn/article/15822.html