day10 函数的定义及函数语法详解
"""
今日内容:
(1)函数的定义及特点
(2)函数的语法及函数的四部分
(3)函数的分类
(4)函数的调用
(5)函数的return详解 一、函数的定义
1、什么是函数?
-- 具有 特定功能 的代码块,该代码块具有一个能表示其功能的名称,后期可以通过名称调用该函数。
2、为什么要使用函数?
-- 函数对特定的功能进行了封装,可以通过函数名进行调用,避免了代码的冗余
-- 可以使代码的结构层次更加的清晰
-- 可以使代码的维护更加简单 二、函数的语法及函数的四部分
定义函数的语法: 通过关键字 def 来定义函数
def 函数名(参数列表):
'''文档注释'''
函数体
return 返回值 函数的四部分:
函数除了关键字 def 不能变之外,其余四部分都可以变化
-- 变量名:后期通过函数名进行函数的调用
-- 参数列表:函数的执行需要外部传入某些数据时,需要设置参数列表
-- 函数体:函数实现具体功能的代码块
-- 返回值:函数执行后向外界返回的结果 三、函数的分类
根据有无函数体进行分类:
--空函数:函数体使用pass进行占位,后期再进行补充
--非空函数:函数体补位空的函数 根据函数的参数列表进行分类:
-- 无参函数:当函数的执行不需要外接提供数据时,函数使用空参函数
-- 有参函数:当函数的执行需要外界提供数据时,需要在变量名后的括号中添加一个或多个参数,此时就使用有参函数 根据返回值进行分类:
--明确返回值的函数:当函数的执行结果需要提供给外界时,就需要明确函数的返回值
--不明确返回值的函数:当函数的执行结果不需要提供给外界时,不需要明确函数的返回值
--【注】:不论函数需不需要明确返回值,都会有return返回值 四、函数的调用
函数必须 先定义 后执行
函数的使用的四步骤:
-- 通过关键字定义函数
-- 通过函数名找到函数的内存地址
-- 通过加 () 调用函数,如果定义时有参数就需要传入参数,反之则不需要传入参数
-- 函数执行完毕后向外界提供返回值,如果外界需要返回值就接收
--【注】:函数使用一次就调用一次 五、函数的返回值详解
返回值得两个作用:
-- 结束函数
-- 为外界提供返回值 函数返回值的三种方式:
-- 不明确返回值:系统默认添加 return ,其返回值为 None
-- 明确空返回值:当函数不需要向外界提供函数的运行结果时,此时可以不需要明确函数的返回值
-- 明确返回值:当函数需要向外界提供运行结果时,就需要明确函数的返回值 函数返回值的个数:
--函数的返回值理论上只能有一个,当需要返回多个返回值时,此时return返回的是一个包含有多个返回值的元组,此时外界多个变量要接收返回值时会自动进行解压赋值
--函数的返回值需要解压赋值时,程序不会报错,如果需要多个变量进行解压赋值时,变量个数必须与返回值的个数相同。 """
day10 函数的定义及函数语法详解的更多相关文章
- c++模板函数声明定义分离编译错误详解
今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H #define GUARD ...
- 如何在微信小程序定义全局变量、全局函数、如何实现 函数复用 模块化开发等问题详解
1.如何定义全局数据 在app.js的App({})中定义的数据或函数都是全局的,在页面中可以通过var app = getApp(); app.function/key的方式调用,不过我们没有必要 ...
- python笔记--3--函数、生成器、装饰器、函数嵌套定义、函数柯里化
函数 函数定义语法: def 函数名([参数列表]): '''注释''' 函数体 函数形参不需要声明其类型,也不需要指定函数返回值类型 即使该函数不需要接收任何参数,也必须保留一对空的圆括号 括号后面 ...
- [概念] js的函数节流和throttle和debounce详解
js的函数节流和throttle和debounce详解:同样是实现了一个功能,可能有的效率高,有的效率低,这种现象在高耗能的执行过程中区分就比较明显.本章节一个比较常用的提高性能的方式,通常叫做&qu ...
- 在函数内部定义的函数 this 指向 undefined
在函数内部定义的函数 this 指向 undefined 以下这个 this 就是指向 undefined. 但在非 strict 模式下是指向 window <script> 'use ...
- str_replace函数的使用规则和案例详解
str_replace函数的使用规则和案例详解 str_replace函数的简单调用: <?php $str = '苹果很好吃.'; //请将变量$str中的苹果替换成香蕉 $strg = st ...
- Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...
- Hadoop Hive sql语法详解
Hadoop Hive sql语法详解 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件 ...
- Java8的Stream语法详解(转载)
1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...
- Java 8系列之Stream的基本语法详解
本文转至:https://blog.csdn.net/io_field/article/details/54971761 Stream系列: Java 8系列之Stream的基本语法详解 Java 8 ...
随机推荐
- Generetor函数与线程之间的思考
在解析这个问题之前,首先,我们来了解一下es6标准里新增解决异步的两种规范 Promise与Generetor Promise 其实Promise的本质 还是基于js程式的回调处理----这一点看它的 ...
- html中的meta标签是什么?有哪些属性?
meta标签介绍 meta标签是HTML语言head区域的一个辅助性标签,常用于定义页面的说明,关键字,最后修改的日期和其他的元数据.这些元数据将服务于浏览器,搜索引擎和其他网络服务. meta标签的 ...
- 以API方式调用C# dll,使用OneNote2013 sp1实现OCR识别本地图片
http://www.cnblogs.com/Charltsing/p/OneNoteOCRAPI.html OneNote2013 OCR API调用使用说明2019.4.17 使用说明:1.安装干 ...
- beanshell断言模版
if("${createTime_1}".equals("${createTime_2}")){ Failure = false; FailureMessage ...
- spring整合redis使用RedisTemplate的坑Could not get a resource from the pool
一.背景 项目中使用spring框架整合redis,使用框架封装的RedisTemplate来实现数据的增删改查,项目上线后,我发现运行一段时间后,会出现异常Could not get a resou ...
- Mergeable Stack ZOJ - 4016(list)
ZOJ - 4016 vector又T又M list是以链表的方式存储的 是一个双向链表 元素转移操作中,不能一个个遍历加入到s中,list独有的splic函数可以在常数时间内实现合并(并删除源lis ...
- Linux下批量管理工具pssh安装和使用
Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...
- [BJOI2019]光线(递推)
[BJOI2019]光线(递推) 题面 洛谷 题解 假装玻璃可以合并,假设前面若干玻璃的透光率是\(A\),从最底下射进去的反光率是\(B\),当前的玻璃的透光率和反光率是\(a,b\). 那么可以得 ...
- 「洛谷3338」「ZJOI2014」力【FFT】
题目链接 [BZOJ] [洛谷] 题解 首先我们需要对这个式子进行化简,否则对着这么大一坨东西只能暴力... \[F_i=\sum_{j<i} \frac{q_iq_j}{(i-j)^2}-\s ...
- BZOJ2655calc
题目描述 一个序列a1,...,an是合法的,当且仅当:长度为给定的n.a1,...,an都是[1,A]中的整数.a1,...,an互不相等.一个序列的值定义为它里面所有数的乘积,即a1a2...an ...