【Python入门自学笔记专辑】——函数参数与返回值
函数参数
Python中的函数参数很灵活,具体体现在传递参数有都中形式上。本节介绍几种不同形式的参数和调用方式。
使用关键字参数调用函数
为了提高函数调用的可读性,在函数调用时可以使用关键字参数调用。采用关键字参数调用函数,在函数定义时不需要做额外工作。
实例代码如下:
#-*- coding = utf-8 -*-
def print_area(width, height):
area = width * height
print("{0} x {1} 长方形的面积:{2}".format(width, height, area))
print_area(320.0, 48.0) # 没有采用关键字参数函数调用
print_area(width = 320.0, height = 480.0) # 采用关键字参数函数调用
print_area(320.0, height = 480.0) # 采用关键字参数函数调用
# print_area(width = 32.0, height) #发生错误
#原因--height没有数值,系统就会认为是一个变量,而这个变量没有定义声明
print_area(height = 480.0, width = 320.0) #采用关键字参数函数调用
代码很简单,就不用了多说了
参数默认值
在定义函数的时候可以为参数设置一个默认值,调用函数时可以忽略该参数。
实例:(下面两段代码是一体的)
# -*- coding = utf-8 -*-
def make_coffee(name = "卡布奇诺"):
return "制作一杯{0}咖啡".format(name)
上述代码定义了makeCoffee()
函数,其中把卡布奇诺😋挺好喝的设置为了默认值。在参数列表中,默认值可以跟在参数类型后面。在调用的时候,如果调用者没有传递参数,则使用默认值,调用代码如下:
coffee1 = make_coffee("拿铁")
coffee2 = make_coffee()
print(coffee1)
print(coffee2)
其中coffee1 = make_coffee("拿铁")
代码是传递“拿铁”,没有使用默认值。coffee2 = make_coffee()
这一行没有传递参数,因此使用默认值。
StdOut:
制作一杯拿铁咖啡
制作一杯卡布奇诺咖啡
**提示(新手可以不看):**Java语言中make_coffee()
函数可以采用重载实现多个版本。Python不支持函数重载,而是使用参数默认值的方式提供类似的重载功能。
函数返回值
Python函数的返回值也是比较灵活的(Python的东西都比较灵活),主要有三种形式:无返回值、单一返回值和多返回值。
无返回值函数
有的函数只是为了处理某个过程,此时可以将函数设计为无返回值的。所谓无返回值,事实上是返回None,None表示没有实际意义的数据。
实例代码:打开
#-*- coding = utf-8 -*-
def show_info(sep = ':', **info): #可变参数,下面讲一下
"""定义**可变参数函数, dict"""
print('-----info-----')
for key, value in info.items():
print('{0} {2} {1}'.format(key, value, sep))
return #return None
result = show_info('->', name = 'Tony', age = 18, sex = True)
print(result)
def sum(*numbers, multiple = 1):
"""定义*可变参数函数, tuple"""
if len(numbers) == 0:
return
total = 0.0
for number in numbers:
total += number
return total * multiple
print(sum(30.0, 80.0))
print(sum(multiple = 2))
StdOut:
-----info-----
name -> Tony
None
110.0
None
-
上述代码
show_info()
函数中有一个**info
的参数,这是一个可变参数,下面详细解释一下。Python中函数的参数个数可以变化,这种参数称为可变参数。Python中的可变参数有两种,即参数前加*
或**
形式,*
可变参数被组装成一个元组,**
可变参数在函数中被组装成一个字典。-
*
可变参数下面看一个实例:(部分代码)
def sum(*numbers, multiple = 1): total = 0.0 for number in numbers: total += number return total * multiple print(sum(100.0, 20.0, 30.0)) print(sum(30.0, 80.0)) print(sum(30.0, 80.0, multiple = 2)) double_tuple = (50.0, 60.0, 0.0) print(sum(30.0, 80.0, *double_tuple))
StdOut:
150.0
110.0
220.0
220.0
不用说都懂了吧😏
-
**
可变参数下面看一个实例:(部分代码)
def show_info(sep = ':', **info): print('-----info-----') for key, value in info.items(): print('{0} {2} {1}'.format(key, value, sep)) show_info('->', name = 'Tony', age = 18, sex = True) show_info(student_name = 'Tony', sex = True, sep = '=')
都不用说吧?挺简单的
-
返回值为空的时候可以用
return
或return None
都可以。
-
多返回值函数
有时候需要函数返回多个值,实现返回多个值的方式有很多,简单的方式是使用元组返回多个值,因为元组可以容纳多个数据,另外元组是不可变的,使用起来比较安全。
实例:
#coding=utf-8
def position(dt, speed):
posx = speed[0] * dt #speed[0] 是X轴上的速度
posy = speed[1] * dt #speed[1] 是Y轴上的速度
return (posx, posy)
move = position(60.0, (10, -5)) #move是一个元组,用来存储多个返回值
print("物体位移:({0}, {1})".format(move[0], move[1]))
求赞
如果您认为此篇文章从对您有用,请点赞,如果写错,请纠正评论
urn (posx, posy)
move = position(60.0, (10, -5)) #move是一个元组,用来存储多个返回值
print(“物体位移:({0}, {1})”.format(move[0], move[1]))
#### 求赞
如果您认为此篇文章从对您有用,请**点赞**,如果写错,请纠正**评论**
==**参考:《Python从小白到大牛》——关东升著**==
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 2025成都.NET开发者Connect圆满结束
· 在 VS Code 中,一键安装 MCP Server!
· 后端思维之高并发处理方案
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 千万级大表的优化技巧