python之函数基础

函数(function)是程序非常重要的组成部分,是计算机执行命令的单元;

所谓函数,就是把 具有独立功能的代码块 组织为一个整体,在需要的时候 调用;

使用函数可以提高编写的效率以及代码的重用

1. 函数的定义和调用

函数的使用包含两个步骤:

  1. 定义函数 ------ 在函数中编写代码,实现功能
  2. 调用函数 ------ 执行编写的代码

1.1. 函数的定义格式

def 函数名():

函数封装的代码

def是英文define的缩写;

函数名的命名规则和变量的命名规则要保持一致

1.2. 函数的调用格式

函数名()

2. 函数的参数

函数的参数,可以传递数据给函数内部

参数的作用是增加函数的 通用性

2.1. 参数的定义和调用

定义函数

def 函数名(参数1,参数2):

函数代码

调用函数

函数名(参数1,参数2)

2.2. 参数的使用

需求:定义函数,传递a和b,求a和b的和

python 复制代码
# 定义函数
def sum(a,b):
    res = a + b
    print(res)


# 调用
sum(10, 20)

3. 函数的返回值

  • 开发中,有时会希望一个函数执行结束后,告诉调用者一个结果,以便调用者对结果做后续处理
  • 返回值是函数给调用方提供的结果
  • 函数中使用return关键字返回结果
  • 调用函数一方,可以通过变量来接收函数的返回结果

需求:定义函数返回两个数最大值

python 复制代码
# 定义函数
def my_max(a, b):
    if a > b:
        return a
    else:
        return b


# 调用
res = my_max(10, 20)
print(res)

4. 函数多返回值

函数可以返回多个结果

python 复制代码
# 定义函数
def func(a, b):
    sum = a + b
    sub = a - b
    return sum, sub


# 调用
sum, sub = func(20,10)
print(sum, sub)    # 30, 10

5. 函数的四种类型

函数按照是否有参数以及返回值可以将函数分成四种类型

python 复制代码
# 1. 无参无返回值
def fun1():
    print("无参无返回值")


fun1()


# 2. 无参有返回值
def fun2():
    return random.randint(0,10)    // 包括0不包括10


fun2()


# 有参无返回值
def fun3(name):
    print(name)


fun3("张三")


# 4. 有参有返回值
def fun4(a, b):
    return a + b


fun4(1, 2)

6. 函数的形参和实参

6.1. 形参

全称为形式参数。是在定义函数的时候使用的参数,用来接收调用该函数时传入的参数

def sum(a, b):

return a + b

ab属于形参,形参在函数调用的时候才赋值

6.2. 实参

全称为实际参数,是在调用时传递给函数的参数

sum(10, 20)

调用sum函数时传入的1020即是实参

6.3. 形参作用域

作用域指的是变量的可用范围

  • 形参的作用域只在函数内,超出函数就不能再使用了
  • 作用域可以减少不同函数的命名冲突

7. 局部变量和全局变量

7.1. 局部变量

  • 局部变量 ,指的是在函数内部定义的变量
  • 局部变量的目的是存储需要临时保存的数据
python 复制代码
def func1():
    # 局部变量
    b = 20
    print('hello%d' % b) 


func1()
print(b)    # 报错

注意:

  • 不同的函数,可以定义相同名字的局部变量
  • 局部变量的作用域只在函数内部

7.2. 全局变量

全局变量是在整个py文件中声明,全局范围内都可以访问

python 复制代码
# 全局变量
m = 10
n = 20

def func():
    # 函数内访问全局变量
    print(m)

7.3. 函数内修改全局变量

如果要在函数内部修改全局变量 需要首先使用global关键字将声明全局变量

python 复制代码
# 定义全局变量
m = 10

def func():
    # 使用global声明全局变量
    global m
    # 将m修改成20
    m = 30
    print("函数内部 m=", m)


func()
print(m)    # 30
相关推荐
小珑也要变强1 小时前
队列基础概念
c语言·开发语言·数据结构·物联网
AI原吾3 小时前
掌握Python-uinput:打造你的输入设备控制大师
开发语言·python·apython-uinput
机器视觉知识推荐、就业指导3 小时前
Qt/C++事件过滤器与控件响应重写的使用、场景的不同
开发语言·数据库·c++·qt
毕设木哥3 小时前
25届计算机专业毕设选题推荐-基于python的二手电子设备交易平台【源码+文档+讲解】
开发语言·python·计算机·django·毕业设计·课程设计·毕设
珞瑜·3 小时前
Matlab R2024B软件安装教程
开发语言·matlab
weixin_455446173 小时前
Python学习的主要知识框架
开发语言·python·学习
孤寂大仙v3 小时前
【C++】STL----list常见用法
开发语言·c++·list
D11_4 小时前
Pandas缺失值处理
python·机器学习·数据分析·numpy·pandas
花生了什么树~.4 小时前
python基础知识(四)--if语句,for\while循环
python
她似晚风般温柔7894 小时前
Uniapp + Vue3 + Vite +Uview + Pinia 分商家实现购物车功能(最新附源码保姆级)
开发语言·javascript·uni-app