🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》
⛺️心若有所向往,何惧道阻且长
文章目录
一:函数基础
函数(function)是程序非常重要的组成部分,是计算机执行命令的单元;
所谓函数,就是把 具有独立功能的代码块 组织为一个整体,在需要的时候 调用;
使用函数可以提高编写的效率以及代码的重用
1.1函数的定义和调用
函数的使用包含两个步骤:
定义函数 —— 在函数中编写代码,实现功能
调用函数 —— 执行编写的代码
1.2函数的定义格式
def 函数名():
函数封装的代码
def是英文define的缩写;
函数名的命名规则和变量的命名规则要保持一致
1.3函数的调用格式
函数名()
1.4第一个函数
需求
1. 编写一个打招呼 say_hello 的函数,封装三行打招呼的代码
2. 在函数下方调用打招呼的代码
# 定义函数
def say_hello():
print('hello world')
print('hello world')
print('hello world')
# 调用函数
say_hello()
二:函数的文档注释
函数名并不能完全表示出函数的含义,定义函数的时候就需要给函数加上注释。
函数的注释就是文档注释,以后可以根据此内容查看函数使用说明,或用于生成API文档。
注释的规则和格式如下:
● 注释应该定义在函数的下方
● 使用三对引号注释
● 调用函数时, 鼠标悬浮在函数名上可以查看函数的说明信息
def say_hello2():
"""
这是给林青霞打招呼的方法
:return:
"""
print('hello 林青霞')
三:函数的参数
函数的参数,可以传递数据给函数内部
参数的作用是增加函数的 通用性
3.1参数的定义和调用
# 定义函数
def 函数名(参数1, 参数2):
函数代码
# 调用函数
函数名(参数1, 参数2)
3.2参数的使用
需求
定义函数,传递a和b,求a和b的和
def sum(a,b):
"""
这个函数是求两个数据的和
:param a: 第一个数据
:param b: 第二个数据
:return: a和b的和
"""
result = a + b
print(result)
# 调用
sum(10,20)
四: 函数的返回值
● 开发中,有时会希望一个函数执行结束后,告诉调用者一个结果,以便调用者对结果做后续处理
● 返回值是函数给调用方提供的结果
● 函数中使用return关键字返回结果
● 调用函数一方,可以通过变量来接收函数的返回结果
函数返回值
需求
定义函数返回两个数最大值
实现
# 定义函数
def my_max(a,b):
if a > b:
return a
else:
return b
# 调用函数
max_value = my_max(10,20)
五:函数多返回值
函数可以返回多个结果
def calc(a, b):
'''
求a+b以及a-b的结果
:param a:
:param b:
:return: 结果的元组
'''
sum = a + b
sub = a-b
return sum, sub
上面函数同时返回了两个数的和以及两个数的差
返回的结果会自动组包成为一个元组数据,接收的时候可以分别接收sum、sub
# 分别接收和以及差
sum, sub = calc(10, 20)
六:函数的四种类型
函数按照是否有参数以及返回值可以将函数分成四种类型
6.1无参无返回值
def say_hello():
print('hello')
6.2无参有返回值
**import random
def get_temp():
return random.randint(0,100)**
6.3有参无返回值
def say_hello(name):
print('hello %s'%name)
6.4 有参有返回值
def sum(a, b):
return a + b
七:函数的形参和实参
7.1形参
全称为形式参数。是在定义函数的时候使用的参数,用来接收调用该函数时传入的参数
def sum(a, b):
return a + b
a和b属于形参,形参在函数调用的时候才赋值
7.2实参
全称为实际参数,是在调用时传递给函数的参数
sum(10, 20)
7.3形参作用域
作用域指的是变量的可用范围
● 形参的作用域只在函数内,超出函数就不能再使用了
● 作用域可以减少不同函数的命名冲突
八:局部变量和全局变量
8.1局部变量
● 局部变量,指的是在函数内部定义的变量
● 局部变量的目的是存储需要临时保存的数据
def func1():
# 局部变量
b = 20
print('hello%d' % b)
注意:
● 不同的函数,可以定义相同名字的局部变量
● 局部变量的作用域只在函数内部
8.2全局变量
全局变量是在整个py文件中声明,全局范围内都可以访问
# 全局变量
m = 10
n = 20
def func():
# 函数内访问全局变量
print(m)
8.3函数内修改全局变量
如果要在函数内部修改全局变量 需要首先使用global关键字将声明全局变量
# 定义全局变量
m = 10
def func():
# 使用global声明全局变量
global m
# 将m修改成20
m = 30
print("函数内部 m=", m)