python之函数

本文介绍了函数的基本概念,包括函数的作用、创建方式及参数传递规则。详细解析了必备参数、关键字参数、默认参数和不定长参数的使用场景,并讨论了return语句的功能与作用域的相关概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数

1、函数特性

数学函数 == function()

计算机函数 == subroutine 子程序 , procedure 过程

作用:

    1.减少重复代码

    2.方便修改,更易拓展

    3.保持代码一致性

2、函数创建

2.1 格式

     def 函数名(参数列表):

   函数体

  define 定义

##2.2函数命名规则:

(1)函数名必须以下划线或字母开头,可以包含任意字母

、数字或下划线组合,不能使用任何标点符号

(2)函数名是区分大小写的

(3)函数名不能是保留字

2.3形参和实参

形参:形式参数,不是实际存在的,是虚拟变量,在定义

       函数和函数体时使用形参,目的是在函数调用时接受实参

    ( 形参个数,类型与实参一一对应)

实参:实际参数,调用函数时传给函数的参数,可以是常量,

变量,表达式,函数,传给形参

3、函数的参数

   (1)必备参数
参数必须以正确的顺序传入函数,调用时的数量必须

与声明时的一样。

  (2)关键字参数
传参数时以关键字标记
  (3)默认参数
     

def f(name,sex='male'):
    print(name,sex)
f('wang')

运行结果:

   (4)不定长参数

def f(*args):
    for i in args:
        print(i)
f(1,2,3,4,5,6)

运行结果:

*args 表示将传入的若干无名参数写成元组形式

运行结果:

  #print(args)


def f(*args,**kwargs):
    for i in args:
        print(i)
    for j in kwargs:
        print(j,":",kwargs[j])
f(1,2,3,4,name="wang",age=18)

运行结果:

**kwargs 将传入有名参数数据当作字典形式的键值对


注意点:(1)位置对应,有名和无名参数要分开来

              (2)args放在左边,有键值对的kwargs放在右边

              (3)如果还有默认参数,默认参数要放在args的左边

                 例:

def f(sex='male',*args,**kwargs):
    print("sex:%s"%sex)
    for i in args:
        print(i)
    for j in kwargs:
        print(j,":",kwargs[j])
f('female',1,2,3,4,name="wang",age=18)

运行结果:

注意此时左边的第一个无名参数 一定是对应着第一个默认参数sex的

f(1,2,3,4,name="wang",age=18)

运行结果:


4、return

    (1)函数没有return 默认返回none

    (2)如果return多个对象,自动封装成一个元组返回

    (3)return预示着函数的结束

5、作用域

    (1)local,局部作用域,即函数中定义的变量

   (2)enclosing,嵌套的父级函数的局部作用域,即含此

函数的上级函数的局部作用域。但不是全局的

    (3)globa,全局变量,就是模块级别定义的变量

    (4)bulit-in,系统固定模块里的变量,比如int,bytearray

等,搜索变量的优先级顺序是:作用域局部>外层作用>当前模块

中的全局>python内置作用域,也就是LEGB。

注意:局部作用域不能修改全局变量



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值