开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践: python 范儿编程--花样传参 下】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15353
python 范儿编程--花样传参 下
内容分析:
一、花样传参
二、带默认值的参数
三、变量之变:深浅拷贝
四、异常处理: Try - Except - Else - Finally
一、花样传参
1、复习:已知花样传参能把列表加星号保持有序地作为一个个参数传给方法/函数
星号*:把后面的变量里面的一个个元素拿出来作为参数传递,而不是一个变量本身作为一个整体。
2、示例:
定义一个函数为 triplesum ,即三个元素相加求和。传过来的参数是传统正常的 a , b , c ,然后把它变成三位数: a×100+b×10+c ,返回一个三位数。调用这个函数,第二个函数的时候第一个要用的话,用到一个花样传参,用一个星号,后面跟的是一个列表,注意不是把列表当成一个一个元素来传递的。如果把列表当成一个元素,它那就只能传给a了,是把列表里面的元素每一个元素当成参数传递,等于创造三个参数,它的值是1,2,3,传出来a,b,c。它的结果返回显示123,就和正常的这个传参都是一样的理解,就是传一个1,传一个2,传一个3。要理解花样传参的一个概念:一个星号代表了后面的这个内容里面的每一个元素作为参数。
二、带默认值的参数
1、正常的函数定义是一个 fname ,然后括号里面给具体的参数的名字,(注意:这行代码不能执行,因为下面没有完成,就是示意一下。)然后这个参数的话还可以给它默认值,那就一个关键词等于一个默认值。
2、例子:定一个默认的三个数求和的这样一个函数,函数明,括号里面的话是参数等于一个默认值 a,b,c ,如果没有传具体数据的时候,它就用这个默认值。然后,如果说不知道后面还有多少个参数的话,那可以用一个星号加的这个 agrs ,那就代表可以很多个像这种参数,然后看返回值,返回是一个三位数。然后第二个函数进一个 ntuplesum _ default
元组求和的函数,然后括号里面的参数是两个星号加 args ,表示这里面的参数不知道有多少个,而且表示传过来的参数是 key 和 value 的方式,一个 key 等于一个 value ,可以有多个 key 等于 value 的这种方式组成的参数。这个也是一个求和,求和里面有的元素是×10以后加在一起的。
3、调用函数的例子:
调用 triplesum 函数
⑴传播参数是列表1、2、3、4,用星号表示是传的就是里面的每个元素作为参数,那就对应的就是a=1,b=2,c=3,
args =4当然这个函数里面并没有用到那个 abc 之外的。所以第一组的值执行一下,应该是123
⑵传一个花样传参,给一个列表,然后用星号表示它里面的每一个元素,执行观察:
第一个它的结果呢是123,是对的。第二个结果它报错了
内容显示类型错误,它需要的是在一个位置里面传的一个参数,但是我们给到4个值:1、2、3、5,并不是它需要的,所以这里就报错了。
注释一下,这个是有错的:
⑶第三个 print 也出错了,没有用星号,直接给了12345678。
但运行给的结果是1235678。
注释一下有错误:
⑷第四个 print 调用的和上面一个函数,传参数是一个列表1、3:
星号里面等于是取里面的每一个元素,那么 a 就是1, b 就是3, c 没有, c 默认是0,那么执行一下以后,运行的结果就是130。
上面两个 print 已经注释掉了。
⑸调用第一个函数,然后用两个星号来表示,两个星号表示它里面的这个内容是以 key 、 value 方式提供的,而且key它会对应着我们所需要的那个上面的 abc 的这样一个顺序。
比如说 a =1, b =2, c =3,那是字典的三个元素传过来,然后可以对应了这上面的 abc 的值,然后它的结果是123。
⑹最后一个调用也是第一个函数,两个星号表示它里面的取的是 key 、 value , a 是1, c 是3, b 没给的话,默认是0
结果是103
花样传参的例子总结:
如果要使用下面的函数,自行举例如何使用
三、变量之变:深浅拷贝(不详细讲解)
1、注意在 python 中的变量,变量本身具有某些要素:
⑴变量身份(内存地址,用 id 函数查找地址)
就像人需要一个身份证号码一样的,唯一的身份证号码。变量的话,它的唯一的身份就是内存的地址,可以用 id 函数查找地址
⑵变量属性:表示变量类型
⑶变量里面的值:就是具体存放的数据
初学者往往对变量身份和值不清楚,所以拷贝的时候往往只拷贝到一部分,要么身份,要么值可通过网址视频深入学习要求自己举例,明白什么是深拷贝,什么是浅拷贝,通过代码的例子,自己练习。
四、异常处理: Try - Except - Else - Finally
1、对于刚学编程的同学,特别要注意在做项目的时候,很可能那一段代码就是因为条件不满足报错的,应该把这个报错放在异常处理里面去解决,这也是编程里非常好的一个习惯。
比如说可能要去读优盘,可能要从网上去抓数据。那代码的话不考虑这个网络的堵或卡或者终端问题或者这个磁盘优盘在不在,万一别人使用时,网络出问题了,那程序就崩溃掉,所以我们一定要学会异常处理。
2一些示例:
⑴基本用法: Try - except Exception
⑵笔下无错,心中有错
⑶异常处理:完全体
关于python的基础知识主要是给大家补充两个知识点:一个知识点就是python里面的列表、字典和元组的解析式、推导式,这是python非常特别的地方,大家一定要熟练使用这种解析式的方法。然后第二个内容给大家补充一下这个拉链函数以及花样传参。
但是这种花样传参在实际应用里面,在这个数据的一些处理理念中特别重要,所以给同学们补充到这样的知识。