上期和大家分享了函数如何返回值。其中有个案例是实现知道边长输出正方形面积。
我们来回顾一下!
假如我们有一个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赋值为空列表,已经确定了他的变量类型。
就酱,下期继续分享函数与列表的那些事~
领取专属 10元无门槛券
私享最新 技术干货