python 一个函数怎么使用另一个函数内的变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 一个函数怎么使用另一个函数内的变量相关的知识,希望对你有一定的参考价值。
例如一个函数内有一个变量i,怎么在函数外或另一个函数中调用或更改它。新手学习,谢谢。==============================
不能在函数外更改某函数里的局部变量,因为每当你实例化那个函数的时候,那个函数里面的局部变量也会被重新赋值,重新定义,谈何更改呢?
这一个全部变量和局部变量的问题,如果要实现楼主说的,必须使用全局变量(类中的self):
================bianliang.py===========
#coding:
utf-8
i
=
0
#定义一个全局变量i
def
a():
'''
打印出i的值
'''
i
def
b():
global
i
a()
#调用a方法
i
#打印i
i
=
1000
#重新赋值i
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
把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文件的所有函数了。
....不知道是不是你想要的本回答被提问者采纳
以上是关于python 一个函数怎么使用另一个函数内的变量的主要内容,如果未能解决你的问题,请参考以下文章