python 一个函数怎么使用另一个函数内的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 一个函数怎么使用另一个函数内的变量相关的知识,希望对你有一定的参考价值。

例如一个函数内有一个变量i,怎么在函数外或另一个函数中调用或更改它。新手学习,谢谢。
==============================
不能在函数外更改某函数里的局部变量,因为每当你实例化那个函数的时候,那个函数里面的局部变量也会被重新赋值,重新定义,谈何更改呢?
这一个全部变量和局部变量的问题,如果要实现楼主说的,必须使用全局变量(类中的self):
================bianliang.py===========
#coding:
utf-8
i
=
0
#定义一个全局变量i
def
a():
'''
打印出i的值
'''
print
i
def
b():
global
i
a()
#调用a方法
print
i
#打印i
i
=
1000
#重新赋值i
print
i
#打印i
a()
#再次调用a方法
b()
=================================
%python
bianliang.py
0
0
1000
1000
这个py文件里面使用了一个全局变量i,实现了a方法和b方法共用参数i
参考技术A 不能在函数外直接访问,
如果是嵌套函数且变量不重名,内层函数可以直接访问外层函数变量
其他情况,应该向函数传递参数,由它自己来更改

python如何调用另一个py文件的所有函数

#import all_functions as af
import C:\\Users\\93624\\Desktop\\all_functions.py as af
我用了两种办法,文件就放在桌面上,执行都会提示"mismatched input ':' expecting NEWLINE"

在同一个文件夹下

调用函数:

A.py文件:

B.py文件:

调用类:

A.py文件:

B.py文件:

在不同文件夹下

A.py文件的文件路径:E:\\PythonProject\\winycg

B.py文件:

针对这个问题,网上有很多的解决方式。其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径。针对不同的环境和问题有不同的方法,大家可自行测试。

方法一

    环境,Python为3.5,pycharm工作区间。主文件(main_preprocess.py)需要运用split_by_date.py中的函数,main_preprocess与split_by_date在同一个大文件夹下,其中split_by_date在preprocess文件夹下

2.文件夹目录视图:

3.以下问题针对的问题如下:

在此处有一个文件   application/app/folder/file.py

想在 application/app2/some_folder/some_file.py  中应用file.py

方法二

方法三

但是这个方法必须保证folder文件夹(也就是需要的文件夹下)包含__init__.py,若是没有,可以新建一个

方法四

此法适用于 python3 on linux

方法五

当文件在平行路径下时,如

application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py

参考技术A 。。。。
把all_functions放到你需要调用的py文件的同级目录
用from all_functions import *
这样,all_functions中有方法test()
那么你可以直接调用test()追问

ImportError: No module named all_functions
我放在一个目录下面会提示这个

追答

这是不科学的。。。。

你确定是一个目录下?

比如你在test.py中

from all_functions import *

test()

all_functions.py 和 test.py需要在同级目录中

追问

我就把2个脚本放在了桌面上啊 然后monkeyrunner执行了另一个来调用all_functions.py

追答

我就把2个脚本放在了桌面上啊  然后monkeyrunner执行了另一个来调用all_functions.py

那还有一种方法是:

在你执行的那个脚本里把all_functions.py的路径添加到path中

path = 'X:/xxx/xxx/xxxx/'#all_functions.py的所在路径
sys.path.append(path)

参考技术B

方案如下:

    将另一个py做成一个包,或者直接和调用文件放在同一个目录下;

    在调用者文件头引入:from py名字 import *;

    这样就可以使用另一个py文件的所有函数了。

参考技术C all_functions.py文件里有语法错误 参考技术D from Py文件名 import *
....不知道是不是你想要的本回答被提问者采纳

以上是关于python 一个函数怎么使用另一个函数内的变量的主要内容,如果未能解决你的问题,请参考以下文章

Python:修改内部方法内的方法局部变量

Python模拟补丁在另一个函数内的一个函数

如何从Python中的另一个函数调用函数内的函数? [重复]

从另一个返回对象内的函数的返回对象中构造变量

python怎么调用另一个路径下py文件的函数

python中是如何实现将一个函数中定义的变量在另一个函数中改变其值的