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 ...
随机推荐
- [springboot 开发单体web shop] 8. 商品详情&评价展示
上文回顾 上节 我们实现了根据搜索关键词查询商品列表和根据商品分类查询,并且使用到了mybatis-pagehelper插件,讲解了如何使用插件来帮助我们快速实现分页数据查询.本文我们将继续开发商品详 ...
- Windows使用Java执行cmd代码
话不多说,直入正题 今天给大家分享下,怎么在Windows上使用Java执行Cmd代码! 首先默认大家都熟悉cmd代码,以及cmd的命令行操作. 直接在main方法中写这一行(需要抛出异常),可以直接 ...
- GentOS 7 安装步骤
附上原作者的博客网址: https://blog.csdn.net/qq_42570879/article/details/82853708 1.CentOS下载CentOS是免费版,推荐在官网上直接 ...
- ProxySQL读写分离代理
实现ProxySQL反向代理Mysql读写分离 简介 ProxySQL相当于小型的数据库,在磁盘上有存放数据库的目录:ProxySQL用法和mysql相似 启动ProxySQL后会有两个监听端口: 6 ...
- Cygwin安装教程
cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件. 它对于学习unix/linux操作环境,或者从unix到windows的应用程序 ...
- IDEA连接Redis
1.创建一个Maven项目 2.在src下的pom.xml文件里,添加相关包引用 <?xml version="1.0" encoding="UTF-8" ...
- 【Luogu P3379】LCA问题的倍增解法
Luogu P3379 题意:对于两个节点,寻找他们的最近公共祖先. 一个显而易见的解法是对于每一个节点我们都往上遍历一遍,记录下它每一个祖先,然后再从另一个节点出发,一步一步往上走,找到以前记录过第 ...
- vue当文字很多的时候实现...代替
vue当文字很多的时候实现...代替只需加三行代码 overflow: hiddenwhite-space: nowraptext-overflow: ellipsis
- Requests小技巧
- 获取Zabbix 中资源的使用率
import pymysql as MySQLdb import time import datetime import xlsxwriter # zabbix数据库信息: zdbhost = 'xx ...