Python基础学习-函数

一:定义函数

① 函数是带名字的代码块,用于完成具体的工作。

② 函数使用关键字def来定义,最后,定义以冒号结尾。

③ 每个函数后面都应紧跟一个文档字符串,来描述函数是做什么的,

文档字符串用三引号括起。

1:一个简单函数:

输出:

2:向函数传递消息:

输出:

3:实参和形参:

① 实参是调用函数时传递给函数的信息。

② 在greet_user(username = "jesse")中,将实参"jesse"传递给了函数greet_user(),这个值被存储在形参username中。

二:传递实参

1:位置实参:在函数中,Python将按顺序将函数调用中的实参关联到函数定义中相应的形参。

输出:

2:关键字实参:

① 关键字实参是传递给函数的名称-值对。

② 使用关键字时,务必准确的指定函数定义中的形参名。

输出:

3:默认值:

① 编写函数时,可给每个函数指定默认值。使用默认值可简化函数调用。

② 使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。

输出:

4:等效的函数调用:

输出:

三:返回值:

① 函数返回的值称为返回值。

② 在函数中,使用return语句将值返回到调用函数的代码行。

③ 调用返回值的函数时,需要提供一个变量,用于存储返回的值。

1:返回简单值

输出:

2:让实参变成可选的

输出:

3:返回字典

输出:

4:结合使用函数和while循环

输出:

四:传递列表:

① 这种列表包含的可能是名字、数字、或更复杂的对象(字典)。

② 将列表传递给函数后,函数就能直接访问其内容。

1:传递列表

输出:

2:在函数中修改列表:

输出:

3:禁止函数修改列表:

用切片的方式,将列表的副本传递给函数。

输出:

五:传递任意数量的实参:

① 形参中带一个星号是让Python创建一个空元组。

② 形参中带两个星号是让Python创建一个空字典。

1:传递任意数量的实参:

输出:

2:结合使用位置实参和任意数量实参:

Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。

输出:

3:使用任意数量的关键字实参:

输出:

六:将函数存储在模块中:

① 函数的优点之一就是,使用它们可将代码块与主程序分离,

② 将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。

③ import语句允许在当前运行的程序文件中使用模块中的代码。

1:导入整个模块:在这里,我先创建了一个名为pizza.py的模块,里面只包含函数make_pizza()。

输出:

2:导入特定的函数:

输出与上相同。

3:使用as给函数指定别名:

输出与上相同。

4:使用as给模块指定别名:

输出与上相同。

5:导入模块中的所有函数:

① 使用星号(*)运算符可让Python导入模块中的所有函数。

输出与上相同。

七:函数编写指南:

① 应该函数指定描述性名字,且只在其中使用小写字母和下划线。

② 每个函数都应包含简要地阐明其功能的注释,该注释紧跟在函数定义后面,并采用文档字符串格式。

③ 给形参指定默认值时,等号两边不要有空格。

④ 所有的import语句都应放在文件开头。

折腾再三,还是决定用截屏的方式展现代码(无奈),看是足够了,只是不能复制代码。

每天学习一点点,每天进步一点点。

本文分享自微信公众号 - 小白客(youcoding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-23

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • “深度学习”是什么?

    深度学习可以理解为“深度”和“学习”这两个名词的组合。“深度”体现在神经网络的层数上,一般来说,神经网络的层数越多,也就是越深,则学习效果越好;“学习”体现为神...

    爱吃西瓜的番茄酱
  • Python基础学习-操作列表

    一 :遍历整个列表 1:使用for循环来遍历列表: 例: ? 输出: ? 二:避免缩进错误 1:Python根据缩进来判断代码行与前一个代码行的关系。 2:...

    爱吃西瓜的番茄酱
  • Python基础学习-简单数据类型

    一:字符串 1:.title()方法将每个单词的首字母改为大写 例: ? 输出: ? 2:.upper()方法将字符串全部改为大写 例: ...

    爱吃西瓜的番茄酱
  • 代价函数

    代价函数,度量【假设集】的准确性。 机器学习中常用的代价函数,总结如下: 1 误差平方和函数 ? 说明:yi 是模型预测值,oi是样本实际值 2 交叉熵函数...

    陆勤_数据人网
  • 手把手教你如何由浅入深地理解线性SVM模型

    SVM模型的核心是构造一个“超平面”,并利用“超平面”将不同类别的数据做划分。问题是“超平面”该如何构造,并且如何从无数多个分割面中挑选出最佳的“超平面”,只有...

    1480
  • 深入浅出Substrate:剖析运行时Runtime

    基于Substrate开发自己的运行时模块,会遇到一个比较大的挑战,就是理解Substrate运行时(Runtime)。本文首先介绍了Runtime的架构,类型...

    MikeLoveRust
  • static在C和C++中的用法和区别

    http://blog.csdn.net/skyereeee/article/details/8000512

    bear_fish
  • Java 8:一文掌握 Lambda 表达式

    能够使用 Lambda 表达式的一个重要依据是必须有相应的函数接口。所谓函数接口,是指内部有且仅有一个抽象方法的接口。

    淡定的蜗牛
  • opencv: 合成视频

    JNingWei
  • 我是如何发现Google服务器上的LFI漏洞的

    本文将介绍如何利用本地文件包含漏洞读取Google某服务器上的任意文件。漏洞存在于Google的Feedburner中,在提交漏洞后,Google安全团队迅速修...

    FB客服

扫码关注云+社区

领取腾讯云代金券