python——函数的基本概念
Python函数认识
数学定义
- y = f(x), y是x的函数,x是自变量。
python中的函数组成
- 由若干语句组成的语句块、函数名称、参数列表构成,函数是组织代码的最小单元
- 像一个黑盒子,我们给它数据,它可以为我们完成一定的功能
函数的作用
- 在结构化编程中,函数是对代码的最基本封装,一般都是按照功能组织一段代码
- 封装的目的是为了造各种黑盒子,可以重复使用,减少冗余代码
- 在整体的程序中代码更加地简洁美观、可读易懂
函数的分类
- 内建函数; 例如max()、 reversed()等函数
- 库函数; 例如math.ceil()等
- 自定义函数; 通过def关键字进行定义
python函数的定义
通过def关键字进行定义,如下:
def 函数名(参数列表):
函数体(代码块)
[return [返回值]] # 中括号代表可省略的东西
代码解读:
1. 函数名就是标识符, 命名要求和变量的命名要求相同,如不懂,可参考本人博客文章
2. 语句块必须缩进,缩进4个空格
3. 上面代码中如果没有return 返回值这一句,会默认自动返回None,如果是有return没有返回值,也会默认返回None
4. 定义中的参数列表称为形式参数,只是一种符号表达式(标识符),简称形参
Python函数的调用
上面的函数定义,只是声明了一个函数,它不会被执行,需要调用才会执行
调用方式:
- 在函数名后面加上小括号,如果有必要在括号内传入参数,传参方式可以参考本人博客文章
- 调用时写的参数是实际参数,是实实在在传入的值,简称实参
def fac(x, y): # fac是函数名, x, y是形式参数,简称形参
result = x * y # 代码块,函数体
return result # 返回值
final = fac(4, 5) # 这里就是函数调用,函数计算完成后,把返回值赋值给final变量
print(final) # 其实这里也是调用print函数,print函数的作用是把我们传入的final参数打印到屏幕上
代码解读:
定义时:
- 定义了一个函数,函数名是fac,能接受2个参数
- 该函数计算的结果会作为return的返回值返回
调用时: - 用函数名fac后面加一个括号和两个参数进行调用,等号右边函数进行计算,计算结果通过return返回,赋值给变量final
- 定义函数要在调用之前,就像使用变量一样,使用时肯定已经定义过了
- 函数是可调用对象,可以用内建函数callable()进行测试
如果需要了解函数参数,可参考本人博客文章
python——函数的基本概念的更多相关文章
- Python函数-闭包的概念
一个函数和它的环境变量合在一起,就构成了一个闭包(closure).在Python中,所谓的闭包是一个包含有环境变量取值的函数对象.环境变量取值被保存在函数对象的__closure__属性中.比如下面 ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- python函数的参数传递问题---传值还是传引用?
摘要:在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象.不可更改对象的传递属于传值,可更改对象属于传引用.想要在函数中传递 ...
- Python学习:基本概念
Python学习:基本概念 一,python的特点: 1,python应用场景多;爬虫,网站,数据挖掘,可视化演示. 2,python运行速度慢,但如果CPU够强,这差距并不明显. 3,严格的缩进式编 ...
- python函数(3):装饰器
昨天学了很多函数方面的概念和知识其中有一个闭包的函数.很多人都对闭包的作用不是很清楚,今天我们就来认识一个新的知识点装饰器.它就是闭包函数的一个经典应用. 预习: 编写装饰器,为多个函数加上认证的功能 ...
- Python 函数返回值
本章详细介绍 返回值: 0x 00 返回值简介 0x 01 指定返回值与隐含返回值 0x 02 return 语句位置与多条 return 语句 0x 03 返回值类型 0x 04 函数嵌套 0x 0 ...
- python——函数
python--函数 1.介绍: 在过去的十年间,大家广为熟知的编程方法无非两种:面向对象和面向过程,其实,无论哪种,都是一种编程的规范或者是如何编程的方法论.而如今,一种更为古老的编程方式:函数式编 ...
- Python函数属性和PyCodeObject
函数属性 python中的函数是一种对象,它有属于对象的属性.除此之外,函数还可以自定义自己的属性.注意,属性是和对象相关的,和作用域无关. 自定义属性 自定义函数自己的属性方式很简单.假设函数名称为 ...
- python面向对象编程 -- 基本概念
面向对象的编程简要概括就是将要处理的问题抽象为数据和操作的集合,用类对其进行封装.其中数据和操作都称为类的属性,它们是一般是不变的. 对类进行实例化生成我们所说的对象,对象有自己的属性.对象的属性一般 ...
随机推荐
- vue3.0的安装使用
关于旧版本 Vue CLI 的包名称由 vue-cli 改成了 @vue/cli. 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vu ...
- InfluxDB从原理到实战 - InfluxDB常用的基础操作
0x00 基础操作介绍 在本文中将介绍InfluxDB常用的基础操作,帮助读者建立对InfluxDB的感性认识,快速的动手玩起来,持续查询(Continuous Queies).Group by.Se ...
- 模拟telnet协议C语言客户端程序
首先要了解telnet协议,一下两篇blog给了我初步的思路 https://www.cnblogs.com/liang-ling/p/5833489.html 这篇有比较基础的介绍 以及IAC命令含 ...
- Linxu下Yii2的POST请求被拒经历
Linxu下Yii2的POST提交被拒经历 介于对Yii2的使用,浅谈一下自己的经验,在以往的项目中我使用的框架是Yii1,由于Yii2的出现,所以极力的想使用一下它的新特性. 我的使用环境Linux ...
- Ubuntu Qt5.13 无法输入中文和中文显示乱码问题
无法输入中文: sudo apt-get install libfcitx-qt5-dev cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminput ...
- nginx::升级到最新nginx
ubuntu16. 升级nginx到最新版本 wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.k ...
- MFC连接Sqlserver
下载 ado2.h和ado2.cpp文件 在VC++ 目录-->包含目录 -->添加 msado15.dll, msjro.dll 目录. // TODO: 连接sqlserver, 在 ...
- Ubuntu16.04搭建boost环境
下载地址:http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download 编译前所需的库 ...
- Redis 到底是怎么实现“附近的人”这个功能的?
前言:针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG.MySQL和MongoDB等多种DB的空间索引进行实现.而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空 ...
- Bugku SQL注入2的思考
网络安全初学者,欢迎评论交流学习,若内容中有错误欢迎各位指正. 题目地址:http://123.206.87.240:8007/web2/ 题目提示:都过滤了绝望吗?,提示 !,!=,=,+,-,^, ...