Python中的全局变量和局部变量的区别(代码详解)

Python中的全局变量和局部变量的区别(代码详解)

全局变量是在函数外部定义和声明的变量,我们需要在函数内部使用它们。

#这个函数使用全局变量sdef f():      print s    # 全局作用域s = "I love Python"f()

登录后复制

输出:

立即学习“Python免费学习笔记(深入)”;

I love Python

登录后复制

如果在函数范围内定义了具有相同名称的变量,那么它将仅打印函数内给出的值而不是全局值。

# 这个函数有一个与s同名的变量。def f():      s = "Me too."    print s    # 全局作用域s = "I love Python" f() print s

登录后复制

输出:

立即学习“Python免费学习笔记(深入)”;

Me tooI love Python

登录后复制

在我们调用函数f()之前,变量s被定义为字符串“I love Python”。f()中唯一的语句是“print s”语句。由于没有本地s,将使用全局s的值。

问题是,如果我们改变函数f()内部的s值会发生什么?它会影响全局吗?

我们在下面的代码中测试它:

def f():      print s       # 如果我们在下面评论,这个程序不会显示错误。    s = "Me too."      print s   #全局作用域s = "I love Python" f() print s

登录后复制

输出:

立即学习“Python免费学习笔记(深入)”;

Line 2: undefined: Error: local variable 's' referenced before assignment

登录后复制

为了使上述程序有效,我们需要使用“global”关键字。如果我们想要进行分配/更改它们,我们只需要在函数中使用全局关键字。打印和访问不需要全局。

Python“假设”我们想要一个局部变量,因为f()内部的赋值,所以第一个print语句抛出此错误消息。在函数内部更改或创建的任何变量都是本地的,如果它尚未声明为全局变量。要告诉Python,我们要使用全局变量,我们必须使用关键字“global”

如以下示例所示:

# 这个函数修改全局变量's' def f():     global s     print s     s = "Look for Python"    print s    #全局作用域s = "Python is great!" f() print s

登录后复制

输出:

立即学习“Python免费学习笔记(深入)”;

Python is great!Look for Python.Look for Python.

登录后复制

一个很好的例子:

a = 1  # 使用global,因为没有本地'a' def f():     print 'Inside f() : ', a   #变量“a”被重新定义为局部变量def g():         a = 2    print 'Inside g() : ',a   #使用全局关键字修改全局'a'def h():         global a     a = 3    print 'Inside h() : ',a   # 全局作用域print 'global : ',a f() print 'global : ',a g() print 'global : ',a h() print 'global : ',a

登录后复制

输出:

立即学习“Python免费学习笔记(深入)”;

global :  1Inside f() :  1global :  1Inside g() :  2global :  1Inside h() :  3global :  3

登录后复制

相关推荐:《Python教程》

以上就是Python中的全局变量和局部变量的区别(代码详解)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2533687.html

(0)
上一篇 2025年3月5日 21:18:22
下一篇 2025年2月26日 14:19:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎么找到黑客的联系方式?

    如果你想要找到黑客的联系方式,那么你可能面临以下难题:黑客往往会隐藏他们的身份,并且他们的联系方式很难被发现。php小编草莓在这里为你提供了一份指南,旨在帮助你找到黑客的联系方式。在本指南中,我们将介绍一些常见的黑客使用的联系方式,并提供一…

    2025年3月5日
    200
  • Python中整数的最大可能值是多少?(代码示例)

    在python中可以存储很大的值,如下面的python示例程序: x = 10000000000000000000000000000000000000000000; x = x + 1print (x) 登录后复制 输出: 10000000…

    2025年3月5日
    200
  • Python模拟微博登陆的方法介绍(附代码)

    本篇文章给大家带来的内容是关于Python模拟微博登陆的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 今天想做一个微博爬个人页面的工具,满足一些不可告人的秘密。那么首先就要做那件必做之事!模拟登陆…… …

    2025年3月5日
    200
  • 如何使用python实现圆周率的计算(代码示例)

    本篇文章给大家带来的内容是关于如何使用python实现圆周率的计算(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、π的简介 π的介绍 圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.14159…

    2025年3月5日 编程技术
    200
  • python中猴子补丁是什么?怎么用?

    本篇文章给大家带来的内容是关于python中猴子补丁是什么?怎么用?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是猴子补丁 the term monkey patch only refers to dynamic m…

    编程技术 2025年3月5日
    200
  • Python基础环境搭建的方法(图文)

    本篇文章给大家带来的内容是关于python基础环境搭建的方法(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、编程语言 1、解释型语言:每执行一次程序就要将代码翻译一次,如Java、JavaScript、VBSc…

    2025年3月5日 编程技术
    200
  • Python中数据预处理(代码)

    本篇文章给大家带来的内容是关于python中数据预处理(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、导入标准库 import numpy as npimport matplotlib.pyplot as pl…

    编程技术 2025年3月5日
    200
  • Python如何将字符串常量转化为变量?(附示例)

    本篇文章给大家带来的内容是关于python如何将字符串常量转化为变量?(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文将相关的内容要点作了梳理,并由此引申到更进一步的学习话题,希望对你有所帮助。 1、如何动态…

    编程技术 2025年3月5日
    200
  • python单链表中如何插入和输出节点?(代码示例)

    python单链表中如何插入和输出节点?下面本篇文章就来带大家了解一下单链表是什么,如何对单链表执行的一些非常基本的操作,例如:插入、输出,希望对大家有所帮助。 单链表是什么? 首先在了解单链表之前,我们必须了解一下节点是什么。 节点是链表…

    2025年3月5日
    200
  • python单链表中如何查找和删除节点?

    在之前的文章【python单链表中如何插入和输出节点?】中给大家介绍了单链表是什么,以及如何进行添加节点、输出所以节点。下面本篇文章给大家介绍如何查找和删除节点,希望对大家有所帮助。 如何从单链表中查找节点? 与大多数数据结构一样,查找元素…

    2025年3月5日
    200

发表回复

登录后才能评论