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是一个 ...
随机推荐
- Linux-CentOS-Nginx安装
原文转自 jerryhe326:https://www.cnblogs.com/jerrypro/p/7062101.html 一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装n ...
- 阅读高翔的RGBD-SLAM博文笔记
目录 高翔的RGBD-SLAM笔记 前端VO: 后端优化 高翔的RGBD-SLAM笔记 RGBD相机的特点: 使用RGBD相机中的深度这一维信息,以及相机的针孔成像模型,相机的内参,可以将二维点恢复成 ...
- [基础]斯坦福cs231n课程视频笔记(一) 图片分类之使用线性分类器
线性分类器的基本模型: f = Wx Loss Function and Optimization 1. LossFunction 衡量在当前的模型(参数矩阵W)的效果好坏 Multiclass SV ...
- 【java集合总结】-- ArrayList源码解析
一.前言 要想深入的了解集合就必须要通过分析源码来了解它,那如何来看源码,要看什么东西呢?主要从三个方面: 1.看继承结构 看这个类的继承结构,处于一个什么位置,不需要背记,有个大概的感觉就可以,我自 ...
- Rust的Drop Trait,相当于析构代码
退出前自动执行的代码. struct CustomSmartPointer { data: String, } impl Drop for CustomSmartPointer { fn drop(& ...
- Rust中的字符串处理
一路看过来,怕是我知道的所有语言当,处理最复杂吧. 当然,如果能正确处理,也是能理解最到位的. 这,就是我为什么要学Rust的原因. 暂无用武之地,但逻辑体系和知识点够复杂,才能应对更多事务~ fn ...
- Android中GridView的按下效果及selector的使用
gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); 详细说明:http://blog.csdn.net/songzhiyong112 ...
- 安装_升级Eclipse插件
在线安装_升级Eclipse插件可以保证插件的完整性,并可自由选择最新版本.1.单击Eclipse的Help菜单,选择"Install New Software"菜单项2.单击&q ...
- java+selenium元素定位和元素操作
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: fin ...
- oracle--数据库扩容后出现ORA-27102
一,问题描述 Connected to an idle instance. SQL> startup nomount ORA: obsolete or deprecated parameter( ...