Python中的函数

1.在Python中函数是什么?

函数是带名字的代码块,用于完成具体的工作。
要执行函数定义的特定任务,可调用该函数。需要在程序中多次 执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用 执行该任务的函数,让Python运行其中的代码。

2.函数的好处

  • 有助于将程序分解成更小的块(模块化)
  • 提高程序的可理解性和质量
  • 避免重复并使代码可重用
  • 降低了软件开发和维护的成本

一、函数的定义和调用

1.函数的定义

使用def语句定义,一般定义语法如下:

         def    函数名(参数列表 ) :
                  函数体
  • 关键字 def:标志着函数头的开始
  • 函数名(function_name):唯一标识一个函数,函数命名遵循标识符的编写规则
  • 参数列表:通过它可以将值传递给函数,是可选的。
  • 冒号(:):用于标记函数头的结尾。
  • 函数体:由一个或多个有效的 python 语句构成,语句必须具有相同的缩进级别。

2.函数的调用

       函数名()

eg:

无参函数:
   def func():            ##函数名
       a=1
       b=2
       c=a+b             ##函数体
   func()              ##调用函数

二、函数的参数

1.位置参数

位置参数,传入的参数值是按照顺序依次复制过去的

  def func(a,b):              ##函数名
        c=a+b                 ##函数体
        return c              ##返回值            
    func(1,2)                 ##调用函数

位置参数的缺点:
            必须熟记每个位置的参数含义。

2.关键字参数

关键字参数是传递给函数的名称—值对。你直接在实参中将名称和值关联起来了,因此向函 数传递实参时不会混淆。
关键字参数让你无需考虑函 数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。

def describe_pet(animal_type, pet_name):     
     """显示宠物的信息"""     
     print("\nI have a " + animal_type + ".")     
     print("My " + animal_type + "'s name is " + pet_name.title() + ".")      
     describe_pet(animal_type='hamster', pet_name='harry')

3.默认参数

默认参数用于定义函数,为参数提供默认值,调用函数时可传可不传该more参数的值
注意:所有位置参数必须出现在默认参数前,包括函数定义和调用

def  func(name,sex=1):          #sex=1为默认参数
     print(name)
     print(sex=1)
 func ("li")

4.可变参数

定义函数时,有时我们不能确定调用的时候会传递多少参数,此时就需要用到可变参数

1)包裹位置传递

def func(*args):
      函数体
      
func()
func(1,2)
func(a,b,c)

我们所传进的所有参数都会被*args变量收集,它会根据传进参数的位置合并为一个元组,args是元组类型。

2)包裹关键字传递

def func(**kargs):
    函数体

func()
func(a=1)
func(a=1,b=2)

kargs是一个字典,收集所有关键字参数。

三、函数的四种类型

根据函数的参数和返回值,函数可以分为四种类型:

  • 无参数,无返回值的参数
  • 无参数,有返回值的参数
  • 有参数,无返回值的参数
  • 有参数,有返回值的参数

1.无参数,无返回值的参数

def func():
    a=1
    b=2
    c=a+b
    print(c)
func()

2.无参数,有返回值的参数

def func():
    a=1
    b=2
    c=a+b
    print(c)
    return c
func()

3.有参数,无返回值的参数

def func(a,b):
    c=a+b
    print(c)
func(1,2)

4.有参数,有返回值的参数

def func(a,b):
    c=a+b
    print(c)
    return c
func(1,2)
print(func(1,2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值