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 ...
随机推荐
- nyoj 773-开方数 (pow)
773-开方数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:3 提交数:8 难度:3 题目描述: 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方. 输入描述: 每组数 ...
- (三)初识NumPy(数据CSV文件存取和多维数据的存取)
本章主要介绍的是数据的CSV文件存取和多维数据的存取. 一.数据的CSV文件存取 1.CSV的写文件: np.savetxt(frame, array, fmt='%.18e', delimiter= ...
- 前端与算法 leetcode 8. 字符串转换整数 (atoi)
目录 # 前端与算法 leetcode 8. 字符串转换整数 (atoi) 题目描述 概要 提示 解析 解法一:正则 解法二:api 解法二:手搓一个api 算法 传入测试用例的运行结果 执行结果 G ...
- 领扣(LeetCode)有效的括号 个人题解
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- PostGIS 爆管分析之根据爆点找出所有影响阀门
环境: Win10 ArcMap10.4(用于数据处理) postgresql9.4 postgis2.2.3 pgRouting2.3(postgresql插件) 说明: 做爆管分析的第一步,需要先 ...
- 读取FANUC进给倍率
读取FANUC机床的倍率信息需要用到 FOCAS链接库. 根据FANUC的连接手册可以知道,进给倍率信号存在 Gn012寄存器中.在机床上更改倍率开关,发现G0012寄存器值变化,经验证G0012就是 ...
- beta week 2/2 Scrum立会报告+燃尽图 01
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9954 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩昊 ...
- Vue——watch监听对象,监听嵌套多次的对象属性
首先是watch 然后是methods
- 02 jQuery中的事件、动画、复合函数
jQuery中的事件 在JavaScript中,常用的基础事件有鼠标事件.键盘事件.window事件.表单事件.事件绑定和处理函数的语法格式如下 语法q 事件名 = "函数名()" ...
- 程序员的进阶课-架构师之路(13)-B-树
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...