python函数名的语法_Python 基础语法六 ——函数
一个程序可以按不同的功能实现拆分成不同的模块,而函数就是能实现某一部分功能的代码块。
1、函数的概述
定义:在Python中,定义个函数要使用 def 语句,一次写出函数名、括号、括号中的参数和冒号(:),然后在缩进块中编写函数体,函数的返回值用return 语句返回。
def area_of_square(x):
s = x*x
return s
def area_of_square(x):
s = x*x
return s
2、全局变量
定义:在函数外面定义的变量称为全局变量。
作用域:整个代码段(文件、模块),在整个程序代码中都能被访问到。在函数内部可以去访问全局变量。
但不要在函数内部去修改全局变量,否则会得不到想要的结果;因为在函数内部试图去修改一个全局变量是,系统会自动创建一个新的同名局部变量去代替全局变量,采用屏蔽(Shadowing)的方式,当函数调用结束后函数的栈空间会被释放,数据也会随之释放。
如果要在函数内部去修改全局变量的值,并使之在整个程序生效,采用关键字global 即可。
3、局部变量
定义:在函数内部定义的参数和变量称为局部变量
作用域:仅在函数内部。
4、函数的参数
定义:函数的参数就是使得函数个性化的一个实例。
作用:函数有了参数后,输出结果变得可变了;多个参数用逗号 “,” 隔开即可。
4.1 参数传递方式:
在Python中,将函数参数分为三类:位置参数、可变参数、关键字参数。
位置参数:直接传入参数数据即可,如果有多个参数,位置先后顺序不能改变。
定义: 传入参数值按照位置顺序依次赋给参数,这样的参数称为位置参数
可变参数:法一:直接传入参数值
法二:先封装成列表(list)或元组(tuple),再封装后的列表或元组前面添加一个星号 “ * ” 传入。
定义:在定义函数参数的时候,不知道究竟需要多少个参数的时候,只有在参数前面加上星号 “ * ” 即可,这样的参数称为可变参数(又称为收集参数)。
关键字参数:法一:直接传入参数值
法二:先封装成字典(dict),再封装后的字典前面添加两个星号 “ ** ” 传入。 定义:直接给参数赋值,就不会因为顺序不同,导致结果的改变。
在函数调用的时候,通过参数指定需要赋值的参。通常我们在调用一个函数时,参数会有多个,常常会混淆参数的顺序,打不到我们希望的效果。
python引入关键字参数就可以解决这个潜在的问题。
4.2 默认值参数
定义:在定义函数时给参数赋了一个初值,这样的参数称为默认值参数。
5、函数的返回值
函数中如果没有用关键之 return 指定返回值,则返回一个“ None ” 对象。
Python是动态的确定变量类型,Python没有变量,只有名字。Python可以返回多个类型的值。
6、函数的调用
要调用一个函数,需要知道函数的名称和参数; *
函数分为自定义函数和内置函数;自定义函数需要定义再调用,有的内置函数时在特定的模块下,这是需要用 import 命令导入模块后再调用。
可以通过交互式命令help(函数名)查看函数的帮助信息。
6.1 函数嵌套调用
内部函数:函数内部创建另一个函数。内嵌函数的作用域在其内部。
6.2 使用闭包
闭包:函数式编程的一个重要的语法结构。在一个内部函数对一个外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数一分为值闭包(closure)。
注意:不能在全局域内访问闭包,否则会出错。在闭包中,外部函数的局部变量对闭包中的局部变量(相当与全局变量和局部变量的关系),在闭包中能访问外部函数的局部变量,但不能进行修改。
6.3 递归调用
递归的两个条件:调用函数自身;
设置了正确的返回条件。
Python 默认递归深度 100 层( Python 限制)。设置递归的深度系统函数是:sys.setrecursionlimit( stepcount )。参数:stepcount 设置递归的深度。
递归有危险性:消耗时间和空间,因为递归是基于弹栈和出栈操作。
递归忘掉返回使用程序崩溃,消耗掉所有的内存。
python函数名的语法_Python 基础语法六 ——函数相关推荐
- python 识别子串的位置_Python基础语法小白这一篇就足够了!
一个多星期的 Python基础语法学习结束,整理了一些常用必备的知识要点笔记.大家可以参考参考,内容比较长,知识点涉及还是蛮全面的(没面向对象),面向对象总结了以后会再单独发一篇,没有耐心的朋友可以直 ...
- python吴枫千寻的_Python基础语法习题参考(0-9关)
第0关 练习-打印皮卡丘-参考 请你使用**print()函数**和**'''**将下面的皮卡丘打印出来.皮卡丘字符画可以直接复制步骤1里的. ``` へ /| /\7 ∠_/ / │ / / │ Z ...
- python turtle基本语法_Python 基础语法-turtle篇
Python 基础语法-turtle篇 今天这节课主要讲了类的概念,并引出turtle中的函数和Turtle类. -创建一个Turtle类:brad=turtle.Turtle() -定义Turtle ...
- python判断语法_Python基础语法——代码规范判断语句循环语句
Python基础语法 代码的执行顺序 从上到下 从左到右 代码规范 模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接 不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的 ...
- python函数作用域与闭包_python基础-08-内置函数、作用域、闭包、递归
python基础-内置函数.作用域.闭包.递归 1.常见的内置函数 常见的内置函数: 查看内置函数: print(dir(__builtins__)) 常见函数 type() 数据类型 print() ...
- python deque索引超出范围_Python基础语法
学习Python的四个要素有数据,函数,条件循环和模块 一.数据 数据是Python编程过程中的原材料,通过导入数据,对数据进行操作,实现预先设想的功能.数据共有5种类型,分别是字符串.数字.容器.布 ...
- python拍7游戏代码_Python基础语法-7(小游戏)
代码太长?内容太复杂? 不用担心!往下看↓ 知道为什么python简洁,省力么? 就是因为python有很多写好的工具箱可以直接调用,我们只要开头给一个命令,在我们的代码 就可以直接使用它的功能了,这 ...
- python 字符串格式化语法_Python基础语法--字符串格式化
PS:在学习到Python的字符串格式化一些个人的总结,利用字符串格式化可以更好的对代码结果进行格式化输出 语法栗子 例子中通过接收用户输入的值,赋值给sex_input和age_input生成两个变 ...
- python 一个列表转字典_python基础语法:列表和字典
一个列表需要使用中括号[]将所有数据框起来,里面中的每一个数据叫做"元素", 使用英文逗号隔开 从列表中提取单个元素 transformers = ['擎天柱','大黄蜂','救护 ...
最新文章
- Echarts图表在VUE项目中使用动态数据源
- 配置ODBC数据源——找不到SA账户的解决
- WebService入门教程_Schema学习
- .Net应该学什么怎么学(三)
- WEB框架研究笔记六(Spring WEB)
- find之exec和args
- Windows上搭建EMQTT服务器
- tf.layers.dropout
- 算法 - KMP算法(字符串匹配)
- MySQL高级知识(十二)——全局查询日志
- [技巧心得] 嵌套选择器优先级
- metasploit学习之路(二) msfconsole基本使用
- 节假日查询接口,加班,补班,日期查询,放假,日历
- python从excel中读取数据然后随机选一个_从Python读取Excel复选框
- 屏库是个很好的网站,囊括了几乎所有型号的显示屏
- leetcode Revert Binary Tree
- Delphi Web前端开发教程(9):基于TMS WEB Core框架
- 中标麒麟桌面版7.0 u盘安装
- 深度学习系列24:开源抠图算法
- JAVA毕业设计HTML5“牧经校园疫情防控网站”设计与实现计算机源码+lw文档+系统+调试部署+数据库
热门文章
- 判断五个分数等级划分_2021年迎来新高考,你对“赋分等级”了解吗?选科注意这几点...
- mysql简单概述_MySQL入门很简单: 1 数据库概述
- c语言 listview,C语言 SDK编程之通用控件的使用--ListView
- memsql 落地mysql_MemSQL初体验 - (2)初始化测试环境
- 今日头条字节跳动抖音小程序上线前后的搜索优化配置
- android c# websocket
- Thundernet
- PyTorch开源物体检测工具包
- 卷积神经网络的“封神之路
- flask_socketio 用法: