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赋值为空列表,已经确定了他的变量类型。

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

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2018-01-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫实战

Python数据类型之列表

定义一个列表的基本方式用中括号[],这也是列表的一个标志性符号,如果创建一个数字列表就是这样[1,2,3,4,5,6],记得中间用逗号隔开,而我们也可以用我们熟...

823
来自专栏九彩拼盘的叨叨叨

学习前端 第5周 第2天

372
来自专栏星汉技术

Scala语法介绍

3015
来自专栏菜鸟致敬

Python中is和==的区别

Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。

823
来自专栏python学习指南

python迭代器

本篇将介绍Python的迭代,更多内容请参考:Python学习指南 简介 在Python中,如果给定一个list或者tuple,我们可以通过for循环来遍...

1967
来自专栏GreenLeaves

正则表达式一元字符与字符组

1、^   符   ---代表一行的开始 "category".match(/^cat/); //返回以c开头的紧接一个a,紧接一个t的文本数组! 2、$   ...

2047
来自专栏owent

C++ 新特性学习(四) — Bind和Function

木有错,这是C++,并且很方便地实现了委托 这就是传说中的绑定库和增强型的函数对象 接下来一个一个来

711
来自专栏python学习指南

Python迭代

本篇将介绍Python的迭代,更多内容请参考:Python学习指南 简介 在Python中,如果给定一个list或者tuple,我们可以通过for循环来遍...

1899
来自专栏racaljk

clang -O3 for循环的LLVM IR

这里删去了用处不大的内容,只保留了关键的LLVM IR。通过分析可以看到,如果循环小于8 LLVM IR会使用vector,vector使用SIMD指令高效进行...

973
来自专栏Deep learning进阶路

Python随记(一)列表和元组

Python随记(一)列表和元组 Python中最基本的数据结构就是序列了。Python一共包含6种内建序列:列表、元组、字符串、Unicode字符串、xra...

1770

扫码关注云+社区