python基础之函数的返回值(5)

本文深入解析函数返回值的概念,区分执行过程函数与具有返回值的函数,探讨return语句的功能,包括终止函数执行、返回单一或多个值,并通过实例演示不同数据类型间的转换。

函数的返回值 函数执行完毕之后可以得到一个结果,该结果可以被接受或者使用

函数划分为两大类: 执行过程函数:函数执行之后没有任何结果可以在函数之外接收到(没有return语句的函数)

#执行过程函数
res = print("你好")
print(res)
#结果是 None -空值
具有返回值的函数:函数执行之后可以返回一个结果到函数之外被接收或者使用(具有return语句)
# 具有返回值的函数

res = id(1)
print(res)
return:返回的意思

#自己写具有返回值的函数
def play(name):
    print(name,"和小明愉快的玩耍")
    return name+"和小华一起玩耍"
res = play("小芳") # 1.调用函数,2.使用变量接收返回值
print(res+"小明吃醋了")
print(play("小芳"))


#所有函数都是有返回值的,只是执行过程函数的返回值是None
def play():
    print("你好")
    return "世界"
res = play()
print(res)

#return除了可以返回一个函数值,还可以终止函数的执行
def play():
    print("hello")
    return 1
    print("世界")
play()

# 可以在函数里面写多个return 语句吗?可以,但不能是在同个作用域下

def func(name):
    if name == "小红":
        return "小红你来啦"
  	 elif name == "小明":
        return "小明滚出去"
    elif name == "小强":
        return "杀虫剂呢?"
    else:
        return "名字未出现在名单中"
res = func("小绿")
print(res)

写一个具有返回值的函数,模拟其他数据类型转换成字符串的函数

def str1(input_str):
    return str(input_str)
list1 = [1,2,3,4]
res = str1(list1)
print(res,type(res))

其他数据类型转换为list,int类型转换时不会报错

def list1(input_type):
    if isinstance(input_type,int)==True:
        return "对不起,int类型无法转换成列表"
    else:
        return list(input_type)
num = 1
res = list1(num)
print(res)

return 可以返回多个值吗?可以,会组成一个元组

def func():
    return "你好",1,"world",[1,2,3,4]
res = func()
print(res,type(res))
tuple1 = 1,2,3,43,4,5,6
print(tuple1,type(tuple1))

def func():
    return True
if func():
    print("hello")

id() 具有返回值的函数
type() 具有返回值的函数
int() 具有返回值的函数

### Python 函数返回值的概念及用法 #### 什么是函数返回值函数返回值是指当函数执行完毕后,向调用者提供一个结果的过程。这个结果可以通过 `return` 关键字来指定。如果没有显式的 `return` 语句,则函数默认返回 `None`[^2]。 #### 如何定义带有返回值函数? 在 Python 中,通过 `def` 定义函数时,在函数体内使用 `return` 来指定返回值。例如: ```python def add(a, b): result = a + b return result ``` 上述代码中,`add` 是一个简单的加法函数,它接受两个参数并返回它们的和[^1]。 #### 返回值的数据类型 返回值可以是任何有效的 Python 数据类型,包括整数、浮点数、字符串、列表、元组等。甚至还可以是一个复杂对象或另一个函数[^4]。 #### 多个返回值的情况 尽管严格意义上讲,Python函数只允许返回单个值,但如果需要返回多个值,通常会将这些值组合成一个元组,并由调用方自行解包。例如: ```python def get_coordinates(): x = 10 y = 20 return x, y # 自动被打包为元组 (10, 20) x, y = get_coordinates() # 解包操作 print(x, y) # 输出: 10 20 ``` 这里展示了如何利用元组解包机制实现多值返回的功能[^3]。 #### 没有返回值的情形 如果函数内部未写明 `return` 或仅仅写了 `return` 而无后续表达式,那么该函数最终会隐含地返回特殊类型的值——`None`。下面的例子说明了这一点: ```python def show_message(message): print(message) result = show_message("Hello World!") print(result) # 输出: Hello World! \n None ``` 此例中的 `show_message()` 只负责打印消息而不关心其他事情;因此它的实际返回值为 `None`。 #### 实际案例分析 考虑这样一个场景:我们需要编写一个计算圆面积的小工具程序。我们可以这样设计我们的解决方案: ```python import math def calculate_circle_area(radius): area = math.pi * radius ** 2 return area radius_input = float(input("请输入半径长度: ")) area_result = calculate_circle_area(radius_input) print(f"半径为 {radius_input} 的圆的面积约为 {area_result:.2f}") ``` 在这个例子里面,我们创建了一个名为 `calculate_circle_area` 的新函数用于完成特定的任务—基于输入的半径大小求得对应圆形区域覆盖范围即面积数值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值