Python【day 9】函数入门2
本节内容:
1. 什么是函数
2. 函数定义, 函数名, 函数体以及函数的调⽤
3. 函数的返回值
4. 函数的参数
一、什么是函数
我们可以先去定义一个事情或者功能(接口、服务、函数、功能). 等到需要的时候直接去用就好了.
那么这里定义的东西就是一个函数.
函数: 对功能或者动作的封装
二、函数的定义
def 函数名(形参列表):
函数体
函数体:函数被调用后,要执行的代码
函数的调用
函数名()
函数的调用执行过程
1、定义函数
2、调用函数
3、准备开始执行函数
4、执行函数体
5、函数体的代码执行完毕,本次调用完毕
问题:
函数调用后,需要得到一个结果--就是返回值(return)
三、函数的返回值
1、返回一个值
2、返回多个值(多个值之间用逗号隔开),多个值构成一个元组(调用者会接收一个元组),可以解构
3、return后面空白或者没有return,默认返回的是None
4、遇到return,其后面的代码就不会执行,函数执行会终止
函数的return就类似于for循环中的break
问题:
有啥办法,可以使用不同的聊天工具,但是又不修改源代码呢?
--有办法,传递参数来解决
四、函数的参数
1、定义函数
def 函数名(形参列表):
函数体
2、调用函数
函数名(实参列表)
概念:
- 形参:写在函数定义处的变量就是形式参数(简称-形参)
- 实参:函数调用处给出的具体值就是实际参数(简称-实参)
- 传参:函数调用过程中,把实参赋值给形参的过程就是传参
参数的分类
001 实参的分类
- 1、位置参数:按照形参的位置顺序,传入实参--最常用
- 2、关键字参数:不需要记住形参的位置顺序,只需要实参按照形参的关键字来传递即可
适用场景:形参列表比较长,形参的位置不好记忆的时候
- 3、混合参数:
规则:必须是位置参数放在前面,关键字参数放在最后(否则,会报错)
例子:open('xxx.txt',mode='r',encoding='utf-8')
002 形参的分类
- 1、位置参数:实参按照形参的位置顺序,传入--最常用
- 2、默认值参数:
规则:位置参数必须在前面,默认值参数必须在最后(否则,会报错)
例子:
register(name,age,sex='男') #定义函数(适用场景:大部分学生是男的情况下,指定默认参数 sex='男')
register('jack',18) #调用函数1,参数3不写,使用默认参数-男
register('lucy',17,'女') #调用函数2 参数3-女 覆盖了默认参数
- 3、动态参数(下节介绍 *arg,**kwargs)
Python【day 9】函数入门2的更多相关文章
- python之函数入门
python之函数入门 一. 什么是函数 二. 函数定义, 函数名, 函数体以及函数的调用 三. 函数的返回值 四. 函数的参数 五.函数名->第一类对象 六.闭包 一,什么是函数 函数: 对代 ...
- 编程入门python之定义函数【转】
编程入门python之定义函数 零基础学编程by学哥 2017-02-06 10:51 今天讲python函数. 输入参数求三角形或圆形或长方形的面积 先输入1个参数:形状类型 1=三角形 2=圆形 ...
- Python入门之 Python内置函数
Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...
- python函数入门
知识内容: 1.函数的作用 2.函数的定义与调用 3.函数的返回值 4.函数的参数 5.局部变量与全局变量 6.作用域 一.函数的作用 1.复用代码 将可能重复执行的代码封装成函数,并在需要执行的地方 ...
- Python函数(入门6)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407970.html 本文出自:[Edwin博客园] Python函数 1. Python之调用函数 pri ...
- Python——函数入门(二)
一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用 ...
- Python——函数入门(一)
一.理解函数 举一个例子,当我们需要重复使用一个功能的时候,不可能每次都去复制一次代码,这个时候就需要用到函数了,所谓的函数,简单来说就是给函数取一个名字,当需要用到这个功能的时候,就可以通过这个名字 ...
- Python黑客编程2 入门demo--zip暴力破解
Python黑客编程2 入门demo--zip暴力破解 上一篇文章,我们在Kali Linux中搭建了基本的Python开发环境,本篇文章为了拉近Python和大家的距离,我们写一个暴力破解zip包密 ...
- 【python】 web开发入门
进入Web开发 现在你完成了Python忍者训练,准备深入Ptyhon的Web开发,但现在的问题是有很多的框架,从中选择最好的框架非常困难,但从初学者的角度出发,Flask基本Web框架将非常适合We ...
- Python云端系统开发入门——框架基础
Django框架基础 这是我学习北京理工大学嵩天老师的<Python云端系统开发入门>课程的笔记,在此我特别感谢老师的精彩讲解和对我的引导. 1.Django简介与安装 Django是一个 ...
随机推荐
- [TCP/IP] TCP流和UDP数据报之间的区别
TCP流和UDP数据报之间的区别 1.TCP本身是面向连接的协议,S和C之间要使用TCP,必须先建立连接,数据就在该连接上流动,可以是双向的,没有边界.所以叫数据流 ,占系统资源多 2.UDP不是面向 ...
- Centos7安装和配置Tomcat8
第一步:下载Tomcat8压缩包 进入 http://tomcat.apache.org/download-80.cgi 下载tar.gz压缩包 第二步:用xshell工具把压缩包上传到/home/d ...
- 渗透技巧——Windows系统的帐户隐藏
渗透技巧——Windows系统的帐户隐藏 2017-11-28-00:08:55 0x01 帐户隐藏的方法 该方法在网上已有相关资料,本节只做简单复现 测试系统:·Win7 x86/WinXP 1. ...
- vue如何解析xml文件 x2js
好久没来写东西了,主要是一直在加班,哼哼,不开心 项目中会用到将xml文件解析成json文件在页面中显示出来,以前jq的时候用到的方法行不通了,故在这边介绍一种我觉得还不错的插件 1. npm安装 n ...
- Rust中的Vector类型
常用类型操作, 如python中的list,turple,dictory等, 更方常编程常用数据的处理. fn main() { let v = vec![, , , , ]; let third: ...
- 201871010136-赵艳强《面向对象程序设计(Java)》第八周学习总结
201871010136-赵艳强<面向对象程序设计(Java)>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...
- JWT 使用的另一种声音
讲真,别再使用JWT了! 把本应该session 中保存的数据 去除敏感字段 保留到客户端 在Web应用中,使用JWT替代session并不是个好主意 适合JWT的使用场景 抱歉,当了回标题党.我 ...
- 02-cmake语法-if、条件表达
格式: if(expression) # then section. COMMAND1(ARGS ...) COMMAND2(ARGS ...) ... elseif(expression2) # e ...
- js中,null, '',undefined的区别
在js中有三种值都可以代表false "",null,undefined 那么他们之间到底有什么区别呢 首先我们先看这三种值得类型 ""代表了一个没有字符的字 ...
- python27期day11:f-strings格式化、迭代器、生成器、作业题。
1.建议小写f: name = "宝元"age = 18sex = "男"msg = F"姓名:{name},性别:{age},年龄:{sex}&qu ...