首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解Python项目开发自定义模块对象的导入和使用

背景:1)任何一个Python程序文件既可以直接执行,也可以作为模块导入再使用其中的对象;2)对于大型系统开发,一般不会把所有代码放到单个文件,而是根据功能将其分类并分散多个模块,在编写小型项目最好也能养成这样的好习惯...本文介绍Python自定义模块对象的导入和使用。...add,这是因为child文件夹被认为是一个包,而add.py是包的子模块,并没有随着child一起导入。...继续执行下面的代码: >>> import child.add >>> child.add.add(3,5) 8 自定义模块的对象成功被导入并能够正常使用,也就是说,如果要使用的对象模块,应该单独使用...原因在于,如果文件夹作为包来使用,并且其中包含__init__.py文件,__init__.py文件的特殊列表成员__all__用来指定from ... import *哪些子模块或对象会被自动导入

3K50
您找到你想要的搜索结果了吗?
是的
没有找到

刚毕业去面试Python工程师,这几道题

PYTHONPATH是Python中一个重要的环境变量,用于导入模块的时候搜索路径.可以通过如下方式访问: ?...路径列表的第一个元素为空字符串,代表的是相对路径下的当前目录 由于导入模块的时候,解释器会按照列表的顺序搜索,直到找到第一个模块,所以优先导入模块为同一目录下的模块....导入模块搜索路径的顺序也可以改变.这里分两种情况: 通过sys.path.append(),sys.path.insert()等方法来改变,这种方法当重新启动解释器的时候,原来的设置会失效....Python的连接就是将两个序列连在一起,我们使用+运算符完成 第6题:Python的不足之处 Python有以下缺陷: Python的可解释特征会拖累其运行速度。...她专科学历 27岁从零开始学习c,c++,python编程语言 29岁编写百例教程 30岁掌握10种编程语言, 用自学的经历告诉你,学编程就找梦想橡皮擦 欢迎关注她的公众号,非本科程序员

54910

一文教你读懂 Python 的异常信息

(Pycharm 通过点击文件链接可以定位到具体位置) 在这个例子,因为我们的代码没有使用任何其他 Python 模块,所以我们在这里看到,它表示所处位置是执行的文件。...ImportError 使用 import 导入模块,如果要导入模块找不到,或者从模块导入模块不存在的内容。...,当我们使用 import 导入一个不存在的模块,就会出现 ModuleNotFoundError 的错误,Traceback 最下面一句信息给出了原因, 没有名为 aaa 的模块....给他重命名为 json,如果出现错误就会进入 except 模块 然后导入标准库的 json 包,因为这边的库名已经叫 json 了所以不用再重命名了。...这个例子 print 使用了没有定义过的变量 persn 所以出现了错误。 一般拼写变量名出现问题时会引发这种错误。

2.4K10

python笔记73-动态导入模块import_module 和 重载reload

前言 python动态加载import_module 和 重载reload 的使用 python环境:V3.6.x import_module 当我们在运行一段程序,根据需要动态加载一个模块,调用里面的方法...yoyo.py模块(2个文件同一层级) import importlib import inspect # 动态导入模块 m = importlib.import_module('yoyo') print...前面importlib.import_module()导入模块是没有问题的,但是如果在执行的过程 yoyo.py 模块发生了改变,会无法加载到最新的方法。...可以python交互环境测试次问题 D:\demo\demo>python Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v...") TypeError: reload() argument must be a module >>> 直接写模块名称会出现报错:reload() argument must be a module

1.3K50

Python之错误和异常、模块(基础系列第四篇)

在编程遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和异常,这两个是完全不同的概念,下面就开始介绍一下这两个概念的相关知识。...异常处理 对于Python解释器而言,如果一段程序某个部分出现了异常,那么其后面的代码将不会被运行,但Python中有方法可以对异常进行处理,让异常不报红,进而帮助整个程序完成运行,这种行为称作捕获异常...模块 第二部分就是模块,我们有时可能会在不同文件之间利用同一个函数,笨一点的做法就是copy来copy去,Python提供了一个机制可以将一个文件的内容导入另一个文件中使用,这样的文件就可以称为模块..., 13, 15, 17, 19] 如果你只想用一个模块的某个子模块,那么导入时就可以指明需要导入的部分,这样子模块就可以单独使用,不必模块名.函数名的形式: In [22]: from odd_num...import odd In [23]: odd(20) Out[23]: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] 如果你还想偷懒的话,可以利用'*'的形式导入,这写法是导入一个模块的所有子模块

77320

Python错误、异常和模块

