当前位置: 首页 > article >正文

Python函数基础

Python函数基础

本文综合讲解Python函数的基础知识。

一、函数基础

1.1 标准函数定义

  • Python中函数必须先调用才能再使用,参数可有可无,根据需求,如果不调用函数,函数里的代码不会执行。

  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

  • return后面的代码不会执行

# 定义函数格式
def 函数名(参数):
    代码1
    代码2
    。。。

案例:

def sel_func():
    print('显示余额')

1.2 返回值

函数使用返回值后可以作为数据被引用

def convert_temperature(celsius):
    """摄氏温度转华氏温度"""
    fahrenheit = celsius * 9/5 + 32
    return fahrenheit

print(convert_temperature(25))  # 输出:77.0
print(convert_temperature(0))   # 输出:32.0

1.3 多返回值处理

return a,b写法,返回多个数据的时候,默认是元组类型
return 后面可以返回列表、元组、字典,以返回多个值

def test4():
    return 1,2
print(test4())  #  (1, 2)

多个返回值的赋值:

def analyze_string(s):
    return len(s), s.upper(), s.lower()

length, upper, lower = analyze_string("Hello")
print(f"长度:{length}, 大写:{upper}, 小写:{lower}")
# 输出:长度:5, 大写:HELLO, 小写:hello

二、参数传递大全

2.1 位置参数

调用函数时根据函数定义的参数位置来传递参数,传递的参数和定义的参数顺序和个数必须一致。

def describe_pet(animal, name):
    print(f"I have a {animal} named {name}")

describe_pet('hamster', 'Harry')  # 正确顺序
describe_pet('Harry', 'hamster')  # 错误顺序

2.2 默认参数

  • 默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值
  • 所有位置参数必须出现在默认参数前,包括函数定义和调用
  • 函数调用时,如果缺省参数传值则修默认参数值,否则使用这个默认值
def make_shirt(size='L', text='I Love Python'):
    print(f"Size: {size}, Text: {text}")

make_shirt()                # 使用默认值
make_shirt('M')             # 修改size
make_shirt(text='Hello')    # 修改text

2.3 可变参数

用于不确定调用时会传递多少个参数(不传参也可以)的场景。此时,可用包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便,包裹位置传递,传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是包裹位置传递

def sum_numbers(*numbers):
    total = 0
    for n in numbers:
        total += n
    return total

print(sum_numbers(1, 2, 3))  # 输出6
print(sum_numbers(5, 10))    # 输出15

包裹关键字传递:都是组包的过程,返回一个字典

def user_info4(**kwargs):
    print(kwargs)


user_info4(name='tom', age=29, gender='男')  #{'name': 'tom', 'age': 29, 'gender': '男'}

3. 函数的返回值

3.1 返回简单值

def get_full_name(first, last):
    return f"{first} {last}"

name = get_full_name('Ada', 'Lovelace')
print(name)  # 输出:Ada Lovelace

3.2 返回多个值

def calculate(x, y):
    add = x + y
    sub = x - y
    return add, sub

a, s = calculate(10, 5)
print(f"Add: {a}, Sub: {s}")  # 输出:Add: 15, Sub: 5

http://www.kler.cn/a/530033.html

相关文章:

  • stm32硬件实现与w25qxx通信
  • 梯度提升用于高效的分类与回归
  • 【AI论文】Sigma:对查询、键和值进行差分缩放,以实现高效语言模型
  • 小米CR6606,CR6608,CR6609 启用SSH和刷入OpenWRT 23.05.5
  • 牛客网 除2!(详解)c++
  • 计算机网络一点事(24)
  • 系统思考—决策
  • Python 深拷贝与浅拷贝:数据复制的奥秘及回溯算法中的应用
  • deepseek+vscode自动化测试脚本生成
  • Error: Expected a mutable image
  • C++:抽象类习题
  • 用Python替代OpenMV IDE显示openmv USB 图像
  • vscode+vue3+高得地图开发过过程中本地视频及地图json文件的发布问题
  • 算法题(55):用最少数量的箭引爆气球
  • 【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(二)
  • DeepSeek R1 简易指南:架构、本地部署和硬件要求
  • 软件工程概论试题五
  • Visual Basic语言的云计算
  • 设计模式-创建型模式-建造者模式
  • 【单层神经网络】基于MXNet的线性回归实现(底层实现)
  • 【华为OD-E卷 - 最大矩阵和 100分(python、java、c++、js、c)】
  • Mac上有哪些好用的开源粘贴板app
  • TB6600和DM542C两种常见的步进电机驱动器
  • 数据库安全管理中的权限控制:保护数据资产的关键措施
  • 实战:如何利用网站日志诊断并解决收录问题?
  • c++可变参数详解