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

【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...0 这是因为 import 导入模块 , 将模块的所有代码一次性拷贝到了该代码位置 , 执行该代码 , 即执行了 my_module 的所有代码 ; 3、主程序判断语句 Python 提供了...主程序判断语句 : if __name__ == '__main__': 其作用是 判断当前模块 是否作为独立的主程序运行 ; 一个模块可以被其他模块导入 , 也可以作为独立的主程序运行 ; 当一个模块导入

16210

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

a + b 2、使用 import 导入使用自定义模块 另外的文件 , 导入 my_module 模块 , 然后通过 my_module.add 调用 my_module 模块的 add 函数...from 导入使用自定义模块函数 代码示例 : """ 自定义模块 代码示例 """ # 导入自定义模块 from my_module import add num = add(1, 2)...1、导入自定义模块功能名称冲突问题 如果 两个模块 , 都定义了 相同名称 的函数 , 同时使用 from module_name import specific_name 方式 , 到了两个模块...相同名称 的函数 , 此时 , 就会出现 名称冲突 问题 , 这种情况下 后导入的 功能生效 , 先导入的功能被覆盖 ; 3、模块功能冲突代码示例 my_module.py 模块 , 定义了 如下...如下 add 函数 ; def add(a, b): print("调用 my_module2 模块的功能") return a + b + 1 主代码 , 同时导入两个模块

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

Python 导入模块的类

参考链接: 用Python导入模块 介绍  在看代码时发现Python的导入类也可以用“.”的方式,很是惊奇,记录下来: 如以下代码:其所在文件(模块)为test.py  class Dog():    ...def __init__(self,name1):   #这里想说一点,Python class的__init__就相当于Java的构造函数一样,形参在这定义。        ...if __name__ == '__main__':     dog1 = Dog("ha").bark() 单独运行时结果如下:  新的.py文件里想要导入这个模块的Dog类,有两种方式: 第一种为...:  from test import Dog   #使用from  “模块名”import  “类名”的方式 dog2 = Dog("jinmao") dog2.bark() 结果为:   第二种为:...  import test  #import  "模块名" dog2 = test.Dog("jinmao")  #使用   模块名.类名   的方式使用此类 dog2.bark() 结果和第一种一样。

2.2K20

Python模块使用模块函数、变量、了解pyc文件)

模块是Python程序架构的一个核心概念。(言外之意模块Python很重要) 模块就好比是工具包,要想使用过这个工具包的工具,就需要导入import这个模块。...每一个以扩展名py结尾的Python源代码文件都是一个模块模块定义的全局变量、函数都是模块能够提供给外界直接使用的工具。....py 代码: # 导入模块 inport 模块名 import pyzxw_分隔线模块 # 使用模块函数 pyzxw_分隔线模块.print_line('+', 50) # 使用模块全局变量 print...(pyzxw_分隔线模块.name) 图片: pyzxw_体验模块文件执行结果: 体验小结: 可以一个Python文件定义变量或者函数, 然后另外一个文件中使用import导入这个模块导入之后...,有关模块以及模块其他方式导入,后续会继续展开。

2.5K20

python关于模块导入的模式

开发中使用最多的就是使用: import 方式进行导入导入的包一般放在文件的最前面。...使用这种方式导入之后不用在使用 模块名.函数名 的方式来调用函数,可以直接使用 函数名。...此时test.py文件就是一个模块,可以在其他的python文件中直接引入使用。一个模块可以包含函数、类、变量,也能包含可执行的代码。...from addUp import add# 使用引入模块函数函数名)print(add(1, 2))# 3# 导入模块的所有函数from addUp import * # 使用引入模块函数...使用这种形式测试就不会发生其他文件使用这个功能模块的时候输出这个测试结果# 是因为此时被这个 if 条件进行了控制if __name__ == '__main__': # 测试功能模块函数

1.5K30

Numpy模块的where函数

下面是java的三目表达式(其实在大多数的语言中都是这样的): 单目运算符: ~3(位运算符取反码)双目运算符:3 + 4三目运算符: 格式:比较(关系)表达式?...因为Python没有使用这种通用格式来实现三元表达式,而是使用下面的格式来实现三元表达式: 为真时的结果 if 判定条件 else 为假时的结果 这里看看它们有什么区别?...不过Python虽然可以称为"三目运算符"或者"三元表达式",但是我认为Python仅仅能称为"三元表达式",因为此时返回的结果只能是一个输出,而且单单看Python实现"三元表达式"语句,其实怎么看都像是...但是如果使用Python的list列表的话会有几个问题: 它对于大数组的处理速度不是很快(因为所有工作都是由纯python完成的); 无法用于多维数组; 所以我们就有了numpy.where函数的出现...,但是我们使用numpy并不仅仅局限于数组参数,所以where函数的参数可以是标量; 参数之间是有一定的对应关系的。

1.5K10

python的sys模块函数

Sys模块函数之多,我只能选取自己认为比较实用的一些函数列在此处。借马云找员工的说法,”找最合适的而不是最天才的”,这句话,我个人觉得很多方面都能适应,学习也不在话下。...Sys模块功能的确很多,但我们应该将重点放在那些功能才是最适合我们的,为此,我列的这些函数,就是我认为比较适合我以后开发的函数。...但是如果需要中途退出程序, 你可以调用sys.exit 函数, 它带有一个可选的整数参数返回给调用它的程序. 这意味着你可以主程序捕获对sys.exit 的调用。...其他的数值为非正常退出,还有另一种类型,在这里展现的是strings对象类型。 (4)sys.path 大家对模块都有一定了解吧?大家使用模块的某一个功能前,是不是需要导入呢?答案是需要。...其实Python程序的标准输入/输出/出错流定义sys模块,分别 为: sys.stdin, sys.stdout, sys.stderr 上面的程序分别与下列的程序是一样的: import

