IT评测·应用市场-qidao123.com

标题: 11函数入门 [打印本页]

作者: 南飓风    时间: 2023-4-13 13:38
标题: 11函数入门
函数入门

函数的作用

函数的使用

ps:1)根据不同的需求参数可有可无;2)函数必须先定义再调用
函数的参数


参数的分类

(1)根据实参进行分类
  1. def func(a,b,c):
  2.     print(a)
  3.     print(b)
  4.     print(c)
  5.       
  6. func(11,22,33)
  7. #运行结果
  8. 11
  9. 22
  10. 33
  11. 上述案列中的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数,
复制代码
  1. def func(a,b,c):
  2.     print(a)
  3.     print(b)
  4.     print(c)
  5.       
  6. func(11,c=99,b=33)
  7. #运行结果
  8. 11
  9. 33
  10. 99
  11. 调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数
  12. 注意:传参的时候先写位置参数,再写关键字参数
复制代码
(2)根据形参进行分类
  1. # 在调用函数的时候必须要传的参数
  2. def add(a,b):
  3.     c = a + b
  4.     print(c)
  5.      
  6. add(11,22)
  7. # 上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错
复制代码
  1. # 调用函数的时候可以传可以不传,不传就用默认值
  2. def func(a,b,c=99):
  3.     print(a)
  4.     print(b)
  5.     print(c)
  6. func(11,22,33)
  7. print('-----------')
  8. func(55,66)
  9. # 注意:带有默认值的参数一定要位于参数列表的最后面。
复制代码
  1. def func(*args):
  2.   print(args)
  3. func(33,44,55,66,77)
  4. func(*(33,44,55,66,77))
  5. #运行结果
  6. (33,44,55,66,77)
  7. (33,44,55,66,77)
  8. *args,args接收的是一个元祖;
  9. 调用的时候可以直接传入:func(33,44,55,66,77),
  10. 也可以可以先组装list或tuple,再通过*拆包传入:func(*(33,44,55,66,77));
复制代码
  1. def func(**kwargs):
  2.     print(kwargs)
  3. func(e=33,h=44,f=55,d=66,c=77)
  4. func(**{'e':33,'h':44,'d':66,'c':77})
  5. #运行结果
  6. {'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}
  7. {'e': 33, 'h': 44, 'f': 55, 'd': 66, 'c': 77}
  8. **kwargs,kw接收的是一个字典;
  9. 关键字参数既可以直接传入:func(11,22,e=33,h=44,f=55,d=66,c=77),
  10. 也可以先组装dict,再通过**拆包传入:func(**{'e':33,'h':44,'d':66,'c':77})。
复制代码
注意点:使用*args和**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
函数的返回值

函数的帮助文档

函数的嵌套调用

函数的嵌套:在函数里面还有函数。分为外函数和内函数。
嵌套函数是为函数内部服务的,比如减少代码的重复,想要调用函数,要使用函数名,内函数也一样。如果不用函数名调用内函数,内函数就永远不会执行。
  1. # 怎么在函数外部调用内函数呢?首先,不能直接调用内函数 ,需要先执行外函数的代码块。
  2. def func1():
  3.     print("这是外部函数")
  4.     def func2():
  5.         print("这是内部函数")
  6. func2()
  7. # 没有执行外函数内部的代码块,python找不到内函数,所以报name ‘func2’ is not defined,
  8. # 函数func2()没有定义
  9. # 有几种方式可以实现对内函数的调用。
  10. 1.在外函数内部调用内函数,即用函数名调用
  11. def func1():
  12.     print("这是外部函数")
  13.     def func2():
  14.         print("这是内部函数")
  15.     func2() #函数名调用内函数
  16. func1()
  17. 2.可以用return调用内函数
  18. def func1():
  19.     print("这是外部函数")
  20.     def func2():
  21.         print("这是内部函数")
  22.     return func2
  23. func1()() # 执行func1()会返回func2,然后再func2()
  24. # m = func1()
  25. # m()
  26. # 在一个函数里面调用别的函数
  27. def print1():
  28.     print("这是第一个函数")
  29. def print2():
  30.     print("这是定义的第二个函数")
  31.     print1() # 在print2()中调用print1()
  32. print2()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4