python 范儿编程--花样传参 下|学习笔记

简介: 快速学习 python 范儿编程--花样传参 下

开发者学堂课程【高校精品课-华东师范大学 - 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。要理解花样传参的一个概念:一个星号代表了后面的这个内容里面的每一个元素作为参数。

image.gif

 

二、带默认值的参数

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,并不是它需要的,所以这里就报错了。

image.gif注释一下,这个是有错的:

image.gif⑶第三个 print 也出错了,没有用星号,直接给了12345678。

但运行给的结果是1235678。

注释一下有错误:

image.gif⑷第四个 print 调用的和上面一个函数,传参数是一个列表1、3:

星号里面等于是取里面的每一个元素,那么 a 就是1, b 就是3, c 没有, c 默认是0,那么执行一下以后,运行的结果就是130。

上面两个 print 已经注释掉了。

⑸调用第一个函数,然后用两个星号来表示,两个星号表示它里面的这个内容是以 key 、 value 方式提供的,而且key它会对应着我们所需要的那个上面的 abc 的这样一个顺序。

image.gif比如说 a =1, b =2, c =3,那是字典的三个元素传过来,然后可以对应了这上面的 abc 的值,然后它的结果是123。

⑹最后一个调用也是第一个函数,两个星号表示它里面的取的是 key 、 value , a 是1, c 是3, b 没给的话,默认是0

结果是103

花样传参的例子总结:

image.gif如果要使用下面的函数,自行举例如何使用

image.gif

 

三、变量之变:深浅拷贝(不详细讲解)

1、注意在 python 中的变量,变量本身具有某些要素:

⑴变量身份(内存地址,用 id 函数查找地址)

就像人需要一个身份证号码一样的,唯一的身份证号码。变量的话,它的唯一的身份就是内存的地址,可以用 id 函数查找地址

⑵变量属性:表示变量类型

⑶变量里面的值:就是具体存放的数据

初学者往往对变量身份和值不清楚,所以拷贝的时候往往只拷贝到一部分,要么身份,要么值可通过网址视频深入学习要求自己举例,明白什么是深拷贝,什么是浅拷贝,通过代码的例子,自己练习。

 

四、异常处理: Try - Except - Else - Finally

1、对于刚学编程的同学,特别要注意在做项目的时候,很可能那一段代码就是因为条件不满足报错的,应该把这个报错放在异常处理里面去解决,这也是编程里非常好的一个习惯。

比如说可能要去读优盘,可能要从网上去抓数据。那代码的话不考虑这个网络的堵或卡或者终端问题或者这个磁盘优盘在不在,万一别人使用时,网络出问题了,那程序就崩溃掉,所以我们一定要学会异常处理。

2一些示例:

image.gif⑴基本用法: Try - except Exception

⑵笔下无错,心中有错

⑶异常处理:完全体

关于python的基础知识主要是给大家补充两个知识点:一个知识点就是python里面的列表、字典和元组的解析式、推导式,这是python非常特别的地方,大家一定要熟练使用这种解析式的方法。然后第二个内容给大家补充一下这个拉链函数以及花样传参。

但是这种花样传参在实际应用里面,在这个数据的一些处理理念中特别重要,所以给同学们补充到这样的知识。

相关文章
|
18天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
5天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
【5月更文挑战第9天】`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
21 5
|
7天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
10 0
|
8天前
|
测试技术 Python
Python模块化方式编程实践
【5月更文挑战第5天】Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
35 2
|
14天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
32 2
|
14天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
15天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
25 3
|
15天前
|
机器学习/深度学习 数据可视化 数据挖掘
实用技巧:提高 Python 编程效率的五个方法
本文介绍了五个提高 Python 编程效率的实用技巧,包括使用虚拟环境管理依赖、掌握列表推导式、使用生成器提升性能、利用装饰器简化代码结构以及使用 Jupyter Notebook 进行交互式开发。通过掌握这些技巧,可以让你的 Python 编程更加高效。
|
15天前
|
算法 Python
Python面向对象oop编程(二)
Python面向对象oop编程(二)
|
18天前
|
机器学习/深度学习 数据挖掘 API
pymc,一个灵活的的 Python 概率编程库!
pymc,一个灵活的的 Python 概率编程库!
21 1