本节内容:
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. 如何在Etherscan.io 部署ETH以太坊智能合约 如何在15分钟内创建你的加密货币

    一.概述 ETH 网络这里就不介绍了,这篇文章主要记录在以太坊主网和测试网络部署一个智能合约,也就是如何发币. 二.部署合约需要的生产工具      准备工具前,建议大家准备个VPN,因为会访问国外网 ...

  2. 习题6-2 使用函数求特殊a串数列和

    #include <stdio.h> int fn(int a, int n); int SumA(int a, int n); int main() { int a, n; scanf_ ...

  3. LOJ 510: 「LibreOJ NOI Round #1」北校门外的回忆

    题目传送门:LOJ #510. 题意简述: 给出一个在 \(K\) 进制下的树状数组,但是它的实现有问题. 形式化地说,令 \(\mathrm{lowbit}(x)\) 为在 \(K\) 进制下的 \ ...

  4. yield_from

    python3.3 新加的yield from 语句 1.yield from def my_chain(*args, **kwargs): for my_iterable in args: yiel ...

  5. 第五周周二练习:实验 5 Spark SQL 编程初级实践

    1.题目: 源码: import java.util.Properties import org.apache.spark.sql.types._ import org.apache.spark.sq ...

  6. onchange onpropertychange 和 oninput 事件的区别

    onchange 事件在内容改变(两次内容有可能还是相等的)且失去焦点时触发. onpropertychange 事件却是实时触发,即每增加或删除一个字符就会触发,通过 js 改变也会触发该事件,但是 ...

  7. Function.prototype.call.bind

    在JavaScript中借用方法 在JavaScript中,有时候需要在一个不同的对象上重用一个函数,而不是在定义它的对象或者原型中.通过使用call(),applay()和bind(),我们可以很方 ...

  8. SpringBoot集成Spring Security(5)——权限控制

    在第一篇中,我们说过,用户<–>角色<–>权限三层中,暂时不考虑权限,在这一篇,是时候把它完成了. 为了方便演示,这里的权限只是对角色赋予权限,也就是说同一个角色的用户,权限是 ...

  9. Azure DevOps Server (TFS) 代码库Repo管理培训

    Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...

  10. Qt对话框之二:模态、非模态、半模态对话框

    一.模态对话框 模态对话框:阻塞同一应用程序中其它可视窗口输入的对话框.模态对话框有自己的事件循环,用户必须完成这个对话框中的交互操作,并且关闭了它之后才能访问应用程序中的其它任何窗口. 显示模态对话 ...