0
点赞
收藏
分享

微信扫一扫

【Python从零到壹】Python基础之函数的应用


文章目录

  • 1. 函数的概念
  • 1)概念
  • 2) 为什么要用函数
  • 3) 函数的语法
  • 2. 函数调用的参数传递
  • 1) 案例1
  • 3. 函数的返回值
  • 4. 函数参数定义
  • a)可变的位置参数:
  • b)个数可变的关键字形参:
  • 总结

1. 函数的概念

1)概念

函数就是执行特定的任务已完成特定功能的一段代码

2) 为什么要用函数

为什么要用函数呢?

  • 复用代码
  • 隐藏实现细节
  • 提高可维护性
  • 提高可读性便于调试

3) 函数的语法

函数的创建:
def 函数名(输入参数):
函数体
return

def funtion_name([para1,para2...paraN]):
	statement1
    statement2
      ....
    [return value1,value2...valueN]

函数名字是自己起的,输入参数的入口,就相当于水果机的入口。

我把水果放进水果机,最终出来了果汁

案例:

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def calc(a,b):
    c=a+b
    return c
result=calc(10,20)
print(result)

【Python从零到壹】Python基础之函数的应用_元组

  • 定义函数需要使用def关键词
  • function_name表示函数名,后面的冒号(:)不要忘记,并且缩进
  • [para1,para2…paraN]表示参数,可以省略,也可以多个参数
  • [return value1,value2…valueN]表示返回值,可以无返回值,也可以多个返回值
    需要注意的是自定义函数有返回值,主调函数就需要接受返回的结果

2. 函数调用的参数传递

函数传递指的就是函数调用时候的传递

这里有三个概念:

  • 形参: 比如上面例子中的a,b
    形参的位置在函数的定义处
  • 实参: 下面的例子就是实参
    result=calc(10,20) #这里的10,20 就是实参,实参的位置在函数的调用处
  • 位置传参: 就是我们的calc(10,20) 就传递给了
  • 【Python从零到壹】Python基础之函数的应用_Python函数_02

  • 这里对应的就是a=10, b=20, 这种就是位置实参。
  • 关键字传参:

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def calc(a,b):
    c=a+b
    return c
result=calc(b=10,a=20) #这里的10,20 就是实参,实参的位置在函数的调用处
print(result)

这里会根据等号左侧的变量名字 b=10 ,这个b就是关键字参数

当我们使用关键字参数,就会根据关键字名字就查找,这个时候位置实参就不用了。

1) 案例1

实参名称和形参名称可以不一样:

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def fun(agr1,agr2):
    print('agr1',agr1)
    print('agr2',agr2)
    agr1=100
    agr2.append(10)
    print('agr1',agr1)
    print('agr2',agr2)

n1=10
n2=[11,22,33,44]
fun(n1,n2)
print('n1',n1)
print('n2',n2)

输出结果:

【Python从零到壹】Python基础之函数的应用_Python函数_03

这里的n1和n2和原来的agr1,agr2不同,但是没关系,一样可以。

这里需要注意的点:

  • 如果是不可变对象,在函数体修改,不会影响实参的值,agr1修改为100,不会影响n1的值
  • 如果可变对象,在函数体修改会影响到实参的值,agr2的修改,会影响n2的值

3. 函数的返回值

  • 函数返回多个值时,结果为元组

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def fun(num):
    odd=[] # 存奇数
    even=[] #c存偶数
    for i in num:
        if i%2:
            odd.append(i)
        else:
            even.append(i)
    return odd,even

#a函数的调用
lst=[11,22,33,44,55,66,49.80]
print(fun(lst))

【Python从零到壹】Python基础之函数的应用_函数调用_04


可以看到,结果为一个元组,但元组里有两个列表。

函数的返回值:

  • 如何函数没有返回值(函数执行完之后,不需要给调用出提供数据),return可以省略不写
  • 函数的返回值,如果是1个,直接返回类型
  • 如果函数的返回值是多个,返回结果为元组

4. 函数参数定义

  1. 函数定义默认值参数: 给形参设置默认值,只有与默认值不符的时候才需要传递实参

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def fun(a,b=10):  #b就是默认值
    print(a,b)
    
fun(100)

这样的结果就是a=100,b=10

如果ab都给值`

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def fun(a,b=10):  #b就是默认值
    print(a,b)



fun(20,30)`

这样的结果就是a=20 ,b=30,这个时候b=30与默认值不符,会传递实参

  1. 函数的参数定位为个数可变的位置参数及个数可变的关键字参数

这个指的是定义的时候的参数个数。

a)可变的位置参数:

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s

def fun(*agrs): #不知道传几个参数,这个叫*a也可以
    print(agrs)

fun(10)
fun(10,20)
fun(10,20,30)

【Python从零到壹】Python基础之函数的应用_函数调用_05


最后的结果为元组

b)个数可变的关键字形参:

# 作者:互联网老辛
# 开发时间:2021/4/4/0004 6s
def fun(**args): #两颗星
    print(args)
fun(a=10)
fun(a=10,b=20,c=30)

这种结果为字典

总结

函数用的还是比较多的,在每种编程语言中都有它的身影,所以这块一定要多练习。


举报

相关推荐

0 条评论