参数传递的方式 | Python从入门到精通:高阶篇之三

简介: 本节重点介绍了参数传递的两种方式,一是位置参数,二是关键字参数。

认识参数 | Python从入门到精通:高阶篇之二

我们先来解决上一节遗留的两个练习。
练习1:
定义一个函数,可以用来求任意三个数的乘积。

# 求任意三个数的乘积
def mul(a,b,c):
    print(a*b*c)

mul(1,2,3)

执行结果:

image.png

练习2:
定义一个函数,可以根据不同的用户名显示不同的欢迎信息。

# 根据不同的用户名显示不同的欢迎信息   
def welcome(username):
    print('欢迎',username,'光临')

welcome('孙悟空') 

执行结果:

image.png

参数传递的方式

定义一个函数

def fn(a, b, c):
    print('a =',a)
    print('b =',b)
    print('c =',c)
fn(1 , 2 , 3)

执行结果:

image.png

定义形参时,可以为形参指定默认值。例如:

#def fn(a, b, c = 20):
def fn(a = 5, b = 10, c = 20):
    print('a =',a)
    print('b =',b)
    print('c =',c)
#fn(1 , 2 , 3)
#fn(1 , 2)
fn()

此时执行结果为:

image.png
image.png
image.png

可以发现结果没有改变。可以知道:指定了默认值以后,如果用户传递了参数则默认值没有任何作用。如果用户没有传递,则默认值就会生效。

实参的的传递方式

位置参数

# 位置参数
# 位置参数就是将对应位置的实参复制给对应位置的形参
# 第一个实参赋值给第一个形参,第二个实参赋值给第二个形参...

def fn(a, b, c):
    print('a =',a)
    print('b =',b)
    print('c =',c)
fn(1 , 2 , 3)

执行结果:

image.png

关键字参数

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

def fn(a, b, c):
    print('a =',a)
    print('b =',b)
    print('c =',c)
fn(b=1 , c=2 , a=3)

执行结果:

image.png

print('hello' , end=''),其中end就属于是一个关键字,hello属于位置参数。
位置参数和关键字参数可以混合使用。

例如:我们修改函数为:

fn(1,c=30)
#fn(c=30,1)

执行结果:

image.png
image.png

混合使用关键字和位置参数时,必须将位置参数写到前面。

另外,将参数混合使用时,需要注意避免重复,位置参数已经使用的情况下,关键字就不要再重复使用。否则程序会报错。

fn(1,a=30)

image.png

配套视频课程,点击这里查看

获取更多资源请订阅Python学习站

相关文章
|
4天前
|
存储 程序员 API
Python 入门指南(五)(4)
Python 入门指南(五)
12 1
|
1天前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
18 7
|
2天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
3天前
|
机器学习/深度学习 数据采集 自然语言处理
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
|
4天前
|
C++ 计算机视觉 Python
【学习什锦】python中的匿名函数(lambda)与max、key参数
【学习什锦】python中的匿名函数(lambda)与max、key参数
10 3
|
4天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
4天前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
4天前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
4天前
|
存储 C语言 Python
|
4天前
|
Python Windows