美文网首页
函数基础-python学习14

函数基础-python学习14

作者: 郭俊未来学院 | 来源:发表于2019-11-25 00:18 被阅读0次

函数

定义:函数是组织好的,可以重复使用的,可以实现单一功能的代码。

比如,前面学过的print()函数、int()函数等

括号里放的东西,也就是我们需要输入给函数的数据,它在函数中被称作【参数】。【参数】指向的是函数要接收、处理怎样的数据(你也可以把它理解成自变量)。

自定义和调用函数

格式:def (函数名):                    例如:  def math(x):

                  函数体                                            y=3x+5

                  return语句                                       return y

调用函数: 就是输入函数名和参数所对应的值,这个过程在函数里叫作参数的传递(pass)。


函数的参数

函数中常见的参数有:位置参数、默认参数和不定长参数。

没有return语句的函数,Python也会在末尾隐性地加上return None,即返回None值。

1、位置参数:举例解释

图片来自分变

这里的'话梅花生'和'牛肉拉面'是对应参数的位置顺序传递的,所以appetizer和course被叫作【位置参数】,当有多个参数的时候,我们就必须按照顺序和数量传递,这也是最常见的参数类型。

2、默认参数:

图片来自风变

默认参数,是直接在定义函数的时候里给参数赋值。

需要注意的是:默认参数必须放在位置参数之后。

如果一个函数的某个参数值总是固定的,那么设置默认参数就免去了每次都要传递的麻烦。

默认参数并不意味着不能改变,默认参数也可以给与新的赋值

3、不定长参数:

即传递给参数的数量是可选的、不确定的。

格式比较特殊,是一个星号*加上参数名,它的返回值也比较特殊,如图:

图片来自风变

这里order 的类型是元组,元组中的元素是不可更改的;

不定长参数可以接受任意数量的值。

返回多个值:

要返回多个值,只需将返回的值写在return语句后面,用英文逗号隔开即可;

这里用到的是random模块中的.choice()随机选择函数;

多个函数间的配合:

一个程序往往是通过多个函数的配合来实现的;

当多个函数同时运行时,就涉及函数中一个非常重要的概念 —— 变量作用域;

举例:

变量作用域:程序中的变量并不是在哪个位置都可以被使用的,使用权限决定于这个变量是在哪里赋值的。关于这个概念,目前我们只需要掌握下面两点即可:

第一点:一个在函数内部赋值的变量仅能在该函数内部使用(局部作用域),它们被称作【局部变量】,如cost()函数里的variable_cost,他只能用于cost()内部,不能再第10行,sum_cost()函数中使用。

第二点:在所有函数之外赋值的变量,可以在程序的任何位置使用(全局作用域),它们被称作【全局变量】,如第一行的rent

那要怎么解决“局部变量”和”全局变量“之间的矛盾呢?有几种方法可供参考,第一种方法最取巧:把局部变量都放在函数外,变成全局变量

那有没有一个能在函数内修改的方法呢?这时候global语句就能派上用场了,它可以将局部变量声明为全局变量,如下图:

global语句一般写在函数体的第一行,它会告诉Python,“我希望variable_cost是个全局变量,所以请不要用这个名字创建一个局部变量”。所以上面图中的sum_cost()函数内部现在可以直接使用声明后的全局变量variable_cost

相关文章

  • 函数基础-python学习14

    函数 定义:函数是组织好的,可以重复使用的,可以实现单一功能的代码。 比如,前面学过的print()函数、int(...

  • 学Python的012天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P21:函数:内嵌函数和闭包《Python开发入门...

  • python基础笔记

    Python基础 函数:

  • 05.最后任务---生成照片墙

    学习一个知识python匿名函数(lambda表达式) 参见python基础教程 了解一个函数point 准备 1...

  • python练习(2)

    python学习的第二周,这周学习继续学习python基础,主要是生成器、函数式编程、模块。部分练习如下: 下周将...

  • 学Python的013天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P22:函数:lambda表达式《Python开发...

  • python之“函数”(一)

    今天我们要学习的是Python中的函数基础,具体包括“什么是函数?”、“函数的定义”以及“函数的作用”,废话不多说...

  • 第002讲:用Python设计第一个游戏

    《零基础入门学习Python》视频学习地址:传送门 测试题: 0. 什么是BIF? BIF是python内嵌函数。...

  • 学Python的014天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P23:函数:递归是什么《Python开发入门与爬...

  • 学Python的010天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P19:函数:灵活即强大《Python开发入门与爬...

网友评论

      本文标题:函数基础-python学习14

      本文链接:https://www.haomeiwen.com/subject/sgptwctx.html