delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数
Python函数 function
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。以下Python基础函数笔记:
pycharm快捷键
Ctrl + P 参数信息(在方法中调用参数)
Ctrl + Q 快速查看文档
Ctrl + Alt + M 提取方法
定义
用于封装一个特定的功能,表示一个功能或者行为。
函数是可以重复执行的语句块, 可以重复调用。
作用
提高代码的可重用性和可维护性(代码层次结构更清晰)。
定义函数
语法:
def 函数名(形式参数):
函数体
说明:
def 关键字:全称是define,意为”定义”。
函数名:对函数体中语句的描述,规则与变量名相同。
形式参数:方法定义者要求调用者提供的信息。
函数体:完成该功能的语句。
函数的第一行语句建议使用文档字符串描述函数的功能与参数。
调用函数
语法:函数名(实际参数)
说明:根据形参传递内容。
返回值
定义:
方法定义者告诉调用者的结果。
语法:
return 数据
说明:
return后没有语句,相当于返回 None。
函数体没有return,相当于返回None。
可变/不可变类型在传参时的区别
不可变类型参数有:
数值型(整数,浮点数)
布尔值bool
None 空值
字符串str
元组tuple
可变类型参数有:
列表 list
字典 dict
集合 set
传参说明:
不可变类型的数据传参时,函数内部不会改变原数据的值。
可变类型的数据传参时,函数内部可以改变原数据。
函数参数
实参传递方式argument
位置传参
定义:实参与形参的位置依次对应。
序列传参
定义:实参用*将序列拆解后与形参的位置依次对应。
关键字传参
定义:实参根据形参的名字进行对应。
字典关键字传参
定义:实参用**将字典拆解后与形参的名字进行对应。
作用:配合形参的缺省参数,可以使调用者随意传参。
形参定义方式parameter
缺省形参
语法:
def 函数名(形参名1=默认实参1, 形参名2=默认实参2, ...):
函数体
说明:
缺省参数必须自右至左依次存在,如果一个参数有缺省参数,则其右侧的所有参数都必须有缺省参数。
缺省参数可以有0个或多个,甚至全部都有缺省参数。
位置形参
语法:
def 函数名(形参名1, 形参名2, ...):
函数体
命名关键字形参
语法:
def 函数名(*args, 命名关键字形参1, 命名关键字形参2, ...): 函数体
def 函数名(*, 命名关键字形参1, 命名关键字形参2, ...):
函数体
作用:
强制实参使用关键字传参
不定长形参
星号元组形参
语法:
def 函数名(*元组形参名):
函数体
作用:
可以将多个位置实参合并为一个元组
说明:
一般命名为'args'
形参列表中最多只能有一个
双星号字典形参
语法:
def 函数名(**字典形参名):
函数体
作用:
可以将多个关键字实参合并为一个字典
说明:
一般命名为'kwargs'
形参列表中最多只能有一个
参数自左至右的顺序
位置形参 --> 星号元组形参 --> 命名关键字形参 --> 双星号字典形参
作用域LEGB
作用域:变量起作用的范围。
Local局部作用域:函数内部。
Enclosing 外部嵌套作用域 :函数嵌套。
Global全局作用域:模块(.py文件)内部。
Builtin内置模块作用域:builtins.py文件。
变量名的查找规则
由内到外:L -> E -> G -> B
在访问变量时,先查找本地变量,然后是包裹此函数外部的函数内部的变量,之后是全局变量,最后是内置变量。
局部变量
定义在函数内部的变量(形参也是局部变量)
只能在函数内部使用
调用函数时才被创建,函数结束后自动销毁
全局变量
定义在函数外部,模块内部的变量。
在整个模块(py文件)范围内访问(但函数内不能将其直接赋值)。
global 语句
作用:
在函数内部修改全局变量。
在函数内部定义全局变量(全局声明)。
语法:
global 变量1, 变量2, …
说明
在函数内直接为全局变量赋值,视为创建新的局部变量。
不能先声明局部的变量,再用global声明为全局变量。
nonlocal 语句
作用:
在内层函数修改外层嵌套函数内的变量
语法
nonlocal 变量名1,变量名2, ...
说明
在被嵌套的内函数中进行使用
delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数相关推荐
- python 传参之后 显示缺失参数_Python中的参数传递问题
首先需要说明python中元组,列表,字典的区别. 列表: 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单. 例如:lst = ['arwen',123] 向list中添加项有两种方法:ap ...
- C++ 传参时传内置类型时用传值(pass by value)方式效率较高
来源:唐磊的个人博客<C++ 传参时传内置类型时用传值(pass by value)方式效率较高> 在<Effective C++>里提到对内置(C-like)类型在函数传参时 ...
- 尚硅谷VUE项目-前端项目问题总结07--产品详情页【vuex-排他操作foreach-放大镜-轮播图-兄弟组件通信$bus-购物车-路由跳转传参-路由传参+会话存储】-游客身份-节流
尚硅谷VUE项目-前端项目问题总结07---产品详情页 1.静态组件(详情页还未注册为路由组件) 2.发请求 3.vuex-获取产品详情信息 3.1放大镜 3.2 属性值[排他操作] 3.3轮播图[j ...
- Vue路由传参及传参后刷新导致参数消失处理
参考:https://blog.csdn.net/qq_43103581/article/details/82260073(vue 路由传递参数,刷新页面后参数丢失) 项目功能需要,要从列表页跳转到第 ...
- vue动态路由传参---query传参和params传参
当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...
- html页面url中文传值乱码,URL传参时,中文参数乱码的解决方法
URL传参时,中文参数乱码的解决: 今天在工作中遇到了这样的一个问题,在页面之间跳转时,我将中文的参数放入到url中,使用location进行跳转传参,但是发现接收到的参数值是乱码.我的代码是这样写的 ...
- 母子页的iframe传参跳转,参数需要编码
背景: 我的项目是一个正常html嵌套了一个iframe, 项目需要传参后,改变iframe的src属性值,实现显示不同的页面 说明: 再不传值的时候显示是这样的 传值后显示所传值的页面 例如页面值是 ...
- vue页面传参(多个参数传值)与接参 - 代码篇
index.js路由规则设定: /searchResult/syyName=:syyName 发送页面: //传参页面 this.$router.push({name: 'SearchResult', ...
- mysql数据库逆心_数据库系统基础笔记(7)--函数
逆心 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点 ...
最新文章
- 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate...
- 单目图像深度估计 - 泛化篇:S2R-DepthNet
- java实体外键_如何在JPA中添加用户实体和好友关系实体的外键
- 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63
- 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 互联网人,天生就是送外卖的料!
- ansible(4)——配置文件及以对面某个用户来登录
- 走近webpack(3)--图片的处理
- 遇见未来 | 软件定义数据中心:人类文明运行在软件之上
- teablue数据分析_基于大数据分析的茶叶质量评估
- clion jiqiao
- Python:matplotlib绘制条形图
- java 封装返回json数据
- sql 安装程序文件_【病毒文件分析】MedusaLocker勒索病毒,小心全网被加密
- 使用lombok时可以自定义get、set方法
- Mobileye上演IPO生死时速
- 机器学习(6)——凸优化理论(一)
- java 中国标准时间_JAVA 转Wed Oct 05 2016 00:00:00 GMT+0800 (中国标准时间)
- ZigBee无线通信--BasicRF无线点对点通信
- cg of spears storm_Steam 上的 Storm Of Spears RPG
热门文章
- Android之最好理解的Binder机制
- Android之系统服务-WindowManager
- 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照
- java剪切txt文件_用Java把剪切板的内容实时保存到txt
- python中sendkeys.sendkeys_python的webbrowser模块和SendKeys模块
- 陪孩子看完这几部高分纪录片,胜过出国亲子游!
- python求导函数的值_python怎么实现函数求导
- java什么是静态_什么是java静态
- robcad和catia是什么关系_proe/CATIA/UG/SolidWorks软件区别与联系
- 如何动态的生成某种类型的集合呢_知乎画报」的移动端动态化工程实践