不定长参数|学习笔记

简介: 快速学习 不定长参数

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:不定长参数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8726


不定长参数


目录

一、不定长参数的定义及用法

二、实参与形参的定义及各种用法

 

 

一、不定长参数的定义及用法

#不定长的参数

#定义一个函数,可以求任意个数字的和

def sum( a, b , c):

print(a + b +c)

# sum(123,456,789)

 

#在定义函数时,可以在形参前加*,这样形参将会获取所有实参

#它会将所有的实参保存到一个元组中

#a , b ,*c = (1,2,3,4,5,6)

 

#*a 会接受所有的位置实参,并且会将这些实参统一保存到一个元组中(装包)

def fn(*a):

print(“a =”,a,type(a))

fn(1,2,3,4,5)

 

二、实参与形参的定义及各种用法

def sum(*nums):

 #定义一个变量,来保存结果

result = 0

 #遍历元组,并将元组中的数进行累加

for n in nums :

result += n

print(result)


sum(123,456,789,10,20,30,40)

def fn(*a):

print(“a =”,a,type(a))

 

#带星号的形参只能有一个

#带星号的参数,可以和其他参数配合使用

#以一个参数给 a,第二个参数给 b,余下的参数都保存到c的元组中

def fn2(a,b,*c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

fn2(1,2,3,4,5)

 

#可变参数不是必须写在最后,但是带*参数后的所有参数,必须以关键字参数的形式传递

def fn2(a,*b,c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

fn2(1,2,3,4,c=5)

 

 

#所有的位置参数都给 a,b 和 c 必须使用关键字参数

 

#如果在形参的开头直接写一个*,则要求所有的参数必须以关键字参数的形式传递

def fn2(*a,b,c):

print(‘a=’,a)

print(‘b=’,b)

print(‘c=’,c)

fn2(a=3,b=4,c=5)

 

#形参只能接受位置参数,而不能接受关键字参数

def fn3(**a):

print(‘a=’,a)

fn3(b=1,d=2,c=3)

def fn3(**a):

print(‘a=’,a,type(a))

fn3(b=1,d=2,c=3)

 

#**形参可以接收其他的关键字参数,它会将这些参数统一保存到一个字典中

#字典的 key 就是参数的名字,字典的值就是参数的值

#形参只能有一个,并且必须卸载所有参数的最后

相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
692 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
10月前
|
Java 容器 Spring
IOC控制反转&&DI依赖注入的方法论
控制反转(IoC)是面向对象编程中用于减少代码耦合的设计原则。传统编程中,对象通过`new`关键字创建,控制权在应用手中。而在Spring框架下,对象由IoC容器管理并创建,通过依赖注入(DI)机制,自动将所需资源注入对象中,从而实现对象间的解耦。DI有两种实现方式:构造方法注入和属性setter方法注入。通过IoC和DI,程序更易于维护和测试。
254 0
|
11月前
|
机器学习/深度学习 数据采集 人工智能
CDGA|推动数据治理与传统产业深度融合:策略与实践路径
持续改进与优化:建立数据治理的持续改进机制,定期评估数据治理效果,总结经验教训,不断优化数据治理策略与实践路径。
|
12月前
|
JSON API 数据格式
requests库中json参数与data参数使用方法的深入解析
选择 `data`或 `json`取决于你的具体需求,以及服务器端期望接收的数据格式。
727 2
|
网络协议 API 开发者
Python中的会话管理:requests.Session深度解析
Python中的会话管理:requests.Session深度解析
|
消息中间件 负载均衡 Java
常见的负载均衡策略有哪些?
常见的负载均衡策略有哪些?
1845 3
|
DataWorks 关系型数据库 MySQL
如何实现同步数据至dataworks?
如何实现同步数据至dataworks?
220 1
|
关系型数据库 MySQL 测试技术
【MySQL】事务管理 -- 详解(下)
【MySQL】事务管理 -- 详解(下)
|
Java Shell 分布式数据库
Pinpoint【部署 01】JDK\HBase\Pinpoint Collector+Web 最新版 2.3.3 安装配置运行验证及脚本文件分享(避坑指南捷径指北)20230228
Pinpoint【部署 01】JDK\HBase\Pinpoint Collector+Web 最新版 2.3.3 安装配置运行验证及脚本文件分享(避坑指南捷径指北)20230228
749 0
|
Python
flask中遇到ImportError: cannot import name ‘url_encode‘ from ‘werkzeug‘
flask中遇到ImportError: cannot import name ‘url_encode‘ from ‘werkzeug‘
644 0