Day 09 函数
函数
函数的基本概念
函数: 函数就是具备某一功能的工具
定义函数: 事先准备工具的阶段就是函数的定义
调用函数: 遇到应用场景拿来就用就是函数的调用
为何使用函数
- 程序冗长
- 程序的扩展性差
- 程序的可读性差
定义函数
什么是参数(形参,parameter)
定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名
定义函数的三种形式
无参函数
# 函数括号内没有参数
def func():
print('无参函数')
有参函数
# x, y即为函数的参数
def sum(x, y):
res = x + y
print(res)
空函数
# 空函数没有任何功能
def func():
pass
函数的参数
形参和实参(parameter & argument)
# 形参: 定义函数时候括号内设置的参数, x, y即为形参 (变量名)
def sum(x, y):
res = x + y
print(res)
# 实参: 函数调用时传入的具体的值, 1, 2即为实参 (变量值)
sum(1, 2)
位置参数
# 位置形参: 定义函数阶段,按照从左到右的顺序依次定义的形参,称之为位置形参
def sum(x, y):
res = x + y
print(res)
# 位置实参: 调用函数阶段,按照从左到右的顺序依次传入的实参,称之为位置实参
sum(1, 2)
# 注意: 实参按照位置为对应的形参依次传值,且每个形参,都必须被传值,多一个不行,少一个也不行
默认形参
# 参数在定义阶段,就已经被赋值
def sum(x, y = 2):
res = x + y
print(res)
# 注意: 1.默认参数必须在位置参数的后面
# 2.默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定
关键字实参
def sum(x, y):
res = x + y
print(res)
# 在函数调用阶段, 按照key = value的形式为函数传值
sum(x = 1, y = 2)
# 特点: 可以打破位置的限制,任能对制定的形参传值
# 注意: 1.可以和位置实参混用,但关键字实参必须在位置实参后面 sum(1, y = 2)
# 2.可以和位置实参混用, 但同一个形参不能被多次传值 sum(1, x = 1)(报错)
Day 09 函数的更多相关文章
- JavaScript学习09 函数本质及Function对象深入探索
JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...
- Day 09 函数基础
函数初级 简介 # 函数是一系列代码的集合,用来完成某项特定的功能 优点 '''1. 避免代码的冗余2. 让程序代码结构更加清晰3. 让代码具有复用性,便于维护''' 函数四部分 '''1. 函数名: ...
- day 09 函数的进阶
01 动态参数 *args **kwargs 在函数的定义时,* ** 代表聚合. def func(**kwargs): print(kwargs) func(**{"name" ...
- python 基础篇 09 函数初识
<<<<<<<<<<<<<<<------------------------------函 ...
- python day - 09 函数
函数 1.函数的定义,引用. 定义:函数是对功能和代码块的封装和定义. 函数用 def关键字来表示. 格式: def 函数名(): 函数体 eg: return(返回值) 在函数中遇到return ...
- python 09 函数
目录 函数初识 1. 函数定义: 2. 函数调用: 3. 函数的返回值: 4. () 4.1 位置传参: 4.2 关键字传参: 4.3 混合传参: 函数初识 1. 函数定义: def 函数名(): 函 ...
- C++学习笔记:09 函数模板与类模板
课程<C++语言程序设计进阶>清华大学 郑莉老师) 引入 考虑一个求绝对值函数myabs,对于int,double,float等数据类型需要重载多次,编写多个函数体.函数体逻辑代码完全一致 ...
- [函数] Firemonkey Windows 重新计算 Font Baseline
计算字型 Baseline 是一个不常用的函数,但如果想要显示不同大小文字下方对齐,就得用它来计算字型的 Baseline 才行,如果计算不准,显示的文字就会高高低低不整齐. 在 Firemonkey ...
- python全栈开发 * 09知识点汇总 * 1806011
09 函数初识一 函数的的定义# 函数: 对代码块和功能的封装和定义# 引入 回家过程 未用函数# print("步行")# print("坐地铁")# pri ...
随机推荐
- hdu 1233 还是畅通工程 (prim, kruskal)
还是畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- nyoj 115-城市平乱 (BFS)
115-城市平乱 内存限制:64MB 时间限制:1000ms 特判: No 通过数:5 提交数:8 难度:4 题目描述: 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维 ...
- nyoj 455-黑色帽子
455-黑色帽子 内存限制:64MB 时间限制:1000ms 特判: No 通过数:4 提交数:7 难度:1 题目描述: 最近发现了一个搞笑的游戏,不过目前还没玩过.一个舞会上,每个人 ...
- 【前端知识体系-CSS相关】CSS特效实现之Transition和Transform对比
CSS效果 1.使用div绘制图形(三角形)? <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 领扣(LeetCode)翻转二叉树 个人题解
翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注:这个问题是受到 Max Howell的 原问题 ...
- linux目录数
FHS Filesystem Hierarchy Standard(文件系统层次化标准,[ˈhaɪərɑ:rki] 等级制度)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系 ...
- Previous operation has not finished; run 'cleanup' if it was interrupted最简单有效的解决方法
今天提交代码报错,看了看提示的错误,百度了一下,发现操作都比较繁琐,所以自己重新给一个最简单有效的. 有的要下载sqlite3.exe,借助它清空本地.svn\wc.db数据库文件里面的operati ...
- 原创|我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)
原始冲动 最近一直在学习 Electron 开发桌面应用程序,目的是想做一个桌面编辑器,虽然一直在使用Typore这款神器,但无奈Typore太过国际化,在国内水土不服,无法满足我的一些需求. 比如实 ...
- GeoServer 安装教程
准备内容 安装环境:win10*64位专业版 安装文件:geoserver-2.15.2 安装步骤 安装JDK 1.安装GeoServer是基于Java的环境,所以需要先装Jdk环境. 2.前往官网下 ...
- PostGIS 使用Mysql_fdw同步ArcGIS填坑记录
##实现Mysql_fdw数据同步过程中,出现过很多坑,开此贴记录一下 1.触发器记录 这里insert的时候,采用过insert into f_pressureline select new.*,出 ...