本节内容:
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的更多相关文章

  1. python之函数入门

    python之函数入门 一. 什么是函数 二. 函数定义, 函数名, 函数体以及函数的调用 三. 函数的返回值 四. 函数的参数 五.函数名->第一类对象 六.闭包 一,什么是函数 函数: 对代 ...

  2. 编程入门python之定义函数【转】

    编程入门python之定义函数 零基础学编程by学哥 2017-02-06 10:51 今天讲python函数. 输入参数求三角形或圆形或长方形的面积 先输入1个参数:形状类型 1=三角形 2=圆形 ...

  3. Python入门之 Python内置函数

    Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...

  4. python函数入门

    知识内容: 1.函数的作用 2.函数的定义与调用 3.函数的返回值 4.函数的参数 5.局部变量与全局变量 6.作用域 一.函数的作用 1.复用代码 将可能重复执行的代码封装成函数,并在需要执行的地方 ...

  5. Python函数(入门6)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407970.html 本文出自:[Edwin博客园] Python函数 1. Python之调用函数 pri ...

  6. Python——函数入门(二)

    一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用 ...

  7. Python——函数入门(一)

    一.理解函数 举一个例子,当我们需要重复使用一个功能的时候,不可能每次都去复制一次代码,这个时候就需要用到函数了,所谓的函数,简单来说就是给函数取一个名字,当需要用到这个功能的时候,就可以通过这个名字 ...

  8. Python黑客编程2 入门demo--zip暴力破解

    Python黑客编程2 入门demo--zip暴力破解 上一篇文章,我们在Kali Linux中搭建了基本的Python开发环境,本篇文章为了拉近Python和大家的距离,我们写一个暴力破解zip包密 ...

  9. 【python】 web开发入门

    进入Web开发 现在你完成了Python忍者训练,准备深入Ptyhon的Web开发,但现在的问题是有很多的框架,从中选择最好的框架非常困难,但从初学者的角度出发,Flask基本Web框架将非常适合We ...

  10. Python云端系统开发入门——框架基础

    Django框架基础 这是我学习北京理工大学嵩天老师的<Python云端系统开发入门>课程的笔记,在此我特别感谢老师的精彩讲解和对我的引导. 1.Django简介与安装 Django是一个 ...

随机推荐

  1. Jenkins + Pipeline + Git + Maven (十)

    一.准备环境介绍 192.168.5.71 # gitlab 仓库IP 192.168.5.72 # 开发环境,用于提交代码等 192.168.5.73 # tomcat 部署solo服务站点 192 ...

  2. 【使用篇二】SpringBoot单元测试(10)

    SpringCloud单元测试:https://www.cnblogs.com/myitnews/p/11796321.html 1. 创建项目Maven Project,修改pom.xml < ...

  3. TCP/IP协议族(五)

    目前实际使用的网络模型是 TCP/IP 模型,它对 OSI 模型进行了简化,只包含了四层,从上到下分别是应用层.传输层.网络层和链路层(网络接口层),每一层都包含了若干协议. 协议(Protocol) ...

  4. DES介绍

    DES对称加密算法中的一种.是一个分组加密算法. 密钥长64位.(密钥事实上是56位参与DES运算(第8.16.24.32.40.48.56.64位是校验位)56 位    8位奇偶校验位. DES算 ...

  5. .NET中线程同步的几种方法

    lock.Monitor: lock是Monitor的语法糖 [MethodImpl(MethodImplOptions.Synchronized)]: 特性标记一个方法是需要被同步的,最终实现的效果 ...

  6. 你真的了解FastClick吗?

    你真的了解FastClick吗? 前段时间在做公司官网手机端菜单部分的时候,遇到一些很诡异的点击问题.比如菜单点击无效/双击才有效.在手指滑动的时候会触发点击事件.以及同样的事件处理在微信跟浏览器会有 ...

  7. 微信小程序特性总结

    一. 小程序不是运行在浏览器中, 所以没有BOM和DOM对象 即console.log(window)和console.log(document)是获取不到任何内容的 二. 小程序特有的额外js成员( ...

  8. A1067 Sort with Swap(0, i) (25 分)

    一.技术总结 题目要求是,只能使用0,进行交换位置,然后达到按序排列,所使用的最少交换次数 输入时,用数组记录好每个数字所在的位置. 然后使用for循环,查看i当前位置是否为该数字,核心是等待0回到自 ...

  9. Bootstrap-table实现动态合并相同行

    Bootstrap-table  表格合并相同名字的列 @编写function() /** * 合并行 * @param data 原始数据(在服务端完成排序) * @param fieldName ...

  10. [LeetCode] 920. Number of Music Playlists 音乐播放列表的个数

    Your music player contains N different songs and she wants to listen to L (not necessarily different ...