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

python学习第五讲,python基础语法函数语法,与Import导入模块.

目录 python学习第五讲,python基础语法函数语法,与Import导入模块....一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函数的返回值 二丶模块中的函数使用 1.python中的模块使用以及介绍. python学习第五讲...,python基础语法函数语法,与Import导入模块....模块是 Python 程序架构的一个核心概念 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入 import 这个模块 每一个以扩展名 py 结尾的 Python 源代码文件都是一个...模块的使用: 语法: import 模块名字.py 模块名字.函数(); 就是在使用函数的时候,需要加上模块名称了.

41220

【Python】模块导入 ⑤ ( 主程序判断语句 | 模块中执行函数问题 | 制作自定义模块并执行函数 | 导入自定义模块会执行模块中的代码 )

一、模块中执行函数问题 1、制作自定义模块并执行函数 如果在自定义模块中 , 定义了函数 , 并且调用了该函数 ; 如下代码所示 : def add(a, b): print("调用 my_module...with exit code 0 2、导入自定义模块会执行模块中的代码 在主代码中 , 导入自定义模块 ; """ 自定义模块 代码示例 """ # 导入自定义模块 import my_module...执行上述代码 , 结果如下 , 没有调用 my_module 模块中的函数 , 但是该函数还是触发了 ; D:\001_Develop\022_Python\Python39\python.exe D...主程序判断语句 : if __name__ == '__main__': 其作用是 判断当前模块 是否作为独立的主程序运行 ; 一个模块可以被其他模块导入 , 也可以作为独立的主程序运行 ; 当一个模块导入时..., Python 引入了一个 特殊变量 __name__ , 该变量会根据当前模块的运行方式不同而有所不同 ; 当一个模块导入时 , __name__ 的值为该模块的名称 , 此时 if __name

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

Python小技之自定义不同文件夹下模块导入问题

一般在写一个项目的时候, 为了将项目模块化, 更加的清晰明了, 会将不同功能的模块放入不同的文件夹 项目如下: ├── spider │ └── spider.py # 爬虫文件 └── utils...├── __init__.py └── downloads.py # 下载模块 downloads.py内容如下: def download(): print("import...download") spider.py内容如下: from ..utils.downloads import download download() 一切看起来都是那么美好 当你试图运行 问题一出现...: cd spider python3 spider.py 会得到: # 相对导入超出顶级包错误 Traceback (most recent call last): File "spider.py...wx_post/py_module/") 在运行一下: > import download 果然可以了, 但是不能把所有的路径都添加一边吧, 大神到这步应该就知道怎么解决了吧 解决: 其实, 说来说去, 根本问题就是脚本工作目录的问题

1.1K20

【Python】模块导入 ④ ( 自定义模块 | 制作自定义模块 | 使用 import from 导入并使用自定义模块中的函数 | 导入自定义模块功能名称冲突问题 )

a + b 2、使用 import 导入并使用自定义模块 在另外的文件中 , 导入 my_module 模块 , 然后通过 my_module.add 调用 my_module 模块中的 add 函数...Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py 3 Process finished with exit code 0 二、导入模块冲突问题...1、导入自定义模块功能名称冲突问题 如果 两个模块中 , 都定义了 相同名称 的函数 , 同时使用 from module_name import specific_name 方式 , 到了两个模块中...相同名称 的函数 , 此时 , 就会出现 名称冲突 问题 , 这种情况下 后导入的 功能生效 , 先导入的功能被覆盖 ; 3、模块功能冲突代码示例 在 my_module.py 模块中 , 定义了 如下...add 函数 , 后导入模块功能生效 ; """ 自定义模块 代码示例 """ # 导入自定义模块 from my_module import add from my_module2 import

33920

python基础——模块模块的介绍,模块导入,自定义模块,*和__all__,__name__和__main__】

,我们就可以用模块里面的全部功能 (1)导入 语法: import 模块名 # 或者一次性导入多个: import 模块名, 模块名 示例,导入time模块 import time # 导入time模块...(2)使用 当我们只导入模块,没有具体到功能名的时候,在使用时,我们需要通过模块来找功能 语法模块名.功能 示例(导入time模块,并且使用里面的sleep功能): import time...操作符使用功能 sleep的作用就是:让程序暂停运行n秒 2,模块导入功能(得到功能) (1)导入 语法: from time import sleep # 导入time模块的sleep功能 示例:...() # 使用里面的功能 输出: 2,同名功能的选择 注意:当导入多个不同模块,但模块内有同名功能,当调用这个同名功能时,调用的是后面导入模块的功能 如: 我们在test1和test2模块里面写入同名功能...这会导入模块中的所有变量、函数和类,我们可以在当前命名空间中直接使用它们。

10110

【Python模块】- 如何导入和使用模块模块导入方式有哪些?

,就需要先的导入这个模块----二、模块的2种导入方式2.1》import导入1.语法格式:在导入模块时,每个导入模块应该独占一行(推荐使用)import 模块名1import 模块名2以下这种(不推荐使用.../别名.访问如果希望某一个模块导入部分工具,就可以使用from...import的方式1.导入局部工具语法:# 模块导入某一个工具from 模块名1 import 工具名2.使用方式不需要通过 模块名...、创建对象name()a = A()print(a)执行结果:3.导入同名工具注意:如果两个模块中存在同名函数,那么后导入模块函数会覆盖掉先导入函数代码验证:模块1在前模块2在后from md_01...name # 直接调用2ge 函数 name() ModuleTwo_name()执行结果:我是 模块1我是 模块24.导入所有工具 —— from...import *(不推荐使用)导入所有工具语法格式...:# 模块导入所有工具from 模块名1 import *注意:这种方式不推荐使用,因为函数重名并没有任何的提示,一旦出现问题不好排查使用工具方式:直接使用,不用 模块名.

3K20

Python面向对象之模块和包

xx 如果希望某一模块中,导入部分工具,就可以使用 from ... import的方式; import 模块名 是一次性将模块中的所有工具导入,并且通过 模块名/别名 访问; 导入部分工具语法如下...: # 模块 导入 某工具 from 模块名1 import 工具名 导入之后,不再需要通过 模块名....使用工具,可以直接使用模块提供的工具--类,函数,全局变量; from ... import *(了解) # 模块 导入所有工具 from 模块名1 import * 这种方式不推荐使用,因为函数重名时并没有任何提示...导入同名函数 注意:如果两个模块,存在同名函数,后导入函数,会覆盖先导入函数; 和这个类似的是类的继承,但顺序不同,优先使用先继承的类中的方法; 开发时import代码应该统一写在代码顶部,更容易及时发现冲突...; 仅在模块内使用,而被导入到其他文件不需要执行; 导入模块存在问题 当我们导入一个文件时,文件中所有未缩进的代码都会被执行一遍,比如print或者调用函数等,而这并不是我们希望看到的; 例如,以下是两个文件

60910

Es6中的模块化Module,导入(import)导出(export)

在Es6中引入let,const定义变量是解决访问变量的全局作用域问题,从而引入块级作用域,解决命名冲突,同名全局污染,安全等问题 模块可以理解为函数代码块的功能,是封装对象的属性和方法的javascript...,而且模块必须导出一些外部代码可以访问的元素,如变量或者函数,模块也可以其他模块导入绑定 在模块模块之间的特性与作用域关系不大(例如微信小程序或者小游戏中的各个文件就是不同模块,在该文件定义的变量或者函数只在该文件内作用.../http.js")引入的是一个本地文件 注意:导入绑定的列表看起来与解构对象很相似,但两者不是一样的 当模块导入一个绑定时,它就好像使用了const定义的一样,也就是自动默认使用严格模式,你无法定义另一个同名变量.../exportExample.js" 如果模块想使用不同的名称来导入函数,也可以使用as关键字 import {add as sum} from "....在模块化项目里,模块中导出导入是如今非常常见的做法,如果在不给导出的标识符(变量,函数,类)呢,那么可以通过导出default关键字指定单个变量,函数或者类,预知后文详情,可持续关注了 关于模块化处理在未来的标准中非常重要

2.4K20

本想搞清楚ESM和CJS模块的互相转换问题,没想到写完我的问题更多了

本来只是好奇打包工具是如何转换ESM和CJS模块的,没想到带着这个问题阅读完编译的代码后,我的问题更多了。...那么问题来了,比如说我早期开发了一个CJS的包,现在想把它转成ESM语法用来支持在浏览器端使用,或者现在使用ESM开发的一个包,想转换成CJS语法用来支持老版的Node.js,转换工具有很多,比如Webpack...ESM模块语法 先来简单过一下常用的ESM模块语法。...,通过函数的形式返回同名变量的值,这其实又是一个不同点了:CJS 模块输出的是一个值的拷贝,ESM 模块输出的是值的引用。...,后续再导入这个模块会直接从缓存里获取导出数据,这也是CJS不同于ESM的特性。

1.7K60

上手Python之模块

模块的作用:  python中有很多各种不同模块, 每一个模块都可以帮助我 们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块 我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的...大白话:模块就是一个Python文件,里面有类、函数、变量等,我们可以 拿过来用(导入模块去使用) 模块导入方式 模块在使用前需要先导入 导入语法如下: 常用的组合形式如: import 模块名...,在my_module1.py文件中添加测试代码test(1,1) def test(a, b): print(a + b) test(1, 1) 问题: 此时,无论是当前文件,还是其他已经导入了该模块的文件...函数调用 if __name__ == '__main__': test (1, 1) 注意事项 注意事项: 当导入多个模块的时候,且模块内有同名功能....当调用这个同名功能的时候,调用到的是后面导入模块的功能  __all__ 如果一个模块文件中有`__all__`变量,当使用`from xxx import *`导入时,只能导入这个列表中的元素

27231

python中关于模块导入的模式

语法格式 : import 模块名# 导入时间模块import timr# 使用时间模块中的方法time.ctime()调用模块方法的语法格式: 模块名.函数名 ,这样调用可以防止不同模块中有同名方法导致错误...1.2 from 模块名 import 导入模板的方法一个模块可能存在很多的函数,如果只是想导入其中的几个函数,可以使用from xxx import xxx 方式导入。...但是一定要注意这种形式可能会产生覆盖的情况,当导入了两个不同包中的同名函数的时候,第二个函数会覆盖第一个函数举例:只想导入time模块中的ctime、time两个方法,可以按照以下的格式导入:# 导入模块中指定的方法...语法格式: from xxx import *from time import *1.3 as 关键字as关键字:给模块取别名,有时候导入模块的名称很长,调用的时候很不方便,使用as关键字就可以给模块取一个其他的名字...不同模块可以定义相同的变量名,但是每个模块中的变量名作用域只是在本模块中。3.2 模块的分内置:python已经存在的。自定义:我们自己编写的功能模块

1.5K30

为什么不建议用 from xxx import *

---- 1、import语句 import语句会导入指定模块中所有的方法,当你需要大量使用该模块中的不同方法时,这种方式很适合你。...别名是模块的另一个名称,类似于外号,语法格式如下所示。 import pandas as pd 我们导入了pandas模块,并指定其别名为pd。...from math import * pow(2,4) 注:使用单下划线“_”开头的模块变量或者函数是受保护的,在使用 from xxx import * 语句模块导入时这些变量或者函数不能被导入...假如现在Python代码中要用到两个模块kxpython1和kxpython2,而这两个模块都有test()函数,如果正常import语句并不会出现什么问题。...虽然我们认为,两个模块同名导出本身也许是个小概率事件,但能避免还是尽量避免。省得我们最后写Python代码10分钟,找BUG花了一整天。 人生苦短,快学Python!

45430

#抬抬小手学Python# 用别人代码,完成我的工作,剩下的时间去摸鱼【附源码】

应用函数模块 import 导入模块 在另一个文件中,可以通过 import 模块导入一个模块,例如导入刚才创建的 stir_fry 模块。 注意要新建一个文件,文件名随意但是不要与模块同名。...导入模块某个函数 如果不想导入模块的所有函数,而只导入某个函数,使用一下语法可以解决该问题。...导入模块所有函数 语法格式如下: from 模块名 import * as 别名 刚才通过模块导入函数你应该发现一个潜在的问题,就是函数名称太长怎么办,除了名称太长,还存在一种情况,模块中的函数名称与当前文件中函数的名称...# 导入 dog_module 模块中的狗类 from dog_module import Dog dog = Dog() dog.say() 模块导入多个类 该方式与函数导入也一致,语法格式如下...导入模块中所有类 from 模块名 import * 学到这里,你应该已经发现导入模块中的函数导入模块中的类,代码编写的角度几乎看不出区别,对比着学习即可。

45630

Python之异常模块

1.2 错误类型捕获 在程序执⾏时,可能会遇到不同类型的异常,并且需要针对不同类型的异常,做出不同的响应,这个时候,就需要捕获错误类型了。...2.1 模块导入方式 1、import 导入 语法: import 模块名 导⼊之后通过 模块名....语法: import 模块名 as 模块别名 注: 如果两个模块,存在同名函数,那么后导⼊模块函数,会覆盖掉先导⼊的函数 ; 开发时 import 代码应该统⼀写在代码的顶部,更容易及时发现冲突...语法: from 模块名 import 工具名 from 模块名 import * 导⼊之后不需要通过 模块名. 可以直接使⽤模块提供的⼯具 —— 全局变量、函数、类 。...演示: 1、在项目中新建一个目录,然后再这个,目录下新建文件  2、__init__.py文件 from . import Cat from . import User 作用是当前目录导入Cat ,

56020

Python之异常处理、模块与包

;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError...模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入import语句时才执行(import语句是可以在程序中的任意位置使用的,且针对同一个模块很import多次...来查看模块名name = 'main' #当做脚本运行 模块搜索路径 加载模块时先看内存中是否加载---再找同名的内建模块---再找sys.path给出的目录列表 需要特别注意的是:自定义的模块名不要与系统的内置模块重名...、模块函数、类 from后的import导入模块必须是明确的一个,不能带点,否则会有语法错误 第一次导入包或者是包的任何其他部分,都会依次执行包下的init.py文件,此文件可以为空也可以放一些初始化包的代码...的方式作为起始(只能在一个包中使用,不能用于不同目录内) 需要特别注意的是:可以用import导入内置或者第三方的模块,但是要绝对避免使用import来导入自定义包的子模块,应该使用from...import

66310

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

没有提前导入 这种情况经常发生在使用某些模块的功能,但是py文件头部忘记导入 json.loads('{"name":"de8ug", "city":"beijing"}') NameError...作用域问题 Python在函数中使用变量的时候,会按照LEGB(Local(本地),Enclosing(封闭),Global(全局),Built-in(内置))这种作用域的顺序来查找变量。...如果有赋值(给同名的变量)操作,需要确保当前作用域下已经有这个变量。因为这时候Python认为函数内部和外部有同名的变量,会把外部的屏蔽。...因为和外部变量同名,此时name.capitalize()引用name的时候,在函数内部还没有name这个变量的具体内容,所以报错。...变量应用 编码错误 导入模块 函数作用域 你都犯过了吗?

87520

浅析Python模块的引入和调用

因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名。...不仅可以引入函数,还可以引入一些全局变量、类等。 注意: 这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名函数的时候,后面一次引入会覆盖前一次引入。...如果想一次性引入math中所有的东西,还可以通过from math import 来实现 2. from…import Python的from语句让你模块导入一个指定的部分到当前命名空间中。...语法如下: from modname import name1[, name2[, ... nameN]] 例如,要导入模块fib的fibonacci函数,使用如下语句: from fib...介绍了常用的三种模块模块时的需要注意的事项,以及在实际操作中会遇到的问题,提供了解决方案。希望可以帮助你更好的学习Python。

81130

Python中各个模块的介绍和使用

在调用math模块中的函数时,必须这样引用:模块名.函数名 这种方式必须加上模块名调用,因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数...注意:通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名函数的时候,后面一次引入会覆盖前一次引入。...2、from...import Python的from语句让你模块导入一个指定的部分到当前命名空间中。...语法如下: from modname import name1[, name2[, ... nameN]] 例如,要导入模块fib的fibonacci函数,使用如下语句:from fib import...有效避免模块名称冲突问题,让应用组织结构更加清晰。

1.5K80

Python中的模块介绍和使用1.import2.from…import3.from … import *4.as5.定位模块6.模块制作7.模块中的__all__8.python中的包9.

在调用math模块中的函数时,必须这样引用: 模块名.函数名 这种方式必须加上模块名调用,因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数...不仅可以引入函数,还可以引入一些全局变量、类等 注意: 通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名函数的时候,后面一次引入会覆盖前一次引入。...如果想一次性引入math中所有的东西,还可以通过from math import *来实现 2.from…import Python的from语句让你模块导入一个指定的部分到当前命名空间中 语法如下...总结: 包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包 有效避免模块名称冲突问题,让应用组织结构更加清晰 2__init...我们可以这样导入子包: ? 你也可使用from-import实现不同需求的导入 第一种方法是只导入顶层的子包,然后使用属性/点操作符向下引用子包树: ? 此外,我们可以还引用更多的子包: ?

94210
领券