专栏首页python3Python-函数

Python-函数

一.定义函数

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

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

二.调用函数

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

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

三.空函数:

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

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

      def nofunc():                 pass

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

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

四.函数的参数传值

默认参数注意事项:

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

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

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

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

小测试:

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

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

4.关键字参数:

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

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

- 关键字参数用**kwargs

多个关键字需加上key值

解包

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

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

5.参数组合

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

6.参数总结

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

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

六.帮助文件

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python3快速入门(五)——Pyth

    默认情况下,参数值和参数名称按函数声明中定义的顺序进行匹配。 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在...

    py3study
  • Python_函数

    一、 定义函数的格式: def function_name(参数1,参数2,参数3......): 代码块 二、函数的形参和实参:函数定义时的参数为形参...

    py3study
  • python-函数-参数

      实参:实际参数,调用函数时传给函数的参数,可以是常量、变量、表达式、函数,传给形参

    py3study
  • 轻松初探Python(六)—函数

    这是「AI 学习之路」的第 6 篇,「Python 学习」的第 6 篇 题外话 这周工作日 5 天,我并没有更新文章,但大家并不要以为小之懒惰了。正好相反,自从...

    企鹅号小编
  • 算法工程师养成记(附精选面试题)

    通往机器学习算法工程师的进阶之路是崎岖险阻的。《线性代数》《统计学习方法》《机器学习》《模式识别》《深度学习》,以及《颈椎病康复指南》,这些书籍将长久地伴随着你...

    AI科技大本营
  • Flutter必备语言Dart教程01 - 变量,类型,函数

    要运行程序,请将其保存在名为“hello_world.dart”的文件中,并在终端中执行以下命令。(如果没有dart环境,请先完成安装。)

    前端知否
  • 视频直播中 | 5G到底有多快?现场测速,带你走进5G生活

    ? 今晚19:30准时开播 扫码收看 ? 直播内容介绍 1、5G手机和CPE终端设备介绍 2、5G测速 3、5G 云游戏 4、5G生活畅想 5、5G技术...

    腾讯技术工程官方号
  • 聊一聊CPU上下文切换

    多核CPU在运行任务时,使用程序计数器来存储当前执行指令的位置或者下一条将要执行的指令的位置,而CPU寄存器则是CPU中的内存。它们都是CPU在运行时必须依赖的...

    Java学习录
  • 机器学习和深度学习中值得弄清楚的一些问题

    SIGAI飞跃计划第一期已经进行4周了,在这4周的学习中,同学们提出了不少好问题。在这里,我们将每周直播答疑的问题进行筛选和整理,写成今天的公众号文章,供大家参...

    SIGAI学习与实践平台
  • 产品经理的需求池管理

    需求池可以理解成一个产品迭代依据的库,数据库记录各种数据,那么需求池记录的是各种需求。

    靠谱先生

扫码关注云+社区

领取腾讯云代金券