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 后,保存即可。

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

相关文章
|
30天前
|
开发者 Python 容器
python函数基础以及函数参数简解
python函数基础以及函数参数简解
|
4天前
|
Python
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
14 4
|
7天前
|
Java Python
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
【9月更文挑战第18天】在 Python 中,虽无明确的 `interface` 关键字,但可通过约定实现类似功能。接口主要规定了需实现的方法,不提供具体实现。抽象基类(ABC)则通过 `@abstractmethod` 装饰器定义抽象方法,子类必须实现这些方法。使用抽象基类可使继承结构更清晰、规范,并确保子类遵循指定的方法实现。然而,其使用应根据实际需求决定,避免过度设计导致代码复杂。
|
10天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
23天前
|
Python
python 函数
【9月更文挑战第4天】python 函数
37 5
WK
|
30天前
|
Python
python中的函数有哪些种类?
在 Python 中,函数根据定义方式、用途及来源可分为多种类型:自带的内置函数(如 print(), len())无需导入直接使用;标准库函数需导入相应模块后使用;第三方库函数则需先安装库再导入使用;用户自定义函数可根据需求定义并多次调用;匿名函数(lambda)无函数名,常用于需要函数对象但不想单独定义的情形;高阶函数接受或返回函数;装饰器函数可在不改动原函数代码情况下为其添加新功能;生成器函数使用 yield 逐个返回值;递归函数在自身定义中调用自身;嵌套函数在一个函数内定义,可访问外部函数变量。各种函数类型在编程中有不同的用途和优势。
WK
41 12
|
29天前
|
Python
Python 中 help() 和 dir() 函数的用法
【8月更文挑战第29天】
24 5
|
30天前
|
Python
12类常用的Python函数
12类常用的Python函数
|
30天前
|
Python
python中getattr函数 hasattr函数
python中getattr函数 hasattr函数
|
30天前
|
算法 Python
python函数递归和生成器
python函数递归和生成器