python交互环境中导入文件中自定义的函数报错

今天在学习python自定义函数时,遇到一个问题:我用notepad++编辑器自定义的函数,在交互环境下使用from 文件名 import 函数名 导入时,一直报错,检查了好几遍,一直报这个错:

代码如下:

# -*-coding:utf-8 -*-
#自定义函数 def 函数名(参数1,参数2...): 然后在缩进体内编写函数体,用return返回值
#自定义求绝对值函数
#def my_abs(x):
    #如果参数类型不是int或者float,会抛出类型错误异常
#    if not isinstance(x,(int,float)):
#        raise TypeError(‘bad operand type‘)
#    if x > 0 :
#        return x
#    else :
#        return -x

#print(my_abs(-2))

import math

def quadratic(a,b,c):
    if (not isinstance(a,(int,float))) or (not isinstance(b,(int,float))) or (not isinstance(c,(int,float))):
        raise TypeError("bad operand type")
    x = (b*b)/(4*a*a)-c/a
    y = math.sqrt(x)-b/(2*a)
    return y

最后发现再导入的时候没有生成编译文件,把之前的编译文件删除之后再重新导入下就可以了

原文地址:https://www.cnblogs.com/zhlblogs/p/9539327.html

时间: 2024-08-01 16:24:12

python交互环境中导入文件中自定义的函数报错的相关文章

STL中map容器使用自定义key类型报错详解

引言 STL的map容器中,key的类型是不是随意的呢? 实践 编写测试代码 定义一个结构体来试试: struct a { char* pName; int m_a; }; map<a, int> mp; a a1; a1.m_a = 100; a1.pName = "a1"; a a2; a2.m_a = 200; a2.pName = "a2"; mp.insert(std::make_pair(a1, 1)); mp.insert(std::mak

Matlab中如何将(自定义)函数作为参数传递给另一个函数

Matlab中如何将(自定义)函数作为参数传递给另一个函数 假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄——这时类似于函数指针的一项功能.假如我们现在已经编写了一个辛普森方法积分的函数如下,我们要把函数作为参数传给它(当然啦,matlab早已经提供给我们非常牛x的积分函数了,这里只是个例子而已):function g=myintegrate(f,N,a,b)%int

重定向C库中stdio文件中的printf()函数,文件流--&gt;串口USART1

6.4 一些说明 数据属性可以重写同名的方法属性.这是为了避免在大型系统中产生问题的意外名称冲突.所以用一些减少冲突的常用方法是很有效果的.常用的方法包括:大写字母方法名称,用唯一的字符串来做为数据属性的名称(可以是个下划线_)或者用动词命名方法和用名字命名数据属性. 数据属性就像和对象的普通用户一样可以被方法引用.换句话说,类不能用来实现纯净的数据类型.事实上,在python中不能强制数据隐藏,一切基于约定.(另一方面,如C中写的,python的实现可以做到完全隐藏实现细节并且在必要是可以控制

Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named &#39;bs4&#39;

学习网络抓取时,第一步出现问题. 执行示例代码 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen("http://www.pythonscraping.com/exercises/exercise1.html") bsObj = BeautifulSoup(html, "html.parser") print(bsObj.h1) 执行结果 Traceback

解决python中selen模块中&#39;list&#39; object has no attribute &#39;send_keys&#39;报错

程序在执行如下代码的时候报错'list' object has no attribute 'send_keys' 解决: 把find_elements_by_id方法改成find_element_by_id 参考: https://stackoverflow.com/questions/29957373/selenium-python-send-key-error-list-object-has-no-attribute 解决python中selen模块中'list' object has no

PyChram中同目录下import引包报错的解决办法?

相信很多同学和我一样在PyChram工具中新建python项目的同目录下import引包会报错提示找不到,这是因为该项目找不到python的环境导致的: 解决办法: 1.首先找到Python的安装文件目录如我的是:C:\Python27\Lib\site-packages 在目录下新建--项目名.pth---文件内容如下: #项目路径C:\seleniumtest\myweb C:\seleniumtest\myweb\myweb #应用程序路径 C:\seleniumtest\myweb\bl

IDEA中写MyBatis的xml配置文件编译报错的坑

IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为: xml中1字节的UTF-8序列的字节1无效 The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a

解决Ext4.2.3中propertyGrid修改后点击排序报错

Ext4.2.3中PropertyGrid修改后点击排序报错,具体错误信息如下: 一开始还怀疑是自己哪里配置错了,各种尝试结果还是一样.查遍百度和谷歌,无果,只有一篇帖子说是4.2.4修正了.还是自己动手吧,自己动手丰衣足食. 点开报错地方(如下图所示),原来是me.field.column没有定义. 然后继续找,找啊找啊找到Ext.grid.property.Grid的getCellEditor方法.此方法有参数column,可在方法体内,column就没有被用到过,于是就感觉问题出在这里.

VS Code中怎么解决 TSLint: &quot; should be &#39; (quotemark) 报错问题?

VS Code配置typescript问题: VS Code中, user setting中将autoFixOnSave 设置为true. ref:https://github.com/praveenpuglia/angular-sanity/issues/4 VS Code中怎么解决 TSLint: " should be ' (quotemark) 报错问题? 原文地址:https://www.cnblogs.com/watermarks/p/9520949.html