函数可以分为内置函数 和 自定义函数。这次关注的主要是自定义函数。定义函数之后,就可以在任何需要它的地方调用。

1 返回值的重要性

  返回值的3种情况 

    没有返回值 ---- 返回None

      不定 return

      只写 return :结束一个函数

      return None ---- 不常用

    只有一个返回值

      可以返回任何数据类型

      只要返回就可以接收到

      如果一个函数中有多个return ,那么只执行第一个

    返回多个值

      用多个变量接收:有多少个返回值就用多少个变量接收

      用一个变量接收:得到一个元组

2 参数

  形参:

  实参:

  没有参数

    定义函数和调用函数时括号里都不写内容

  有一个参数

    传什么就是什么

  有多个参数

    位置参数

  站在实参的角度上:

    按照位置传参

    按照关键字传参

    混着用是可以的,但是必须先按照位置传参,再按照关键字传参数;不能可以同一个变量传多个值

  站在形参的角度上:

    位置参数:必须传,且有几个参数就要传几个值

    默认参数:可以不传,如果不传就用默认参数,传了就用传的

  只有调用函数时候:

    按照位置传:直接写参数的值

    按照关键字传:关键字 = 值

  定义函数的时候:

    位置参数:直接定义参数

    默认参数,关键字参数: 参数名 = ‘默认的值’

    动态参数:可以接受任意多个参数

      参数名前加 * ,习惯用 *args(接收的是按照位置传参的值,组织成一个元组)

      参数名前加 ** ,习惯用 **kwargs(接收的是按照关键字传参的值,组织成一个字典)

    顺序:位置参数,*args,默认参数,**kwargs

    在形参的角度上,给变量加上一个 * ,就是组合所有传过来的值

    在实参的角度上,给一个序列加上 * ,就是将这个序列按照顺序打散

3 函数的注释

  def func()

  ''''

  这个函数实现了什么功能

  参数1:......

  参数2:......

  return:返回的东西是什么

  '''

4 函数上面的小坑

  如果定义的时,形参的默认参数是一个可变数据类型,如果不传值调用,调用都会用同一个(就是重复用这个)

Python学习之路基础篇--09Python基础,初识函数的更多相关文章

  1. Python学习【第十篇】基础之杂货铺

    字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 百分号方式: ...

  2. python学习之路入门篇

    本文是up学习python过程中遇到的一些问题及总结归纳,本小节是入门篇. python基本语法 循环.分支不多赘述. 模块:一个.py文件就是一个模块. 文件和异常 模式 含义解释 “r” 读模式 ...

  3. Python学习之路【目录】

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...

  4. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  5. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  6. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  7. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  8. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  9. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

随机推荐

  1. 数据库的数据进行改动,Cognos报表展示未及时更新

    1. 问题描述 手工修改了DB中的测试数据,但是返回报表看,数据还没有更新 2. 问题分析 这是因为Cognos为了查询效率设计了高速缓存的选项 3. 解决方案 方法1:在数据包端禁用高速缓存,那么所 ...

  2. Angular2+ 实现组件交互的众多方式

    实现组件交互有很多方式,下面列举. 1.父组件向子组件传递数据:(属性绑定) 父组件 [子属性名] = "父属性名" <child-content [data]=" ...

  3. Spring Boot :邮件服务

    简单使用 1.pom 包配置 pom 包里面添加 spring-boot-starter-mail 包引用 <dependencies> <dependency> <gr ...

  4. js显示表单的提交验证

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. lvs用户空间命令ipvsadm

    ipvs工作在内核空间,而ipvsadm工作在用户空间,是负责管理集群服务编写规则的命令行工具 ipvsadm需要手动安装. $ yum -y install ipvsadm ipvsadm管理命令 ...

  6. 没有与这些操作数匹配的 "<<" 运算符 操作数类型为: std::ostream << std::string

    错误显示:没有与这些操作数匹配的 "<<" 运算符       操作数类型为:  std::ostream << std::string 错误改正:要在头文 ...

  7. python常见函数以及模块调用

    1.常用函数区别 print: 在python3.0中print是函数,这意味着需要编写print(A )而不是print A str()和repr()的区别 >>>print st ...

  8. Linux:Gentoo系统的安装笔记(四)

    本来以为结束,谁知离正常的系统还是比较远,不过不放弃,这期的笔记我敢肯定是最后一期了,写了那么多我也觉得烦,被gentoo折磨烦了. 安装KDE桌面 选择正确的配置文件 先获取root权限来安装桌面环 ...

  9. Java复数的加乘除运算

    //主要是对零的处理,有什么不对的地方欢迎批评指正,一起进步class complex{ double a,b; public String toString() { return("实部: ...

  10. Spring Boot 与 swagger 结合

    . 配置pom.xml 2. 更改端口号, 在src/main/resources 下面添加一个application.yml文件. 3. 添加一个ModelCase entity. 4. 添加一个i ...