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 ...
随机推荐
- ES6入门十二:Module(模块化)
webpack4打包配置babel7转码ES6 Module语法与API的使用 import() Module加载实现原理 Commonjs规范的模块与ES6模块的差异 ES6模块与Nodejs模块相 ...
- 通过django 速成 blog
1. 创建项目 33进入在python目录下的scripts文件后执行 django-admin.py startproject mysite 这样就生成了名为mysite ...
- CSS RESET —— 浏览器样式重置
CSS Reset 1. CSS Reset为什么存在? 只要您的客户存在使用不同浏览器(ie,firefox,chrome等)的可能,那你就不得不从完美的理想状态回到现实,因为不同核心的浏览器对CS ...
- 初探three.js
相信大多数选择前端的小伙伴都有一个设计师的梦,今天我来说一说three.js.three.js是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质等各种对象.学习了 ...
- 🙈羞,Spring Bean 初始化/销毁竟然有这么多姿势
文章来源:http://1t.click/bfHN 一.前言 日常开发过程有时需要在应用启动之后加载某些资源,或者在应用关闭之前释放资源.Spring 框架提供相关功能,围绕 Spring Bean ...
- PHP数组具有的特性有哪些
PHP 的数组是一种非常强大灵活的数据类型.以下是PHP数组具有的一些特性: 1.可以使用数字或字符串作为数组键值 1 $arr = [1 => 'ok', 'one' => 'hello ...
- 单核苷酸多态性SNP(single nucleotide polymorphism)
定义 主要指基因组水平上由单个核苷酸的变异所引起的 DNA 序列多态性. 在基因组水平上由单个核苷酸的变异所引起的DNA序列多态性.即:在不同个体的同一条染色体或同一位点的核苷酸序列中,绝大多数核苷酸 ...
- 关于jsp页面的复选框(checkbox)取值的获取问题
复选框的取值问题可以使用js和jQuery来获取: jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素 ...
- 浅析vue混入(mixin)
vue中的混入,可以在一定程度上提高代码的复用性.通俗来说,混入类似于“继承”,当前组件对象继承于组件对象,一般情况下遵循“就近原则”.但是与继承不同的是,继承一般都跟随着属性的重写与合并,混入在不同 ...
- pikachu 暴力破解
一 暴力破解 1.基于表单的暴力破解 先随意测试root/root登录,用Burp抓包,丢进Intruder 添加username和password两个参数变量,攻击类型选择Clusterbomb 有 ...