前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-函数

Python-函数

作者头像
py3study
发布2020-01-13 20:09:23
3210
发布2020-01-13 20:09:23
举报
文章被收录于专栏:python3python3

一.定义函数

def 函数名([形式参数]):     函数体                    函数要执行的程序     return 返回值        如果没有return返回,默认返回值为None;

函数名([实参]) 注意:有返回值 的函数,必须print fun(),可以打印出返回值;

wKioL1mnZZSj7tJMAAAsZlVWwdc987.png
wKioL1mnZZSj7tJMAAAsZlVWwdc987.png

二.调用函数

内置函数(BIF,built-in function) min,max,sum,zip,abs, int,float,str,list,tuple,bool,

wKiom1mlf6TxHgK0AABIsXB4zC8512.png
wKiom1mlf6TxHgK0AABIsXB4zC8512.png

函数实质上是一个变量;函数名是一个指向函数对象的引用,完全可以把函数赋值给一个变量,相当于给这个函数起了个别名; In [59]: a = abs         a变量指向abs函数 In [60]: a(-1)              可以通过a实现abs的功能; Out[60]: 1 In [61]: abs(-1) Out[61]: 1

wKiom1mlfZWgT0Q8AABPif4Suj8817.png
wKiom1mlfZWgT0Q8AABPif4Suj8817.png

三.空函数:

定义一个什么事也不做的空函数,可以用 pass 语句;

pass 可以用来作为占位符,还没想好怎么写函数的代码, 就可以先放一个 pass ,让代码能运行起来

      def nofunc():                 pass

四.函数的返回值 -  在函数中,一旦遇到return关键字,函数就执行结束; -  函数返回值只能返回一个,如果想间接返回多个值,返回值实际是一个元组;

-  函数执行完毕也没有 return 语句时,自动 return None

wKiom1mlfeTxim2fAACOre4ZFhg308.png
wKiom1mlfeTxim2fAACOre4ZFhg308.png
wKioL1mlfdLQDMQKAACOUgxgqGo759.png
wKioL1mlfdLQDMQKAACOUgxgqGo759.png
wKiom1mnal6SYfWVAABP1p12PAI399.png
wKiom1mnal6SYfWVAABP1p12PAI399.png

四.函数的参数传值

默认参数注意事项:

- 默认参数可以降低调用函数的难度。

- 有多个参数时,变化大放前面,变化小的放后面;

- 必选参数在前,默认参数在后

wKioL1mnbGSjrOEvAAAmEYg5ULM154.png
wKioL1mnbGSjrOEvAAAmEYg5ULM154.png
wKioL1mnbm_BTl3LAAAe8FI02p0490.png
wKioL1mnbm_BTl3LAAAe8FI02p0490.png

1. 必选参数:形参与实参的个数必须相同,否则直接报错; 2. 默认参数:在定义函数时,给形参一个默认值;

wKioL1mnbGSjrOEvAAAmEYg5ULM154.png
wKioL1mnbGSjrOEvAAAmEYg5ULM154.png

小测试:

先定义一个函数,传入一个 list,添加一个END 再返回

wKiom1mlfyPROZT7AACQ75EXAEg819.png
wKiom1mlfyPROZT7AACQ75EXAEg819.png
wKiom1mlfvLgiB-HAACPk69uEXk262.png
wKiom1mlfvLgiB-HAACPk69uEXk262.png
wKioL1mlft_iY8f2AACaofgTsds948.png
wKioL1mlft_iY8f2AACaofgTsds948.png

3.可变参数:传入的参数个数是可变的,可以是1-n个,也可以是0个;一般实参中用*args来表示可变参数;     args接收的是一个元组(tuple);

wKiom1mpVCPiNFq-AABpcZX_qfY031.png
wKiom1mpVCPiNFq-AABpcZX_qfY031.png

4.关键字参数:

- 关键字参数允许你传入 0 个或任意个含参数名的参数;

- 这些关键字参数在函数内部自动组装为一个 dict;

- 关键字参数用**kwargs

多个关键字需加上key值

wKiom1mpVCOzQrN6AABWtynDdOI679.png
wKiom1mpVCOzQrN6AABWtynDdOI679.png

解包

把一个序列元素依次传入带有可变参数的函数时,可通过fun(*l)来解包

把一个字典元素依次传入带有关键字参数的函数时,可通过fun(**d)来解包

wKioL1mpVAuzXHBpAADPHCG-sk8474.png
wKioL1mpVAuzXHBpAADPHCG-sk8474.png
wKiom1mpVCOyNhm_AACh-SiEtHo038.png
wKiom1mpVCOyNhm_AACh-SiEtHo038.png
wKioL1mpVAzwpMfQAAB1bLzcnlg298.png
wKioL1mpVAzwpMfQAAB1bLzcnlg298.png

5.参数组合

- 参数组合是指可以必选参数、 默认参数、 可变参数和关键字参数一起使用。 - 参数定义的顺序必须是:必选参数、 默认参数、可变参数和关键字参数。

6.参数总结

- 必选参数 - 默认参数:默认参数一定要用不可变对象 - 可变参数:*args 是可变参数,args 接收的是一个 tuple - 关键字参数:**kw 是关键字参数,kw 接收的是一个dict - 对于任意函数,都可以通过类似 func(*args, **kw) 的形式调用它

wKiom1mlgAugq2QrAAC8EuFN-GU781.png
wKiom1mlgAugq2QrAAC8EuFN-GU781.png

五.变量的作用域 1.全局参数:在函数外定义的函数 2.局部参数:在函数内部定义的函数; - global:声明局部变量为全局变量; global name name = "westos"

wKiom1mlfnLgtnq7AAB4DK6wM3U367.png
wKiom1mlfnLgtnq7AAB4DK6wM3U367.png
wKioL1mlfmCwSKmiAACACtetAMw853.png
wKioL1mlfmCwSKmiAACACtetAMw853.png

六.帮助文件

帮助文件结尾为__doc__,可以自行编写

wKiom1mpWTCjk62WAAEsy3Fs_yE997.png
wKiom1mpWTCjk62WAAEsy3Fs_yE997.png
wKioL1mpWRiR-eC8AAFARVsDUsk555.png
wKioL1mpWRiR-eC8AAFARVsDUsk555.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档