python函数概念
函数介绍
函数就类似与一个工具,作用就是在有需求时可以直接使用。
函数作用
1.精简代码,不需要重复写代码。
2.提高代码兼容性
3.提供返回值


函数语法结构
def 函数名(参数1, 参数2):
“““函数注释”””
函数体代码
return 返回值
1.def(必须)
def是定义函数的关键字,是必须的。
2.函数名(必须)
函数名就相当于变量名,命名规范与风格与变量名相同。
3.参数(非必须)
参数是可选的,并非必须。设置参数表示调用这个函数需要一点条件。
4.注释(非必须)
注释是对函数的介绍,提示函数的功能,没有并不影响函数运行。
5.函数体代码(必须)
函数体代码实现函数的功能,是函数核心的代码逻辑。
6.ruturn返回值(非必须)
使用函数后反馈给使用者的值,并非必须。

函数的调用
调用函数
使用函数名加括号就可调用,如果函数在定义阶段有参数则还需输入参数。
需要注意的是:函数必须先定义再调用,在定义阶段只检测语法而不执行,在调用阶段才会执行函数体代码。
原理
首先在内存空间中申请一块空间存储函数体代码,然后将函数体代码的内存地址绑定给函数名,最后用函数名加括号执行函数体代码。

函数的分类
1.内置函数
python解释器自带的已经定义好的函数,可以直接调用。
2.自定义函数
指程序员自己写的函数
2.1 无参函数
无参函数指的是定义时没写参数的函数,在调用时无需输入参数。
def my_func():
print('这个是无参函数')
2.2有参函数
有参函数指在定义阶段是在括号内加了参数的函数。
def my_func(a,b):
print('这个是有参函数')
2.3空函数
指函数体代码为空的函数。
空函数本身没有含义,是为了提前规划编程的思路
def my_func():
pass

python函数概念的更多相关文章
- python——函数的基本概念
Python函数认识 数学定义 y = f(x), y是x的函数,x是自变量. python中的函数组成 由若干语句组成的语句块.函数名称.参数列表构成,函数是组织代码的最小单元 像一个黑盒子,我们给 ...
- python基础语法_9-0函数概念
http://www.runoob.com/python3/python3-function.html 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代 ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- python函数的参数传递问题---传值还是传引用?
摘要:在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象.不可更改对象的传递属于传值,可更改对象属于传引用.想要在函数中传递 ...
- Python 函数返回值
本章详细介绍 返回值: 0x 00 返回值简介 0x 01 指定返回值与隐含返回值 0x 02 return 语句位置与多条 return 语句 0x 03 返回值类型 0x 04 函数嵌套 0x 0 ...
- python——函数
python--函数 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是如何编程的方法论.而如今,一种更为古老的编程方式:函数式编 ...
- 理解Python闭包概念
闭包并不只是一个python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...
- Python函数属性和PyCodeObject
函数属性 python中的函数是一种对象,它有属于对象的属性.除此之外,函数还可以自定义自己的属性.注意,属性是和对象相关的,和作用域无关. 自定义属性 自定义函数自己的属性方式很简单.假设函数名称为 ...
- 《转》Python学习(17)-python函数基础部分
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
随机推荐
- 如何将rabbitmq集群中的某个节点移除.
首先将要移除的节点停机. root@rabbitmq-03:~# rabbitmqctl stop Stopping and halting node 'rabbit@rabbitmq-03' ... ...
- Tomcat无法启动解决办法
[2014-04-12 12:34:39] [error] [ 1080] 操作系统找不到已输入的环境选项. [2014-04-12 12:34:39] [error] [ 1052] Failed ...
- [atARC127F]±AB
(为了方便,以下除$V$外都改为小写字母) 结论1:若$a+b\le m+1$,则答案为$m+1$(即任意$x$都可以被得到) 任取$y\in [0,m]$,由$\gcd(a,b)=1$存在$y-V= ...
- PaintHouse I
ColorCostDP.hpp // // Created by Administrator on 2021/7/21. // #ifndef C__TEST01_COLORCOSTDP_HPP #d ...
- idea文件多行显示
将红色部分取消勾选
- Codeforces 1149C - Tree Generator™(线段树+转化+标记维护)
Codeforces 题目传送门 & 洛谷题目传送门 首先考虑这个所谓的"括号树"与直径的本质是什么.考虑括号树上两点 \(x,y\),我们不妨用一个"DFS&q ...
- 【GS模型】全基因组选择之rrBLUP
目录 1. 理论 2. 实操 2.1 rrBLUP包简介 2.2 实操 3. 补充说明 关于模型 关于交叉验证 参考资料 1. 理论 rrBLUP是基因组选择最常用的模型之一,也是间接法模型的代表.回 ...
- 多线程高级篇1 — JUC — 只弄到处理高并发集合问题
1.线程池 1.1).什么是线程池? 池( pool ),就是一个容器,所以线程池就是把多个线程对象放到一个容器中 1.2).如何创建线程池? 先来了解几个常识 Executor -- 这是一个接口( ...
- MySQL全面瓦解29:使用Partition功能实现水平分区
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括了 垂直拆分(Scale Up 纵向扩展)和 水平拆分(Scale Out 横向扩展) ,同时简要整理了水平分区的几种策略,现在来回顾一下. ...
- 开发安卓记账本-HelloAndroid的完成
这个寒假要完成一个家庭记账本软件的开发,今天完成了Android Studio的安装与第一个安卓应用的运行(HelloAndroid) 下图是效果: 1.Android Studio的安装 可直接百度 ...