
正文
python跨函数变量 python跨模块全局变量
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
python跨模块调用函数的问题?
有什么办法省略掉那些被调用函数的参数?
也就是func2只想在调用是传入一个c。
那么func2在定义的时候必须喂饱func1,也就是func2在调用 func1时,当前作用域中要有a,b。
明显图中是没有做到的,没有实际ab
b可以试试在这个文件中直接定义 ab两个变量,那么在第三个文件中引入 func2,就可以直接传c给func2了,因为ab已经在上一步被配置好。
相关问答
Q1: python 一个函数怎么使用另一个函数内的变量
例如一个函数内有一个变量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
Q2: python实现跨文件全局变量的方法
python实现跨文件全局变量的方法
在使用Python编写的应用的过程中,有时候会遇到多个文件之间传递同一个全局变量的情况。本文就此给出了如下的解决方法供大家参考。
文件1:globalvar.py
#!/usr/bin/env python2.7
class GlobalVar:
db_handle = None
mq_client = None
def set_db_handle(db):
GlobalVar.db_handle = db
def get_db_handle():
return GlobalVar.db_handle
def set_mq_client(mq_cli):
GlobalVar.mq_client = mq_cli
def get_mq_client():
return GlobalVar.mq_client
文件2:set.py
import globalvar as GlobalVar
def set():
GlobalVar.set_mq_client(10)
print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())
文件3:get.py
#!/usr/bin/env python2.7
import globalvar as GlobalVar
def get():
print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())
文件4:main.py
#!/usr/bin/env python2.7
import set
import get
set.set()
get.get()
其中globalvar.py中定义了两个全局变量,在set.py中的set函数中对其进行赋值,在get.py文件中的get函数取值并打印。main.py函数作为应用入口,调用set和get。
这样就可以看到一个完整的应用中,全局变量的跨文件使用。
Q3: python的函数里面定义的变量在函数外面怎么用?
局部变量是不可以再函数外访问python跨函数变量的。
如果坚持访问python跨函数变量,有两个办法python跨函数变量:
1)把a修改成全局变量python跨函数变量;
2)把function2定义在function1python跨函数变量的内部。
python跨函数变量的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python跨模块全局变量、python跨函数变量的信息别忘了在本站进行查找喔。







