如何在python中从一个脚本导入和更改值?

2024-04-25 02:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在用python编写一个数字ATM。当我想创建一个具有可定制的balance值的用户时,遇到了这个问题,但是在一个不同的python脚本文件中(我们称这个文件为B)。在主脚本文件的函数中,它更改导入的值。问题是文件B中的值没有改变。我能做些什么来完成这件事?你知道吗

所以有些变量是瑞典语。希望不要麻烦了!你知道吗

文件A

def overfor():
overforingsInput = float(input('Hur mycket vill du överföra?\n'))
if User1.saldo - overforingsInput > 0:
    User1.saldo - overforingsInput
print '-', overforingsInput, 'kr\n', 'Ditt saldo är nu', User1.saldo, 'kr'

文件B

class User1:
userName = 'felsaf'
userPin = 1234
saldo = 150

Tags: 文件函数用户脚本inputdef数字float
1条回答
网友
1楼 · 发布于 2024-04-25 02:30:15

只需导入另一个模块而不是变量:

平均值:

balance = 4711

副驾驶:

# do NOT use:
from a import balance
balance = balance + 1

# DO use:
import a
a.balance = a.balance + 1

但是模块a中的一个方法可能比仅仅使用其他模块全局变量进行回火更合适:

平均值:

_balance = 4711

def get_balance():
    return _balance

def set_balance(new_balance):
    _balance = new_balance

或者在并发环境中:

from threading import Lock

_balance_lock = Lock()

class BalanceStale(Exception):
    pass

def set_balance_if_known_value_is_still_current(old_value, new_value):
    with _balance_lock:
        if _balance != old_value:
            raise BalanceStale('{} != {}'.format(_balance, old_value))
        else:
            _balance = new_value

相关问题 更多 >