90110

Pythonmath模块使用

Python 的 math 模块实现了许多数学运算函数。...这些函数大部分的返回结果是浮点数,代码,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。...math模块是Python的内置模块,不需要pip安装,直接导入即可使用。 math 模块,一种数学运算对应一个函数我们使用时非常方便,按需求调用即可。 ?...fsum(iter)返回可迭代对象的数据求和的浮点数结果。可迭代对象可以是列表,元组,字典,集合,可迭代对象的元素必须是数字。对字典进行计算时,是计算键的和,键必须是数字。...六、其他运算 # 不是数字返回true print(math.isnan(100)) # 返回是不是无穷大的数 print(math.isfinite(100)) print(math.isinf(100

1.3K20

Pythonmath模块使用

参考链接: Python重新加载模块 Pythonmath模块使用  Python 的 math 模块实现了许多数学运算函数。 ...这些函数大部分的返回结果是浮点数,代码,浮点数小数点后面的位数是有限的,而二进制表示小数时很有可能会出现无限循环的小数,因此浮点数会有精度损失,不过,大多数情况下这并不影响我们使用。 ...math模块是Python的内置模块,不需要pip安装,直接导入即可使用。  math 模块,一种数学运算对应一个函数我们使用时非常方便,按需求调用即可。 ...fsum(iter)返回可迭代对象的数据求和的浮点数结果。可迭代对象可以是列表,元组,字典,集合,可迭代对象的元素必须是数字。对字典进行计算时,是计算键的和,键必须是数字。 ...六、其他运算  # 不是数字返回true print(math.isnan(100)) # 返回是不是无穷大的数 print(math.isfinite(100)) print(math.isinf(100

1.1K30

Python argparse模块使用

Python解析命令行读取参数有两种方式:sys.argv和argparse 1 sys.argv 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(...>python demo.py 1 输入的参数为:1 2 argparse 如果参数很多,比较复杂,并且类型不统一,那么argparse可以很好的解决这些问题,下面一个实例解释了argparse的基本使用方法...-num_epochs 10 --num_layers 10 Namespace(num_epochs=10, num_layers=10, toy=False) False 10 10 2.1 基本使用...action='store_true',help='Use only 50K samples of data') --toy:为参数名称 -t:为参数别称 action='store_true':参数是否使用...,如果使用则为True,否则为False >python demo.py -t --num_epochs 10 --num_layers 10 Namespace(num_epochs=10, num_layers

84100

PIL包Image模块的convert()函数的具体使用

全文开始之前给自己科普一个公式: RGB到灰度图转换公式:Y’ = 0.299 R + 0.587 G + 0.114 B 网上有诸多版本的转换公式,但是系数大同小异。 接下来是正文。...convert()函数,用于不同模式图像之间的转换。PIL中有九种不同模式,分别为1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。我主要尝试了1和L。...模式L为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。...PIL,从模式“RGB”转换为“L”模式是按照下面的公式转换的: L = R * 0.299 + G * 0.587+ B * 0.114 到此这篇关于PIL包Image模块的convert(...)函数的具体使用的文章就介绍到这了,更多相关PIL convert()函数内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

2.1K10

python函数增强神器functools模块

functools是一个函数增强器,主要为高阶函数使用,作用于或者返回其他函数函数,通常任何可调用的对象都可视为“函数”。主要包括以下几个函数: ?...cached_property同时具有线程安全,多线程不会存在多次计算的问题。另外不支持python的异步编程:asyncio。注意这个特性是Python3.8新增的。...只需要在注册的时候使用函数重新生成一个回调函数 这在回调函数使用是非常频繁、方便,而且爽就一个字 reduce 函数原型如下: def reduce(function, iterable, initializer...__name__) # 输出 wrapper 可以看到函数名发生了变化,变为装饰器函数的wrapper,除了__name__属性外还有其他属性,定义WRAPPER_ASSIGNMENTS和WRAPPER_UPDATES...很多情况下,我们需要对函数进行针对性处理,必须获取函数模块属性进行处理,这个时候,就必须消除这种负面影响。functools.wraps就为我们解决了这个问题。

1.2K20

使用Skypack浏览器上直接导入ES模块

如果使用传统的CDN服务,那么首先就需要某个包它提供了ES模块的文件,然后我们再从CDN里找到该ES版本的文件地址,再进行使用,如果某个包没有提供ES版本,那么我们就无法直接在浏览器上以模块的方式导入它...element-ui的css文件,我们平常的开发这是很正常的,不过浏览器上的运行结果如下: 显然是无法ES模块里直接导入css,所以我们需要把css通过传统样式的方式引入: @import '...element-ui/lib/theme-chalk/index.css' 固定url 以包名称进行导入虽然方便,但因为每次都是返回最新版本,所以很可能出现不兼容的问题,实际生产环境是需要导入特定版本的...命令下载包(有其他更好的方式欢迎评论区留言~): const { execSync } = require('child_process'); const fs = require("fs"); const...ES模块会比较复杂一些,因为可能一个模块导入了另一个模块,首先我们来支持一下导入的指定文件,比如我们要导入dayjs/esm/index.js,当导入指定路径时我们就不进行commonjs检测了

1.4K10
领券