python函数局部变量用法实例分析

 更新时间:2015年08月04日 11:50:17   作者:东郭先生  
这篇文章主要介绍了python函数局部变量用法,较为详细的分析了Python局部变量的原理与使用技巧,并对比分析了局部变量与global全局变量的用法区别,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了python函数局部变量用法。分享给大家供大家参考。具体分析如下:

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

一、使用局部变量

示例如下:

#!/usr/bin/python
# Filename: func_local.py
def func(x):
  print 'x is', x
  x = 2
  print 'Changed local x to', x
x = 50
func(x)
print 'x is still', x

输出:

$ python func_local.py
x is 50
Changed local x to 2
x is still 50

工作原理:

在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。
接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。
在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

二、使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

使用global语句示例:

#!/usr/bin/python
# Filename: func_global.py
def func():
  global x
  print 'x is', x
  x = 2
  print 'Changed local x to', x
x = 50
func()
print 'Value of x is', x

输出:

$ python func_global.py
x is 50
Changed global x to 2
Value of x is 2

工作原理:

global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。
你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • Python入门必须知道的11个知识点

    Python入门必须知道的11个知识点

    这篇文章主要为大家详细介绍了Python入门必须知道的11个知识点,帮助更好地了解python,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 你真的了解Python的random模块吗?

    你真的了解Python的random模块吗?

    这篇文章主要介绍了Python的random模块的相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Python搭建HTTP服务过程图解

    Python搭建HTTP服务过程图解

    这篇文章主要介绍了Python搭建HTTP服务过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python实现Linux命令xxd -i功能

    Python实现Linux命令xxd -i功能

    这篇文章主要介绍了Python实现Linux命令xxd -i功能的相关资料,需要的朋友可以参考下
    2016-03-03
  • Python容器使用的5个技巧和2个误区总结

    Python容器使用的5个技巧和2个误区总结

    在本篇文章里小编给大家整理的是关于Python容器使用的5个技巧和2个误区的相关知识点内容,需要的朋友们学习下。
    2019-09-09
  • 修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法

    修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法

    这篇文章主要介绍了修复CentOS7升级Python到3.6版本后yum不能使用的问题,本文给大家带来了解决方法,需要的朋友可以参考下
    2018-01-01
  • python 爬取华为应用市场评论

    python 爬取华为应用市场评论

    项目需要爬取评论数据,在此做一个记录,这里爬取的是web端的数据,以后可能会考虑爬取android app中的数据。
    2021-05-05
  • Python利用PyQT5设置闹钟功能

    Python利用PyQT5设置闹钟功能

    这篇文章主要介绍了通过PyQt5实现设置一个小闹钟的功能,到了设置的时间后可以响起一段音乐来提醒。感兴趣的小伙伴可以跟随小编一起试一试
    2022-01-01
  • 基于python tornado实现图床功能

    基于python tornado实现图床功能

    因为买了阿里/腾讯的云服务器,但是使用云存储还需要收费,又加上家里正好有一台nas,又加上闲的没事,所以搞了一个小脚本,这个项目主要功能是为typora增加一个自定义图床,本文给大家介绍基于python tornado实现图床功能,感兴趣的朋友一起看看吧
    2023-08-08
  • python进阶教程之循环相关函数range、enumerate、zip

    python进阶教程之循环相关函数range、enumerate、zip

    这篇文章主要介绍了python进阶教程之循环相关函数range、enumerate、zip,在使用循环程序经常要配合这些函数来完成循环,需要的朋友可以参考下
    2014-08-08

最新评论