初学python之路-day10
基础部分先告一段落,今天开始学习函数。
一、函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数
-- 现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名
=> 通过名字就可以找到工具 => 使用工具来解决问题
# 函数的优点: # 1. 避免代码的冗余 # 2. 让程序代码结构更加清晰 # 3. 让代码具有复用性,便于维护
函数的四部分: 1. 函数名:使用该函数的依据 2. 函数体:完成功能的代码块 3. 返回值:功能完成的反馈结果 4. 参数:完成功能需要的条件信息
# 函数的定义语法: # def:定义函数的关键字 # 函数名:该工具的名字,后期就是通过工具的名字使用工具 # 参数列表:使用工具需要提供一些参数 # 函数体:解决问题的过程逻辑 # 返回值:告诉外界功能执行的结果
# 使用函数: # 1.根据需求定义函数 # 2.通过函数名找到函数所在的位置(内存地址) # 3.函数名() 执行函数地址中存放的所有代码块 # -- 函数在定义时需要外界的参数,就要在调用时传入对应的参数 # 4.函数执行完一定有返回结果,通过return关键字将结果返回给外界 # -- 外界需要知道执行结果,用变量接收,反之只执行函数(不需要接收)即可# 注:函数必须先定义,后使用# 函数的四部分都可以根据需求的变化而变化
二、函数的分类
# 1.根据函数体分类 # 空函数: pass来填充函数体的函数 # -- 优先明确函数名,暂不明确函数体(编程中就存在一些没有函数体的函数) def login(): pass # 在开发初期,可以讲所有功能提前列出来,用pass占位着,后期再去填充功能体# 非空函数:有函数体的函数 def fn2():print('函数体')
# 2.根据函数参数分类 def add():print('功能体不需要外界的参数')n1 = input('n1: ')n2 = input('n2: ')print(n1 + n2)# 有参函数 def add_two(n1, n2):print('功能体需要外界的参数')print(n1 + n2)
# 3.根据函数返回值分类:所有的函数都有返回值 # 不明确返回值 def low_two(n1, n2):# 外部不需要知道内部的执行结果print(n1 - n2)# 明确返回值 def jump_two(n1, n2):# 外部需要知道内部的执行结果return n1 * n2 res = jump_two(10, 20) print(res)
三、函数的返回值
# 重点:函数名() # 1)拿到函数地址 => 2)加()执行函数体 => 3)得到函数的执行结果# 重点: 返回值的功能 # 1.结束函数;2.将函数的内部数据返回给外部
# 应用场景 # 1.不明确return关键词的函数:系统在函数最末尾自动添加了return,返回的是None def fn1():print('普通的函数执行')res = fn1() # 一般不需要对这样的函数进行接收执行结果 print(res)
# 2.明确空return关键词的函数:为了结束函数而return def print_msg():while True:msg = input("msg: ")if msg == 'q':# breakreturn # 在特定的位置需要直接结束函数,但不需要告诉外界某个结果,用空return处理print(msg)print(msg) # 在break下可以被执行,在return下不能被执行 res = print_msg() print(res)
# 3.有明确的返回值需求的函数: # -- python中的函数本质上只能返回一个值, # -- 值跟在return关键词后 # -- 可以通过语法上返回多个值,值之间用逗号隔开,但是本质上返回装有多个值的元组 # 一个值 def get_num():num = input('num: ')return num print(get_num())# 多个值 def get_two_num():n1 = input('n1: ')n2 = input('n2: ')return n1, n2# return (n1, n2) # print(get_two_num()) num1, num2 = get_two_num() # python的return支持多值返回的语法原因是python中有解压赋值 print(num1, num2)
注: # 当用一个值接收函数的返回值,一定没有问题 # -- 函数返回一个接收一个;函数返回多个,接收装有多个值得元组 # 当用多个值接收函数的返回值,采用的是解压赋值的机制,返回值的个数一定要与接收值得个数相同
转载于:https://www.cnblogs.com/wangwei5979/p/10765018.html
初学python之路-day10相关推荐
- 初学python之路-day18
time时间模块 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs]) ...
- 初学python之路-day20
logging模块 # 日志:日常的流水 => 日志文件,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中 # 在正常的项目中,项目运行的一些打印信息,采用looging打印到文件 ...
- 初学python之路-day04
每天一篇总结,今天学习的是有关于流程控制的知识. 流程控制,顾名思义,在计算机运行中,程序是被某种控制方式按照某种流程或者规律来执行的.而python程序的运行,肯定也是按照某种规律在执行.这些规律可 ...
- 初学python之路-day15
一.生成器send方法 # send的工作原理 # 1.send发送信息给当前停止的yield # 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止 # 案例: ...
- 初学python之路-day11
一.函数的参数:实参与形参 # 参数介绍: # 函数为什么要有参数:因为内部的函数体需要外部的数据 # 怎么定义函数的参数:在定义函数阶段,函数名后面()中来定义函数的参数 # 怎么使用函数的参数:在 ...
- python之路——模块和包
一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用Python编 ...
- python 之路,Day11 (下)- sqlalchemy ORM
python 之路,Day11 - sqlalchemy ORM 本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 ...
- Python之路【第五篇】:面向对象及相关
Python之路[第五篇]:面向对象及相关 Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance ...
- 初学python的30个操作难点汇总(入门篇)希望对你有帮助
初学Python的人总会遇到这样或者那样的问题,在我学习Python的这段时间我总结了自己的29个问题,具体如下: 1 在cmd下 盘与盘之间的切换 直接 D或d: 就好 2 查找当前盘或者文件下面的 ...
最新文章
- HDU1040简单排序题
- iOS学习资源(一)
- 如何编辑UG中打开文件的历史记录信息(history.pax)?
- 【使用注意】Jsoup的select方法
- C语言程序的错误和警告
- 演练 创建数据库MySchool 1007 sqlserver
- setInterval,setTimeout,clearInterval
- 闭包,作用域链,垃圾回收,内存泄露
- Python环境搭建之OpenCV(转载)
- java实现Beta函数
- 软件评测师该如何自学?如何指定计划?
- win10出现的异常解决
- 大牛给计算机专业学生的 7 个建议
- 大厂字节程序员薪资曝光:排行世界第五厉害了
- 形式化方法-- petri net
- 网络层的拥塞控制与服务质量
- 南大和中科大计算机哪个好,南京大学和中国科技大学哪个更好?
- oracle如何设置连接数,关于Oracle连接数设置
- 透明质酸/氧化石墨烯/聚丙烯酰胺复合水凝胶/透明质酸/βTCP复合水凝胶研究制备
- 云帆文档管理系统版本更新说明:v4.6.0
热门文章
- 武汉.NET俱乐部论坛已经恢复
- 用python怎样做学生管理系统用类的形式-Python配置管理的几种方式
- python列表按照指定顺序排序-Python3实现对列表按元组指定列进行排序的方法分析...
- 微软400集python课程-最强福利——来自微软的Python学习教程(开发指南)
- python和c学习-学习 Python与C相互调用
- python推荐系统-利用python构建一个简单的推荐系统
- python 科学计算基础教程电子版-终于领会python科学计算入门教程
- python好学嘛-python语言好学吗
- python项目归纳总结-python excel常用方法归纳总结
- python画散点图类型-绘制python中的线和散点图