Python 代码。输入模块名称错误
Python code. Name error with input module
这是我正在使用的代码。我正在使用两组代码。当我将代码合并到一个程序中时,它按预期的方式工作。当我尝试导入 "arithemtics" 模块时,它不会定义变量。我花了很多时间试图解决这个问题,但我担心它非常简单
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
total(num1,num2)
difference(num1,num2)
product(num1,num2)
quotient(num1,num2)
main()
这里是"arithmetics"输入模块
def total(num1,num2):
total = num1 + num2
print(format(total, ',.1f'))
def difference(num1,num2):
difference = num1 % num2
print(format(difference, ',.1f'))
def product(num1,num2):
product = num1 * num2
print(product)
def quotient(num1,num2):
quotient = num1 / num2
print(quotient)
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
arithmetics.total(num1,num2)
arithmetics.difference(num1,num2)
arithmetics.product(num1,num2)
arithmetics.quotient(num1,num2)
main()
这是因为函数在arithmetics
模块中,不能通过import arithmetics
全局访问,arithmetics
中的函数需要用模块名调用后跟像这样的函数名称 arithmetics.<function>
.
或者你可以这样做:
from arithmetics import *
这会将 arithmetics
中的所有函数导入脚本的范围,就好像它们是在脚本本身中定义的一样。
请注意,做 from x import *
(尤其是本例中的星号)并不是最优雅或最有效的做事方式,如果可能,请尝试仅从库中导入您需要的函数(在您的情况下星标会起作用,因为您无论如何都在使用所有功能,但其他库可能很大,您可能不需要所有功能)。
要做到这一点,您可以这样做:
from arithmetics import total, difference, product, quotient
如果你使用
import arithmetics
您需要像这样限定函数名称
arithmetics.total
arithmetics.difference
arithmetics.product
arithmetics.quotient
或者
from arithmetics import total, difference, product, quotient
那么这些名字就可以在你的模块中正常使用了
第三个选择
from arithmetics import *
不鼓励,因为它不明确,并且当有人向 arithmetics
添加更多可能导致冲突的名称时可能会导致神秘的破坏
这是我正在使用的代码。我正在使用两组代码。当我将代码合并到一个程序中时,它按预期的方式工作。当我尝试导入 "arithemtics" 模块时,它不会定义变量。我花了很多时间试图解决这个问题,但我担心它非常简单
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
total(num1,num2)
difference(num1,num2)
product(num1,num2)
quotient(num1,num2)
main()
这里是"arithmetics"输入模块
def total(num1,num2):
total = num1 + num2
print(format(total, ',.1f'))
def difference(num1,num2):
difference = num1 % num2
print(format(difference, ',.1f'))
def product(num1,num2):
product = num1 * num2
print(product)
def quotient(num1,num2):
quotient = num1 / num2
print(quotient)
import arithmetics
def main():
num1 = float(input('Enter a number:'))
num2 = float(input('Enter another number:'))
arithmetics.total(num1,num2)
arithmetics.difference(num1,num2)
arithmetics.product(num1,num2)
arithmetics.quotient(num1,num2)
main()
这是因为函数在arithmetics
模块中,不能通过import arithmetics
全局访问,arithmetics
中的函数需要用模块名调用后跟像这样的函数名称 arithmetics.<function>
.
或者你可以这样做:
from arithmetics import *
这会将 arithmetics
中的所有函数导入脚本的范围,就好像它们是在脚本本身中定义的一样。
请注意,做 from x import *
(尤其是本例中的星号)并不是最优雅或最有效的做事方式,如果可能,请尝试仅从库中导入您需要的函数(在您的情况下星标会起作用,因为您无论如何都在使用所有功能,但其他库可能很大,您可能不需要所有功能)。
要做到这一点,您可以这样做:
from arithmetics import total, difference, product, quotient
如果你使用
import arithmetics
您需要像这样限定函数名称
arithmetics.total
arithmetics.difference
arithmetics.product
arithmetics.quotient
或者
from arithmetics import total, difference, product, quotient
那么这些名字就可以在你的模块中正常使用了
第三个选择
from arithmetics import *
不鼓励,因为它不明确,并且当有人向 arithmetics
添加更多可能导致冲突的名称时可能会导致神秘的破坏