python错误:TypeError: 'module' object is not callable

本文介绍了一个简单的Python程序,用于求解二次方程并讨论了如何正确地从一个文件导入并调用另一个文件中的函数。此外,还提到了文件命名可能对标准库函数调用产生的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、调用自己写的库函数

文件:quadratic.py

import math
def quadratic(a,b,c):
    x1 = float()
    x2 = float()
    if a == 0:
        if b == 0:
            if c == 0:
                print('有无穷解')
            else:
                print('无解')
        else:
            x1 = -(b/c)
            print('只有一个解,x1 = %.4f'%x1)
    else:
        det = b*b-4*a*c
        if det > 0:
            print('无实数解')
        elif det == 0:
            x1 = -(b/(2*a))
            x2 = x1
            print('有两个相同解,x1 = %.4f,x2 = %.4f'%(x1,x2))
        else:
            temp = math.sqrt(det)
            x1 = (-b + temp)/(2*a)
            x2 = (-b - temp)/(2*a)
            print('有两个解,x1 = %.4f,x2 = %.4f'%(x1,x2))



问题:

文件:text.py

import quadratic

a = 1.0
b = 2.0
c = 1.0

quadratic(a, b, c)

执行以上文件将会出现错误:TypeError: 'module' object is not callable


解决办法:

方法一: 

from datetime import datetime是只引入datetime包里的datetime类,在使用时无需添加模块名的限定

查阅了之后发现需要如下写法才能运行:(from ... import ...)

from quadratic import quadratic
a = 1.0
b = 2.0
c = 1.0
quadratic(a, b, c)

方法二:

import datetime是引入整个datetime包,如果使用datetime包中的datetime类,需要加上模块名的限定

import quadratic

a = 1.0
b = 2.0
c = 1.0

quadratic.quadratic(a, b, c)


二、文件命名影响调用原库函数

当文件命名为 ‘numpy.py’ 时,在文件内调用如下:

import numpy as np
a = np.random.rand(10)
print(a)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值