局部变量是不可以再函数外访问的。
创新互联建站是专业的茫崖网站建设公司,茫崖接单;提供网站设计制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行茫崖网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
如果坚持访问,有两个办法:
1)把a修改成全局变量;
2)把function2定义在function1的内部。
def 函数名():
函数体
return 返回值
def 函数名(非可选参数,可选参数):
函数体
return 返回值
def 函数名(参数,*b):
函数体
return 返回值
函数名 = lambda 参数 : 表达式
例1:f = lambda x , y : x + y
调用:f(6 + 8) 输出:14
例2: f = lambda : "没有参数的lambda函数!"
调用: print(f()) 输出: 没有参数的lambda函数!
1234def aaa(): s = 5 return sprint aaa()
或者:
12345def aaa(): global s s = 5aaa()print s
要在函数外部访问函数的内部变量,要么使用return将其返回到外部,要么用global定义为全局变量。推荐前一种。
def只是定义函数,你还没有调用和执行该函数。此外,要在控制台输出,你可以在函数内部写上print s+3 ,然后调用函数aaa()。
或者定义一个类:
1234class aaa: s = 5b = aaa #初始化一个类的实例print b.s #当然,你也可以直接使用aaa.s
例如一个函数内有一个变量i,怎么在函数外或另一个函数中调用或更改它。新手学习,谢谢。
==============================
不能在函数外更改某函数里的局部变量,因为每当你实例化那个函数的时候,那个函数里面的局部变量也会被重新赋值,重新定义,谈何更改呢?
这一个全部变量和局部变量的问题,如果要实现楼主说的,必须使用全局变量(类中的self):
================bianliang.py===========
#coding:
utf-8
i
=
#定义一个全局变量i
def
a():
'''
打印出i的值
'''
i
def
b():
global
i
a()
#调用a方法
i
#打印i
i
=
1000
#重新赋值i
i
#打印i
a()
#再次调用a方法
b()
=================================
%python
bianliang.py
1000
1000
这个py文件里面使用了一个全局变量i,实现了a方法和b方法共用参数i