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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小彭爱学习

您的鼓励是我更新的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值