python函数基础

(1)函数目的

函数允许将一段代码封装起来,然后在不同位置重复使用该段代码,而且不需要重新编写,这不仅减少代码量的编写,还可以使代码整洁,易维护

(2)函数定义

在python中,函数是通过使用def关键字后跟函数名和圆括号来定义。圆括号之间可以定义函数,用于接收传递给函数的值。函数的第一行可以选择性的使用文档字符串(docstring),这是一个字符串,用于解释函数的用途,参数和返回值。函数体紧随开始定义下一行,并且必须缩进

def say_hello(name):
    """
    这个函数接收一个名字作为参数,并打印一条问候消息
    :param name:要问候人的名字
    :return:
    """
    print(f"hello,{name}!")
say_hello("杜一帆")

(3)函数声明

def: 是定义函数名的关键字

函数名:是给函数取的名字,这个名字在之后的代码中会被用来调用这个函数

参数列表:是传递给函数的值,他们是可选的,如果有多个参数,他们之间用逗号分隔

函数体:是函数执行时运行的代码块。他应该缩进,这是python中定义代码块的方式

return:语句是可选的,用于从函数返回一个值。如果没有return语句,函数将隐式的返回None

def add(x,y):
    """返回两个数的和"""
    return x + y
#调用函数
result = add(5,3)
print(result)

 (4)函数调用

已经定义好的一个函数体中的代码,当你调用一个函数时,它可以向你传递一些值,这些值在函数内部用来执行某些操作。函数执行完毕,可以返回一个值给调用者

 

def greet(name,greeting="hello"):
    """向用户打招呼"""
    print(f"{greeting},{name}")
    #调用函数,传递一个参数
greet("詹姆斯") #输出:hello,詹姆斯
#调用函数,传递两个参数
greet("布克","库里")# 输出:布克,库里

(5)函数形参 

函数形参是函数定义是指定的参数,他们代表了函数期望接收的占位符。当函数被调用时,调用者需要提供实际参数,以便函数能够执行其定义的任务。

当函数同时有位置参数,默认参数,*args和**kwargs时,它们的顺序必须是位置参数,默认参数,*args,**kwargs。

基本形参

最简单的形参就是普通的变量名,他们在函数体内部被使用

def greet(name):
    print(f"hello,{name}")
#调用时需要提供一个实际参数来替换name形参
greet("梅西")#输出:hello,梅西

默认形参

在函数定义时,可以给形参指定默认值。如果调用函数时没有为这些形参提供值,他们将使用默认值

def greet(name,greeting="hello"):
    print(f"{greeting},{name}")
greet("大帝")#使用默认greeting:hello,大帝
greet("大帝"

可变数量参数

允许你定可以接收任意数量参数的函数。这可以通过*args(非关键字参数)和**kwargs(关键字参数)来实现

#*args允许将一个不定长度的参数列表传递给函数,这些参数在函数内部被当作一个数组

def sum_numbers(*args):
    return sum(args)
print(sum_numbers(1,2,3,4))

#**kwargs允许将不定长度的关键字参数传递给函数。这些参数在函数内部被当作一个字典。

 

def greet_with_info(**kwargs):
    for key,value in kwargs.items():
        print(f"{key}:{value}")
greet_with_info(name="大卫",age = 30,country = "usa")

 (6)函数实参

调用函数时传递给函数的具体值

result = add(3,5)#3和5是实参
print(result)

(7)函数返回值

函数通过return语句返回值

如果没有return语句,函数将返回None

函数可以返回单个值或返回一个元组来间接返回多个值

函数返回值的类型不需要在函数定义是指定

返回单个值

函数可以返回任何数据类型的单个值,包括整数,浮点数,字符串,列表,元组,字典,集合

def square(x):
    return x * x
result = square(5)
print(result)

返回多个值

虽然函数只能返回一个值,但是可以通过返回一个元组来间接的返回多个值。

 

def get_info(name, age):  
    return name, age  
  
name, age = get_info("Alice", 30)  
print(name, age)  # 输出: Alice 30

返回None

如果函数没有return语句,或者return后面没有跟任何值,那么函数将返回None

def no_return():  
    pass  
  
result = no_return()  
print(result)  # 输出: None  
  
def return_none():  
    return  
  
result = return_none()  
print(result)  # 输出: None

(8)匿名函数

匿名函数是通过lambda关键字定义的。lambda函数是一个小的匿名函数,它可以接受任何数量的参数,但只能有一个表达式。这个表达式的计算结果会自动生成这个lambda函数的返回值。lambda函数通常用于定义简单的、能够在一行内表示的函数对象

square = lambda x: x * x  
print(square(4))  # 输出: 16

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值