定义函数

函数不会改变某一个功能的代码, 函数只是将这个功能的代码封装起来, 方便后续调用.

# 基本结构
def 函数名(参数):
'''文档注释, 函数功能的描述'''
代码块 # 需要注意的是函数定义阶段, 只检测语法, 不执行代码 def max_2():
'''给定两个数, 打印较大的数'''
x = 10
y = 20
if x > y:
print(x)
else:
print(y) # 函数名.__doc__方法可查看函数的文档注释
print(max_2.__doc__) # 给定两个数, 打印较大的数

定义函数的三种形式

空函数

def func():
pass

有参函数

def max_2(x, y):
'''打印较大的数'''
if x > y:
print(x)
else:
print(y)

无参函数

def max_2():
'''给定两个数, 打印较大的数'''
x = 10
y = 20
if x > y:
print(x)
else:
print(y)

函数的调用

def max_2(x, y):
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) # 使用函数名加括号即可调用函数
# 有参函数调用时必须传入相应数量的参数
max_2(20, 10) # 20

函数的返回值

def max_2(x, y):
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) retur = max_2(20, 10)
print(retur) # None # 注意, 原函数只进行了结果打印, 函数本身并未返回任何值, 因此我们打印retur结果为None def max_2(x, y):
'''打印和返回较大的数'''
if x > y:
print(x)
return x
else:
print(y)
return y retur = max_2(20, 10)
print(retur) # 20 # 我们将原函数进行简单的改造, 加入return, 现在我们打印retur会显示函数的返回值 # return有如下几个特性:
# 1. return可以返回一个个值, 没有返回值则返回None
# 2. 没有return则返回None
# 3. return会终止函数, 不会运行下面的代码
# 4. return可以返回多个值(通过逗号隔开), 返回值以元祖的形式接受

函数的参数

形参 (parameter)

函数定义阶段时括号内设置的参数, 相当于一个变量名, 可以接收被传入的值

实参(argument)

实参是在函数调用阶段传给函数(形参)的一个具体的值, 相当于变量值, 可以为所有数据类型

# 函数定义
def max_2(x, y): # x, y 即为形参
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) # 函数调用
max_2(10, 20) # 10, 20 即为实参

位置形参与位置实参

当函数定义阶段时设置了多个形参时, 则调用函数时也必须依次传入对应数量的实参, 我们把按照从左到右的排列, 一一对应的形参和实参称为位置形参和位置实参

# 函数定义
def max_2(x, y): # x, y 即为位置形参
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) # 函数调用
max_2(10, 20) # 10, 20 即为位置实参

默认形参

默认形参既在函数定义阶段就已经给形参设定了一个默认值

def max_2(x, y = 10):  # y 即为默认形参, 默认形参必须在位置形参的后面
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) # 函数调用阶段仍能给默认形参传值, 如果没有给默认形参传值,即为默认值
max_2(20) # y = 10
max_2(20, 30) # y = 30

关键字实参

关键字实参即为在函数调用阶段, 按照形参名(关键字)给形参传值

def max_2(x, y):
'''打印较大的数'''
if x > y:
print(x)
else:
print(y) # 函数调用
max_2(y=10, x=20)
max_2(10, y=20) # 关键字实参必须在位置实参的后面, 否则会报错
max_2(10, x=20) # 报错,x被多次赋值

Python3 函数基础1的更多相关文章

  1. Python3 函数基础2

    目录 可变长参数 可变长形参: *args 可变长实参: *容器类 可变长形参: **kwargs 可变长实参: **字典 函数对象 引用 当做容器类型元素 当做参数传给一个函数 当做函数的返回值 函 ...

  2. Python开发基础-Day5-字符编码、文件处理和函数基础(草稿)

    字符编码 为什么要有字符编码? 字符编码是为了让计算机能识别我们人写的字符,因为计算机只认识高低电平,也就是二进制数"0","1". 一个文件用什么编码方式存储 ...

  3. python开发基础之字符编码、文件处理和函数基础

    字符编码 为什么要有字符编码? 字符编码是为了让计算机能识别我们人写的字符,因为计算机只认识高低电平,也就是二进制数"0","1". 一个文件用什么编码方式存储 ...

  4. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  5. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  6. JavaScript 函数基础

    1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call   : 将函数作为对象的 ...

  7. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  8. 【2017-03-05】函数基础、函数四种结构、ref和out参数、递归

    一.函数基础 1.函数/方法:非常抽象独立完成某项功能的一个个体 2.函数的作用: 提高代码的重用性提高功能开发的效率提高程序代码的可维护性 3.分类 固定功能函数高度抽象函数 4.函数四要素:输入, ...

  9. PHP基础入门(三)---PHP函数基础

    PHP基础入门(三)---函数 今天来给大家分享一下PHP的函数基础.有了前两章的了解,想必大家对PHP有了一定的基础了解.想回顾前两章的朋友可以点击"PHP基础入门(一)"&qu ...

随机推荐

  1. [RAM] FPGA的学习笔记——RAM

    1.RAM——随机存取存储器, 分为SRAM和DRAM. SRAM:存和取得速度快,操作简单.然而,成本高,很难做到很大.FPGA的片内存储器,就是一种SRAM,用来存放程序,以及程序执行过程中,产生 ...

  2. WordPress 去掉底部的自豪的采用WordPress

    WordPress 去掉底部的自豪的采用WordPress  

  3. 领扣(LeetCode)最长公共前缀 个人题解

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  4. 精通awk系列(8):awk划分字段的3种方式

    回到: Linux系列文章 Shell系列文章 Awk系列文章 详细分析awk字段分割 awk读取每一条记录之后,会将其赋值给$0,同时还会对这条记录按照预定义变量FS划分字段,将划分好的各个字段分别 ...

  5. ZeroC ICE的远程调用框架 Slice如何帮助我们进行Ice异步编程(AMI,AMD)

    Slice最大的用处就是为我们使用Ice进行编程,代劳绝大部分的重复性代码,并提供一些帮助性的框架代码,如用于AMI和AMD方式进行异步编程的回调框架. 当Slice不为我们生成代码时,我们仍然可以按 ...

  6. vue监听移动设备的返回事件

    在公共方法文件common.js中实现一个存储当前历史记录的方法 common.js // 存储当前历史记录点,实现控制手机物理返回键的按钮事件 var pushHistory = function ...

  7. Springboot 系列(十六)你真的了解 Swagger 文档吗?

    前言 目前来说,在 Java 领域使用 Springboot 构建微服务是比较流行的,在构建微服务时,我们大多数会选择暴漏一个 REST API 以供调用.又或者公司采用前后端分离的开发模式,让前端和 ...

  8. Openlayers ol.interaction.Select取消默认选中效果

    说明: 在使用ol.interaction.Select进行点击查询时,默认会把点击选中的要素显示在地图上 我的需求是做轨迹回放,并可以点击轨迹上某一点,进行查询.这时候如果重新播放轨迹,会发现这个选 ...

  9. 【集合系列】- 深入浅出的分析 Hashtable

    一.摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap.LinkedHashMap.TreeMap.IdentityHashMap.WeakHashMap.Hashtable.P ...

  10. 2019-11-19:无返回的盲型xxe,使用带外读取数据

    文章资料来源于网络,仅供参考,学习使用 复现盲型xxe 实验环境:bwapp,xxe关,注释掉了返回值 准备读取的flag.txt文件为 通过利用服务器外带数据方法步骤 1,攻击机服务器新建两个文件, ...