Python函数详解、及示例

前言

本片文章主要介绍Python函数的一下内容:
函数定义语法、函数调用、函数参数、参数传递方式、参数类型、可变参数、函数返回值、函数说明文档、作用域

1. 函数定义语法

def 函数名(参数):
    函数体
    return 返回值

eg:定义两个数求和的函数

def sum(a, b):
	return a + b

2. 函数调用

语法:
函数名(参数)
注意:在python中,函数必须先定义,后调用
sum  = sum(2, 4)
print(sum)
>>> 6

3. 函数参数

  1. 函数定义的参数个数必须和调用函数传入的值个数保持一致
    在这里插入图片描述

  2. 如果指定了函数的参数,在调用函数的时候,没有传入相对应的值,则会报错
    在这里插入图片描述

  3. 在没有传入函数值的情况下,可以对函数参数设置默认值
    在这里插入图片描述

4. 函数参数的传递方式

  1. 位置参数,以正确的顺序传入函数,调用时的数量必须和声明时一样
def sum(a, b):
    print(f"a={a}")
    print(f"b={b}")
    return a+b

print(sum(1, 4))

>>> a=1
>>> b=4
>>> 5
  1. 关键字参数,允许函数调用时的参数的顺序和声明不一致
def sum(a, b):
    print(f"a={a}")
    print(f"b={b}")
    return a+b

print(sum(b=4, a=1))

>>> a=1
>>> b=4
>>> 5

5. 函数的参数类型

在python中函数的参数类型可以为任意类型

eg:
 # 定义函数
 def myFunc(num):
 # 调用函数
 num可以为任意类型,可为int,也可为str,list,set,tuple,dict

6. 函数可变参数

在某些情况下,函数的参数的个数是不固定的。可以传入参数,也可以选择不传入参数。既可以传递一个参数,也可以传递多个参数。

  1. 包裹位置传递(返回类型为tuple)
语法:
def 函数名(*args):
	代码块
# 求多个值的和
def mySum(*num):
    print(num)
    sum = 0
    for i in num:
        sum += i
    return sum

print(mySum(1, 2, 3, 4))

>>> (1, 2, 3, 4)
>>> 10
  1. 包裹关键字传递(返回类型为dict)
语法:
def 函数名(**kwargs):
	代码块
def test(**kwargs):
    print(kwargs)


test(name="张三", age=18)

>>> {'name': '张三', 'age': 18}

7. 函数返回值

def 函数名():
	return 结果
注:返回结果可以是一个值,也可以是另一个函数
def sum(*a):
    sum = 0
    for i in a:
        sum += i

    def myPrint():
        print(f"计算的结果为:{sum}")
    return myPrint()


sum(1, 2, 3)

>>> 6

8. 函数的说明文档

类似Java中的每个方法都会有个说明,说明该方法的作用

定义函数说明语法:
def 函数名(参数):
	"""
	函数文档说明
	"""
	代码块
注:可使用help()函数来查看函数的说明文档
def mysum(a, b):
    """
    求两个数的和
    :param a: 参数一
    :param b: 参数二
    :return:两个参数的和
    """
    return a+b


print(help(mysum))

>>> mysum(a, b)
    求两个数的和
    :param a: 参数一
    :param b: 参数二
    :return:两个参数的和

9. 变量作用域

变量作用域分为两种:

  1. 全局作用域
  2. 函数作用域
    注:全局作用域不能调用函数作用域中的变量,但是函数作用域可以调用全局作用域中的变量;若在函数作用域中修改全局作用域中的值,则使用global声明
eg:
a=1   #全局作用域
def   sum():
        b=2   #局部作用域
        global  a  #声明a为全局作用域
        a=2   #直接改a的值会出错

10. 递归

简单地说:函数内部,自己调用自己
案例:求1-100的整数和

def test(a):
    """递归求和"""
    if a == 1:
        return 1
    return a + test(a-1)

print(test(100))

>>> 5050

以上就是此篇文章的全部内容了,如有不足的地方欢迎在评论区补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值