首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Python基础编程】从基础定义到局部与全局变量的深度剖析

【Python基础编程】从基础定义到局部与全局变量的深度剖析

作者头像
易辰君
发布2024-11-07 22:01:51
发布2024-11-07 22:01:51
4070
举报
文章被收录于专栏:CSDNCSDN

前言

上篇文章咱们主要讲了Python的容器,容器主要有列表,元组,集合和字典,接下来讲讲函数,函数也是Python中也是很重要的。

一、函数的定义

函数就是具有一定功能的代码块,以下就是最简单的函数;

代码语言:javascript
复制
def print_info():
    print("测试")

定义函数后还需要通过"函数名()"调用该函数,函数才真正发挥作用;

代码语言:javascript
复制
def print_info():
    print("测试")

print_info()

调用print_info函数后控制台输出“测试”二字

函数在编程中是非常重要的,函数可以将部分代码划分为多个单独的小功能,函数只需要定义一次就能一直调用,减少了代码的冗余,同时还让代码看上去更加整洁美观。

二、函数分类

Python的函数主要有两种:

  1. Python内置函数或第三方包中的函数
  2. 自定义函数,根据实际需求自己编写的函数,更加灵活

三、自定义函数

(一)定义函数

函数的定义格式为:

代码语言:javascript
复制
def 函数名(形参):
    函数体

自定义函数主要包括函数名、函数体和形参;

  • 函数名,按照命名规则给函数起名字,在python中建议使用"小写加下划线"的方式给函数命名,如python_test
  • 函数体,就是整个函数真正执行的代码,注意在函数体前面缩进4个空格
  • 形参,用来存储调用函数时传递的参数值,该参数根据实际情况而定

(二)调用函数

如刚开始所说,函数在定义好后需要调用才会真正发挥作用,调用格式为:

代码语言:javascript
复制
函数名(实参)

说明:

  • 函数名,想要调用的函数的名字
  • 实参,调用函数时传递给函数的数据,根据实际情况而定,函数需要数据时才传值

注意:调用函数前必须先定义好函数,否则函数调用时会出现异常

(三)pass关键字

定义函数时,如果不确定函数需要实现什么功能,可以先用pass关键字占位置,使用pass不会出现语法错误,也能清楚了解到该函数还未实现任何功能。

代码语言:javascript
复制
def 函数名():
    pass

四、内置函数

内置函数就是python自带的函数,直接调用即可,无需再次定义,python的内置函数非常丰富,这也是python的特点之一,以下罗列一些python常用的内置函数;

代码语言:javascript
复制
import time  # 时间模块
import random # 随机数模块
a = [1, 2, 3, 4]
# len:获取列表的元素个数,结果为4
len(a)
# max 获取最大值,结果为4
max(a)
# del 删除元素,删除元素2
del a[1]
# time 时间函数获取当前时间戳
time.time()
# random 获取随机数
# 获取1到3之间的整数
random.randint(1, 3)

python的内置函数有很多,根据实际情况加以使用。


五、函数参数

python中调用函数时,如果需要将数据传递给函数,可以通过传参的方式把数据传递给被调用的函数,想要实现传递数据的功能,需要注意两点:

  1. 定义函数时,在函数名后的"()"定义变量,这个变量称为形参,形参的个数根据实际传递的参数个数而定,定义形参的目的就是存储调用函数时传递过来的数据。
  2. 调用函数时,在函数名后的"()"写下需要传递的数据,可以是变量,常量或者表达式,这些数据称为实参,实参就是实际传递的数据。

示例:

代码语言:javascript
复制
def add(a, b):
    print(a + b)


a = 10
b = 20
add(a, b)  # 实现两个数相加的功能,控制台会输出30

六、函数返回值

调用函数后,如果需要获取函数的执行结果,可以在函数内部使用return语句,将数据返回给调用者,想要获取函数的返回结果,需要注意以下几点:

  1. 定义函数时,需要使用return语句将结果返回,return一方面可以将数据返回给调用者,另一方面可以结束函数的执行
  2. 调用函数时,一般需要使用变量存储函数的返回值
  3. 一个函数内部,同一时间只能有一个return语句被执行

示例:

代码语言:javascript
复制
def add(a, b):
    return a + b  # 返回两个变量相加的结果值


a = 10
b = 20
result = add(a, b)
print(result)  # 控制台输出30,说明调用add函数后的返回值赋给了result变量

七、函数间相互隔离

函数是一个具有独立功能的代码块,开发时将具有独立功能的代码块做成函数其实就是封装概念,这种方式可以使代码更加简介,封装的最大特点就是"高内聚低耦合",将相关功能的代码全部封装在函数中,同时减少函数间的依赖。

在开发过程中,函数间可能存在以下三种关系:

  1. 多个函数间共用同一个变量
  2. 一个函数的返回值被用作另一个函数的实参
  3. 一个函数内部调用另一个函数

八、局部变量和全局变量

(一)局部变量

在函数内定义的变量,包括形参也是局部变量,只能在定义的函数内部使用,局部变量一般就是为了实现函数功能而定义的变量,只能在当前函数内使用,无法在其他函数中使用;

示例:

代码语言:javascript
复制
def add(a):
    b = 20
    print("add函数中的局部变量有%s,%s" % (a, b))


add(10) # 调用add函数,在控制台输出"add函数中的局部变量有10,20"

局部变量的特点:

  1. 在函数内部定义的变量
  2. 形参也属于局部变量
  3. 局部变量的作用范围只作用于函数内部
  4. 每次调用函数时,局部变量的值都是重新获取
  5. 不同函数内部可以定义相同名称的局部变量

(二)全局变量

一种在函数外部定义的变量就是全局变量,全局变量可以在所有函数中使用,在函数内部直接使用全局变量即可,无需再次定义

示例:

代码语言:javascript
复制
c = 100  # 定义全局变量

def add():
    print(c)  # 控制台会输出100

add()

注意:如果需要修改全局变量的值,需要先使用global声明全局变量,才能修改全局变量的值

示例:

代码语言:javascript
复制
c = 100  # 定义全局变量
d = 200


def add():
    global c  # 使用global声明全局变量
    c += 1  # 修改全局变量的值
    d = 300


add()
print(c, d) 

代码执行结果为:

由此得知,若在函数内部需要修改全局变量的值,需要先使用global声明全局变量再进行修改,否则全局变量的值无法修改成功。

九、总结

本篇文章主要讲述了函数的基础知识,函数的定义、自定义函数、局部变量和全局变量等,这些都是相对基础的知识,接下来会进一步接触到较为进阶的函数知识点,让我们拭目以待吧!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、函数的定义
  • 二、函数分类
  • 三、自定义函数
    • (一)定义函数
    • (二)调用函数
    • (三)pass关键字
  • 四、内置函数
  • 五、函数参数
  • 六、函数返回值
  • 七、函数间相互隔离
  • 八、局部变量和全局变量
    • (一)局部变量
    • (二)全局变量
  • 九、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档