Python -函数

目录

1.1 函数的创建与调用

1.2 函数的参数传递

1.3 函数的返回值(视情况而定)

1.4 函数的参数定义

1.5 变量的作用域

1.6 递归函数


1.1 函数的创建与调用

# -*- coding:utf-8 -*-
# @Author :Persistent.J

def 函数名([]):
    函数体
    [return XXX]

def calc(a, b): # 形参
    c = a+b
    return c

m = calc(1, 3) # 实参
print(m)

1.2 函数的参数传递

  • 位置参数
    • 根据形参定义的位置进行参数的传递
  • 关键字参数
    • 根据形参名称进行实参的传递
# -*- coding:utf-8 -*-
# @Author :Persistent.J

def calc(a, b):
    c = a-b
    return c

m = calc(b=1, a=3) # 使用了关键字参数
print(m) # 2

def calc(a, b):
    c = a-b
    return c

m = calc(1, 3)
print(m) # -2

1.3 函数的返回值(视情况而定)

# -*- coding:utf-8 -*-
# @Author :Persistent.J

def fun():
    print('hello')
fun()

def fun():
    return 'hello'
a = fun()
print(a)

def fun():
    return 'hello', 'world'
b = fun()
print(b)
'''
hello
hello
('hello', 'world')
'''

1.4 函数的参数定义

  • 函数定义默认值参数
    • 函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参
# -*- coding:utf-8 -*-
# @Author :Persistent.J

def fun(a, b=20):
    print(a, b)
fun(20)
fun(2, 8)

print('hello', end='\t')
print('world')

print('hello')
print('world')
'''
20 20
2 8
hello	world
hello
world
'''
  •  个数可变的位置参数(只能是一个)
    • 定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数
    • 使用*定义个数可变的位置形参
    • 结果为一个元组
  • 个数可变的关键字形参(只能有一个)
    • 定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参
    • 使用**定义个数可变的关键字形参
    • 结果为一个字典 
  • 个数可变的位置形参要放在个数可变的关键字形参之前

1.5 变量的作用域

  • 局部变量(使用global转成全局变量)
  • 全局变量

1.6 递归函数

  • 在一个函数的函数体内调用该函数本身
  • 递归函数由递归调用与递归终止条件组成
  • 递归调用过程中
    • 每递归调用一次函数,都会在栈内存分配一个栈帧
    • 每执行完一次函数,都会释放相应的空间
  • 缺点-占用内存多,效率低下
  • 优点-思路与代码简单
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OR_0295

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值