瀋凣

V1

2022/03/03阅读:52主题:极简黑

python笔记34

Python day34

1. 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

1.1 定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None
函数结构
函数结构

举个栗子:

  • 定义一个函数
>>> def myfunc():
        pass  #空语句,用于占位
        
>>>

定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。

  • 调用自定义的函数
>>> myfunc()
>>> 
  • 让自定义函数实现一些功能
>>> def myfunc():
        for i in range(3):
                print('I love Python')
            
>>> myfunc()
I love Python
I love Python
I love Python
>>> 

1.2 函数的参数

如果函数只是简单的打包代码,那也没啥了不起的。但是函数能做的远不止这些,我们还可以通过函数的参数来实现功能的定制。

举个栗子:

  • 将刚刚的函数修改为可打印任何想要的字符串
>>> def myfunc(name):
        for i in range(3):
                print(f"I love {name}")
                
>>> myfunc('Vanovel')
I love Vanovel
I love Vanovel
I love Vanovel
>>> 
  • 参数的数量可以指定任意多个。将自定义函数修改为可以打印任意多次任意字符串
>>> def myfunc(name,times):
        for i in range(times):
                print(f"I love {name}")
                
>>> myfunc('Vanovel',5)
I love Vanovel
I love Vanovel
I love Vanovel
I love Vanovel
I love Vanovel
>>> 

我们一般
将定义函数时括号内填入的参数称为形式参数,简称形参
将调用函数时括号内填入的参数称为实际参数,简称实参

1.3 函数的返回值

有时候我们需要函数在执行完之后给出反馈。在之前学习的BIF中有很多带返回值的函数,比如len()函数会返回长度、sum()函数会返回求和结果等等。

在自定义函数中,我们只需要使用return语句来实现返回值效果。

举个栗子:

  • 自定义函数实现返回两数相除的结果
>>> def div(x,y):
        z = x/y
        return z
        
>>> div(4,2)
2.0
  • 简化一下
>>> def div(x,y):
        return x/y
        
>>> div(4,2)
2.0
>>> div(4,0)
Traceback (most recent call last):
  File "<stdin>", line 1in <module>
  File "<stdin>", line 2in div
ZeroDivisionError: division by zero

我们知道除法中除数不可为0,所以我们继续修改代码:

  • 加入判断
>>> def div(x,y):
        if y == 0:
                return "除数不能为0!"
        else:
                return x/y
                
>>> div(4,0)
'除数不能为0!'

*注意:只要执行了return语句,函数就会立刻返回,即结束。不管return后面是否还有其他语句。

所以我们刚刚的例子就可以简写成:

>>> def div(x,y):
        if y == 0:
                return "除数不能为0!"
        return x/y
        
>>> div(4,2)
2.0
>>> div(4,0)
'除数不能为0!'

如果一个函数我们没有在函数体中用return语句返回内容,函数会在执行完函数体后默认返回None

>>> def myfunc():
        pass
        
>>> myfunc()
>>> print(myfunc())
None
点点关注不迷路
点点关注不迷路
- END -

分类:

后端

标签:

Python

作者介绍

瀋凣
V1