python(三)函数

本文详细介绍了Python中的函数,包括函数的定义、参数类型(必须参数、默认参数、可变参数等)、作用域与命名空间的概念,以及匿名函数(lambda)、递归函数和高阶函数(如闭包和装饰器)的使用。通过实例解析了函数的调用和实现细节,帮助理解Python函数的精髓。
摘要由CSDN通过智能技术生成

一、函数简介

1、函数是什么?

函数也是一个对象(对象是内存中专门用来存储数据的一块区域),用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次的调用。

2、创建函数:def 函数对象():

def 函数名([形参1,形参2,...形参n]) :
    代码块
  • 函数名(function_name):函数名可以包含字母、数字、下划线、但是不能以数字开头,并且区分大小写
  • 函数参数(arg1):调用一个函数时可以传递的参数,参数可以没有,也可以有一个或多个
  • 函数内容(function body):在函数的内部,与"def"相比需要缩进4个空格
  • 函数返回值(return value):函数执行完成后返回的值,也可以不返回内容,默认为None。在函数中,return后的代码都不会执行,return 一旦执行函数自动结束
  • 文档字符串(doc str):文档字符串就是函数的说明,可以通过help()函数来查看函数的说明,在函数的第一行写一个字符串就是文档字符串
help(print)

在这里插入图片描述

def fn(a:int,b:bool,c:str='hello') -> int:
    '''
    这是一个文档字符串的示例

    函数的作用:。。。。。
    函数的参数:
        a,作用,类型,默认值。。。。
        b,作用,类型,默认值。。。。
        c,作用,类型,默认值。。。。
    '''
    return 10

help(fn)

在这里插入图片描述

3、调用函数:函数对象()
函数中保存的代码不会立即执行,需要调用函数代码才会执行

print('定义一个函数:')
def fn() :
    print('这是我的第一个函数!')

fn()#fn是函数对象  fn()调用函数

print('*'*50)
print('定义函数时指定形参:')
def fn2(a , b) :
    print(a,"+",b,"=",a + b)

fn2(10,20)# 调用函数时,来传递实参

在这里插入图片描述

二、函数的参数

在定义函数时,可以在函数名后的()中定义数量不等的形参,多个形参之间使用,隔开

  • 形参(形式参数):定义函数时定义形参,定义形参就相当于在函数内部声明了变量,但是并不赋值
  • 实参(实际参数):调用函数时传递实参,传递实参相当于赋值给对应的形参

1、必须参数:函数定义时一旦定义了未赋值的形参,则该参数就是必须参数,调用时不传递会报错

2、 默认参数:在定义函数时给参数添加默认值,如果调用函数时没有传入参数,函数就会使用默认值。

def fn(a,b,c = 'nihao'):
    print('a是:' ,a )
    print('b是:' ,b )
    print('c是:', c)

print('必须参数与默认参数:')#a和b是必须参数,c是默认参数,默认值是'nihao'
fn( 5 , 2)
print('*'*50)
fn( 5 , 2 , 666)#函数在调用时,解析器不会检查实参的类型,实参可以传递任意类型的对象,故通常定义的函数需要进行数据类型的检查
print('*'*50)
fn()

在这里插入图片描述
在这里插入图片描述

3、位置参数:按照形参定义的顺序去传递实参

4、关键字参数:使用关键字参数可以不按形参的顺序来调用函数

def fn(a,b):
    print('a是:' ,a )
    print('b是:' ,b )

print('位置参数:')
fn(10,2)#位置参数,按照对应位置的实参赋值给对应位置的形参
fn(2,10)

print
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值