Python读书笔记20

上期和大家分享了函数如何返回值。其中有个案例是实现知道边长输出正方形面积。

我们来回顾一下!

假如我们有一个L的列表,能否批量实现开平方的运算并赋值给新的列表呢?

当我们定义这样一个函数的时候,square参数可以输入哪些变量的实参?

首先哪些变量可以使用in函数来查找?

1、字符串;2、列表;3、元组;4、字典

那本函数想要不报错,哪种类型作为实参是可以的?

这个函数哪些实参可以呢?

决定自定义函数实参类型是否报错由什么决定呢?

是由这个函数的使用决定的,针对第二个函数,我们实现的功能只是打印而已,则上述四种类型变量均可!

第一个函数,我们要实现的数学运算。则不能传递任何字符串的信息进函数。包括不能使用字符串;不能使用含字符串的列表、元组;不能使用键名称是文本的字典。

其他的变量类型能否成功,请各位自己编辑试一下~

上面的函数可以实现列表作为参数输入,但是却分别输出结果的,能否输入一个边长列表,输出平方后的面积列表呢?

提问:当我们调用函数的时候,Python提示我们Slist没有定义,那为什么L和S没有定义没有报错,而Slist.append()却报错呢?

回答:因为L和S都有过赋值,Python在第一次赋值的时候对变量进行了定义!

提问:S = L**2 这个是赋值我理解,L本身没有赋值哇!

回答:for L in L_list 本身循环语句第一次执行的时候等同于 L = L_list[0] 此时已经做了赋值了,所以本次赋值决定了L的变量类型

而Slist从始至终没有定义过数据类型,直接调用append方法当然会报错了!

提问:如何解决呢?

回答:可以考虑增加一下有默认值的形参来解决这个故障!

这样在定义函数的时候,我们已经将Slist赋值为空列表,已经确定了他的变量类型。

就酱,下期继续分享函数与列表的那些事~

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180112G03PBE00?refer=cp_1026

扫码关注云+社区