Python学习之路——函数参数传递的方式

简介: 开发者学堂课程,了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。课程地址:https://developer.aliyun.com/learning/course/601/detail/8724

定义一个函数,定义行参时,可以为行参指定默认值

指定了默认值以后,如果用户传递了参数则默认值没有任何作用,如果用户没有传递参数,则默认值就会生效

deffn(a=5,b=3,c=29):
print('a=',a)
print('b=',b)
print('c=',c)
print('*'*65)
#调用fn函数fn(1,2,3)
fn(1,2)
fn()

得到的结果是:

image.png

一、位置参数

位置参数,将对应位置的实参赋值给对应位置的形参。

第一个实参赋值给第一个形参,第二个实参赋值给第二个形参,以此类推。

fn(1 , 2 , 3 )

1赋值给 a

2赋值给 b

3赋值给 c

一一对应

位置参数是使用最多的传递方式,但是有一个缺陷,当某个参数具有某个意义,比如a 代表...b 代表...c 代表...在调用函数传递参数的时候,需要明确各自的意义。

在使用位置参数时,需要记住形参的位置。

二、关键字参数

关键字参数,可以不按照形参定义的顺序去传递,而直接根据参数名去传递参数。

关键字参数的优点为,不需要记忆参数的顺序,只需要记忆参数的名称.

deffn(a=5,b=3,c=29):
print('a=',a)
print('b=',b)
print('c=',c)
print('*'*65)
#调用fn函数fn(b=1,a=2,c=3)

image.png

位置参数和关键字参数可以混合使用

deffn(a=5,b=3,c=29):
print('a=',a)
print('b=',b)
print('c=',c)
print('*'*65)
#调用fn函数fn(1,c=2)

image.png

混合使用关键字参数和位置参数时,必须将位置参数输入在前面,后面输入关键字参数。

假如输入 fn(1,a=30)这种情况,也会报错。

因为赋予了 a 两个值,指定了位置参数后,就不要指定关键字参数。

fn(1  位置已经给到 a,后面就不能再输入  a,换成 c 后,保存即可。

这就是参数传递的两种方式,位置参数和关键字参数。

相关文章
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
630 2
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
830 1
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1777 1
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
534 0
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
452 101
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
375 99
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
627 98
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
Python
Python 函数定义
Python 函数定义
1100 155
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
474 4

推荐镜像

更多