在编程遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和逻辑错误,逻辑错误的种类有很多,占据了异常中大部分位置,下面就开始介绍一下这两个概念的相关知识。...异常处理 对于Python解释器而言,如果一段程序某个部分出现了异常,那么其后面的代码将不会被运行,但Python中有方法可以对异常进行处理,让异常不报红,进而帮助整个程序完成运行,这种行为称作捕获异常...模块 第二部分就是模块,我们有时可能会在不同文件之间利用同一个函数,笨一点的做法就是copy来copy去,Python提供了一个机制可以将一个文件的内容导入另一个文件中使用,这样的文件就可以称为模块..., 13, 15, 17, 19] 如果你只想用一个模块的某个子模块,那么导入时就可以指明需要导入的部分,这样子模块就可以单独使用,不必模块名.函数名的形式: In [22]: from odd_num...如果你有很多自定义的模块,为了更加规范、易找,那么你就可以将这些模块存入一个"包",需要注意的是,这个包中比如要有一个名为init.py的文件,这个文件可以为空但必须存在,然后导入模块的方式就是包名

1.2K40

Python模块、包、异常、文件(案例)

模块可以定义函数、类、变量,也可以包含可执行的代码 # 导入模块,也就是说,一个Python文件想要使用另外一个Python文件的函数或者变量,则需要导入模块导入模块有三种方式: #第一种:...() #打豆豆 # 注意:该种方式导入模块调用模块的函数、变量、类,必须前面加上模块名 # 模块名.函数名 #第二种:from 模块名 import 函数名 #导入模块的某一个函数...#22 #注意:该种方式导入模块调用模块的函数,可以直接使用函数名即可,不需要跟着模块名 #第三种:import 模块名 as 别名 import Python as p #调用python...模块的变量 print(p.name) #张三 p.eat("鸡腿") #正在吃: 鸡腿 #注意:该方式导入模块调用模块的函数,可以使用别名 #无论执行了多少次import,...一个模块只会被导入一次 #二包 # 实际的开发,一个大型的系统有成千上万的Python模块是很正常的事情。

72220

Python 错误类型

Copy Python 3.x ,print 是一个内置函数,需要括号。上面的语句违反了这种用法,因此会显示语法错误。 但是很多时候,程序在运行后会导致错误,即使它没有任何语法错误。...Python定义了许多内置的异常。让我们看看一些常见的错误类型。 下表列出了 Python 重要的内置异常。 例外 描述 断言错误 assert 语句失败引发。...欧费罗 当 input()函数达到文件结束条件引发。 浮动指针错误 浮点运算失败引发。 GeneratorExit 调用生成器的 close()方法引发。 导入错误 找不到导入模块引发。...索引错误 当序列的索引超出范围引发。 键错误 字典找不到键引发。 键盘中断 当用户点击中断键(Ctrl+c 或 delete)引发。 存储器错误 当操作耗尽内存引发。...unicode 翻译错误 当转换过程中出现与 Unicode 相关的错误时引发。 值错误 当函数获得类型正确但值不正确的参数引发。 零分割错误 当除法或模块运算的第二个操作数为零引发。

19320

Python自定义函数

调用abs函数: >>>abs(10) 10 >>>abs(-10) 10 >>>abs(10.11) 10.11 调用函数,如果参数的数量和所需参数不匹配,会报TypeError的错误,并且Python...,也会报TypeError的错误,并且Python也会告诉你:str是错误的参数类型。...那不得不提一下模块管理函数,当我们的自定义函数py文件1,我们py文件2想调用时如何使用呢,往下看: 方法一: 要想使用模块的函数需要:模块名+函数名 import module # 这个module...就是封装函数的那个文件名 test = module.max(1,2,3) # 这里使用的是一个内置函数,自定义函数同理 print(test) 方法二: 导入指定模块的指定函数: from 模块名 import...函数名 from module import test_add # 例如从module的模块导入test_add函数 分享就到这里,欢迎大家前来补充,喜欢记得点赞哦~ 这真的需要勇气,来面对鳞次栉比

79930

python常见报错以及解决方案(持续更新)

可能出现的原因: 1.命名.py文件,使用了Python保留字或者与模块名等相同。 解决:修改文件名 2…pyc文件缓存了没有更新的代码。...可能出现的原因: 1.Python内置对象没有属性。 解决:去除相关访问 2.Python自定义对象没有设置属性。 解决:自定义对象添加属性 3.通过类名访问实例属性。...解决:删除前先判断是否存在 ModuleNotFoundError: No module named’ pymysql ’ 描述:模块不存在,可能出现的原因: 1.模块名称拼写错误。...解决:修改正确 2.没有引入模块。 解决:使用import语句导入模块 3.没有下载第三方模块。...解决:定义变量 2.Python3版本不支持某些Python2的函数或方法,如xrange()。

1.4K30

通过内置对象理解 Python(一)

