首页 > 编程语言 >Python 作用域:局部作用域、全局作用域和使用 global 关键字

Python 作用域:局部作用域、全局作用域和使用 global 关键字

时间:2023-10-28 19:32:40浏览次数:37  
标签:myfunc 函数 示例 作用域 global Python print

变量只在创建它的区域内可用。这被称为作用域。

局部作用域

在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用。

示例:在函数内部创建的变量在该函数内部可用:

def myfunc():
  x = 300
  print(x)

myfunc()

函数内部的函数

如上面的示例所解释的那样,变量 x 在函数外部不可用,但可以在函数内部的任何函数中使用:

示例:局部变量可以从函数内部的函数中访问:

def myfunc():
  x = 300
  def myinnerfunc():
    print(x)
  myinnerfunc()

myfunc()

全局作用域

在 Python 代码的主体部分创建的变量是全局变量,属于全局作用域。全局变量可以在任何作用域中使用,包括全局作用域和局部作用域。

示例:在函数外部创建的变量是全局的,并且可以被任何人使用:

x = 300

def myfunc():
  print(x)

myfunc()

print(x)

变量命名

如果在函数内部和外部使用相同的变量名称,Python 将把它们视为两个不同的变量,一个在全局作用域(函数外部)中可用,另一个在局部作用域(函数内部)中可用:

示例:该函数将打印局部变量 x,然后代码将打印全局变量 x:

x = 300

def myfunc():
  x = 200
  print(x)

myfunc()

print(x)

global 关键字

如果需要创建一个全局变量,但又受限于局部作用域,可以使用 global 关键字。global 关键字将变量声明为全局变量。

示例:如果使用 global 关键字,变量将属于全局作用域:

def myfunc():
  global x
  x = 300

myfunc()

print(x)

此外,如果您希望在函数内部更改全局变量的值,也可以使用 global 关键字。

示例:要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:

x = 300

def myfunc():
  global x
  x = 200

myfunc()

print(x)

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

标签:myfunc,函数,示例,作用域,global,Python,print
From: https://blog.51cto.com/xiaowange/8072685

相关文章

  • 手把手教你用python一键抢12306火车票(附代码)
    哈喽,哈喽~,一年一度的抢火车票大战正式拉开序幕…然饿大多数人碰到的是这种情况:当你满心期待摩拳擦掌准备抢票的时候,你会发现一票难求!想回趟家真难!那么作为程序猿的你,当然要用程序猿的方式来抢票!下面分享用python来抢票!欢迎关注公众号:每日推荐系列,提供各种免费资源!也可以咨询代码问......
  • Python 作用域:局部作用域、全局作用域和使用 global 关键字
    变量只在创建它的区域内可用。这被称为作用域。局部作用域在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用。示例:在函数内部创建的变量在该函数内部可用:defmyfunc():x=300print(x)myfunc()函数内部的函数如上面的示例所解释的那样,变量x......
  • python__requests模块的session对象
    *****************************************************************************************************************************************************************************************************************面试时,面试官问我:自动化中,只需要登录一次,就可以跑其......
  • python 类的继承
    假设父类:classParent(object):def__init__(self):print("打印父类")print(__class__)self.p_name="父类属性"self.p_code="10000"defget_parent_function(self):print("打印父类方法")de......
  • 【ArcPy】Python工具的参数校验
    在updateMessages方法中检查输入图层数据源的工作空间是否是本地数据,如果不是,设置错误。在updateParameters方法中从图层派生出第4个参数,即输出要素类的路径。注意该参数的类型需要是“派生(Derived)”importarcpyclassToolValidator(object):"""Classforvalidatingatoo......
  • 【Python数据可视化】2023中秋国庆电影票房数据
    ......
  • Python基础知识点
    一:常数、变量和数据类型1。常数和变量的差异一个程序通常都会有被处理的对象,而这些对象在被处理之前要以一些特定的类型存放在内存的某一个位置,需要的时候再拿出来处理。程序设计语言会把放置数据的那些内存位置都给一个名字,并把这个概念以“变量”来命名。放在这些位置的里面的数......
  • allure使用,python
    1、安装pytest2、安装allure-pytest3、下载allurepipinstallpytestpipinstallallure-pytest下载allure下载链接:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.3/配置环境变量 ......
  • python.exe -m pip install --upgrade pip什么问题
    python.exe-mpipinstall--upgradepip命令的目的是升级Python包管理工具pip到最新版本。这通常是一个有用的操作,以确保你的pip版本是最新的,以便更好地管理Python包和依赖关系。但是,这个命令可能会遇到一些问题,具体取决于你的系统和安装环境。以下是一些可能的问题和......
  • Python变量的作用域教程
    在写代码的时候,免不了要使用变量。但程序中的一个变量并不一定是在哪里都可以被使用,根据情况不同,会有不同的“有效范围”。看这样一段代码:deffunc(x):print('Xinthebeginningoffunc(x):',x)x=2print('Xintheendoffunc(x):',x)x=50fu......