函数是带名字的代码块,用于完成具体的工作,无需反复编写完成该工作的代码。之前我们接触过print函数,数据类型转换中的int函数、str函数,还有列表中的append函数、pop函数、remove函数,以及字典中的keys函数、values函数等等,其实在正式学习函数之前,我们已经接触了函数,只不过没有接触过自定义函数,接触的都是Python自带的内置函数。

1.初识函数

1.1自定义函数

我们在使用自定义函数之前要,先声明一个自定义函数,让Python知道除了它自己的内置函数外,我们又自己定义了一个函数,其最简单语法格式:



我们定义一个输出'hello'的函数,其作用就像现实生活中的打招呼,编写程序如下所示:

1.2调用自定义函数

调用自定义函数的方式方法有很多,根据自定义函数所在的位置,有不同的调用方式,在这里先介绍最简单的一种,自定义函数和调用位置在同一个文件中,编写程序如下所示:

2.向函数传递信息

我们试想下在打招呼的过程中,可能需要加上人名,比如:hello,张三。对此我们需要在自定义函数最简单的声明语法格式上再丰富一下,如下所示:



下面我们通过参数,将'张三'这个文本内容传递给函数,让函数能够接收到这个文本内容,并执行函数功能,编写程序如下所示:



我们通过输出结果发现是符合我们设想的。

3.实参和形参

我们成功将'张三'这个文本内容传递给print_hello函数后,这里用到了我们这块的知识点,就是实参和形参。

在print_hello函数的定义中,我们定义了一个变量username,如果没有调用这个函数,username变量也只是声明了,但并没有进行赋值,只是起了一个名字而已,这样的变量我们在函数当中叫做形参。在函数的调用中,我们编写代码print_hello('张三'),其中'张三'我们可以认为是一个字符串类型的变量,这个变量是被'张三'这个文本内容赋值的,这样的变量我们在函数当中叫做实参。

函数之间的信息传递就是通过实参变量的值传递给形参变量,让形参变量在函数被调用的过程中被赋值,然后利用形参变量完成函数的相关功能,最简单的信息传递示意图如下所示:

4.与循环语句的区别

循环语句的作用也是用于完成具体的工作,无需反复编写完成该工作的代码块。那么循环语句与函数有什么区别呢?

循环语句更侧重于次数,程序需要通过循环多少次、循环终止条件、无限循环等才能达到预想效果,因为执行的代码块相同,所以通过循环语句无须反复编写代码块。

而函数更侧重于功能实现,比如程序要实现人员名单查询的功能,可以自定义声明一个查询功能的函数,程序当中需要查询人员名单的时候,直接调用即可,需要在哪里查询就在哪里调用,同样对于相同的代码块,无须重复编写,即可调用运行。

【python基础】函数-初识函数的更多相关文章

  1. python基础之 初识函数&函数进阶

    函数基础部分 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  2. Python之路【第五篇】python基础 之初识函数(一)和文件管理

    转载请注明出处http://www.cnblogs.com/wupeiqi/articles/5453708.html 函数 一.背景                                 ...

  3. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  4. python基础——高阶函数

    python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...

  5. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  6. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  7. python 基础篇 09 函数初识

    <<<<<<<<<<<<<<<------------------------------函         ...

  8. python 基础篇 11 函数进阶----装饰器

    11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...

  9. Python 基础三 文件 函数

    今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...

  10. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

随机推荐

  1. PHP 微信三方平台代公众号发起网页授权 获取用户信息

    1.获取code 2.通过授权回调地址的code获取用户access_token和open_id 3.通过access_token和open_id 获取用户基本信息 class wx_user { p ...

  2. Java数据类型、标识符

    目录 JavaSE 标识符 数据类型 基本数据类型 引用数据类型 转义字符 JavaSE 标识符 定义 Java中用于定义名称的都是标识符.例:包名,类名,变量名,方法名等. 组成 由数字.字母._. ...

  3. VUEX面试题

    1.你有写过vuex中store的插件吗? 答:没有 2.你有使用过vuex的module吗?主要是在什么场景下使用? 答:把状态全部集中在状态树上,非常难以维护.按模块分成多个module,状态树延 ...

  4. broadcom Ethernet BCM57412 驱动更新记录(dkms方式)

    一 背景 现场Dell R740xd2机器使用网卡Broadcom 57412 10Gb SFP+,固件版本22.21.06.80.bnxt_en.ko内核模块是该网卡的驱动,我们默认的驱动版本为1. ...

  5. 我没能实现始终在一个线程上运行 task

    前文我们总结了在使用常驻任务实现常驻线程时,应该注意的事项.但是我们最终没有提到如何在处理对于带有异步代码的办法.本篇将接受笔者对于该内容的总结. 如何识别当前代码跑在什么线程上 一切开始之前,我们先 ...

  6. 【装饰器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

    简介 装饰器模式(Decorator Pattern)是一种结构型设计模式.将对象放入到一个特殊封装的对象中,为这个对象绑定新的行为,具备新的能力,同时又不改变其原有结构. 如果你希望在无需修改代码的 ...

  7. CentOS8安装Oracle datebase 19C

        我这里安装Oracle数据库是rpm格式的包.需要先得有以下依赖包关系,先依次按此顺序安装. yum install ./compat-libcap1-1.10-7.el7.x86_64.rp ...

  8. 关于安装Sqlyog出现的问题

    前言 这篇博客主要是为了分析一下我安装Sqlyog出现的一些问题,也请圈友们帮忙指正一下,我是不是成立冤大头.由于春节前我的电脑死机,我重装了系统,之后格式化了C盘,导致很多软件(之前都安装在C盘)需 ...

  9. LeeCode 317周赛复盘

    T1: 可被3整数的偶数的平均值 思路:数组遍历 被3整数的偶数 \(\Leftrightarrow\) 被6整数的数 public int averageValue(int[] nums) { in ...

  10. 部署:windows7下mysql8.0.18部署安装

    一.前期准备(windows7+mysql-8.0.18-winx64) 1.下载地址:https://dev.mysql.com/downloads/ 2.选择直接下载不登录账号,下载的压缩包大概两 ...