这个特定的模块定义 _frozen_importlib 模块,用于导入内置模块。 更仔细地看一下之前的 mytest....Python 冻结了这两个模块,因为它们实现了导入系统的核心,因此,当解释器启动,它们不能像其他 Python 文件一样被导入。本质上,它们的存在是为了引导导入系统。...__cached__ 当导入一个模块, __cached__ 属性存储该模块的已编译的 Python 字节码的缓存文件的路径。 你可能对 Python 的“编译”感到奇怪,没错。...导入模块,将源码“编译为字节码”要花费一定时间,而后,Python 将字节码存储到 .pyc 文件,并将其存储名为 __pycache__ 的文件夹。...当以后再次导入同一个模块Python 会检查该模块的 .pyc 版本是否存在,然后直接导入已经编译过的版本,从而节省大量的时间和计算。

49510

python学习笔记:第19天 类的约束

python中有两种办法来约束类的方法: 第一种方法使用继承的特性:提取⽗类,然后⽗类定义好⽅法,在这个⽅法什么都不⽤⼲,就抛⼀个异常就可以了。...python约束的⽅式和⽅法有两种: 使⽤抽象类和抽象⽅法, 由于该⽅案来源是java和c#. 所以使⽤频率还是很少的 使⽤⼈为抛出异常的⽅案....上面我们捕获到异常都是python自定义的异常(TypeError和Except等),一些特定的场景可能python内置的异常种类不能全部适用,所以我们需要抛出自定义的异常。...python我们不需要⼿写这⼀套算法,只需要引入⼀个叫hashlib的模块就能搞定MD5的加密⼯作: import hashlib obj = hashlib.md5()...四、日志(logging模块) logging模块的使用方法: 导入logging模块 简单配置⼀下logging 出现异常的时候(except).

47310

Python花式错误集锦(长期更新)

于是,问题来了,对于初学者,往往写代码的过程出现这样或那样的错误,导致程序运行报错。这些错误或简单,或复杂,或诡异,或神奇,要么令人抓耳挠腮,要么让人恼羞成怒,要么让人难以忘怀。...到底有哪些错误呢,请看DE8UG给你带来的"Python花式错误集锦",如果你遇到了Python开发的错误,从本文搜索关键词并得到解决,那是我的荣幸。...语法错误篇 缩进IndentationError 这是复制粘贴代码,或者不熟悉Python代码结构时候,经常范的错误。Python要求同一逻辑的代码块使用同样的缩进(常用4个空格)。...name)) # bytes print(type(name.decode())) # str, decode(encoding='utf-8', errors='strict') --> str 导入模块篇...没有提前导入 这种情况经常发生在使用某些模块的功能,但是py文件头部忘记导入 json.loads('{"name":"de8ug", "city":"beijing"}') NameError

88320

Python编程的Bug漫谈:解决问题的艺术

本文中,我将分享一些我Python编程过程遇到的Bug以及解决它们的心得体会。 1. 类型错误(Type Error):混淆的根源 Python,类型错误是最常见的Bug之一。...这通常是由于对列表进行迭代或索引出现的小错误引起的 my_list = [1, 2, 3] element = my_list[5]  # 引发 IndexError 避免这类Bug的方法包括确保你的索引列表的有效范围内...模块导入错误(ModuleNotFoundError):路径问题 Python模块导入可能会遇到路径问题,特别是当你的项目结构比较复杂。...确保你的模块路径正确,可以通过设置sys.path或使用相对导入来解决这类问题。...my_function  # 或者使用 sys.path 调整路径 Python的旅程,遇到Bug并非坏事。

16910

Datawhale组队学习 -- Task 3: Python的异常类型总结和捕获语句

计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常,异常处理程序将被启动,从而恢复程序的正常运行。 1....EnvironmentError:操作系统异常的基类 IOError:输入/输出操作失败 OSError:操作系统产生的异常(例如打开一个不存在的文件) WindowsError:系统调用失败 ImportError:导入模块失败的时候...:Unicode编码错误导致的异常 UnicodeTranslateError:Unicode转换错误导致的异常 异常体系内部有层次关系,Python异常体系的部分关系如下所示: ---- 2....PendingDeprecationWarning:关于特性将会被废弃的警告 RuntimeWarning:可疑的运行时行为(runtime behavior)的警告 SyntaxWarning:可疑语法的警告 ImportWarning:用于导入模块过程触发的警告...(尝试使用try catch异常处理结构对输入情况进行处理) 获取随机数采用random模块

85440

Python】【天池龙珠计划笔记】Python的异常处理

计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常,异常处理程序将被启动,从而恢复程序的正常运行。 1....EnvironmentError:操作系统异常的基类 IOError:输入/输出操作失败 OSError:操作系统产生的异常(例如打开一个不存在的文件) WindowsError:系统调用失败 ImportError:导入模块失败的时候...:Unicode编码错误导致的异常 UnicodeTranslateError:Unicode转换错误导致的异常 异常体系内部有层次关系,Python异常体系的部分关系如下所示: ---- 2....PendingDeprecationWarning:关于特性将会被废弃的警告 RuntimeWarning:可疑的运行时行为(runtime behavior)的警告 SyntaxWarning:可疑语法的警告 ImportWarning:用于导入模块过程触发的警告...如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try

85910
领券