1.参考“3.4 模块(Modules).pdf”,完成以下实验:(1)在同一文件夹下构建“demo1.py”和“demo2.py”,在“demo1.py”中导入(import) demo2模块;(2)在“demo1.py”和“demo2.py”中分别加入主函数入口,即“if __name__ == '__main__'”,体会其具体作用;(3)在“demo1.py”所在的目录下新建目录“folder”,并将“demo2.py”移至该新建的目录下,复现实现实验(1)、(2)中所述过程,实验当导入模块位于不同路径下的具体解决方案;(4)实验在主模块中调用其它模块中的函数及变量。
时间: 2023-09-26 11:15:10 浏览: 50
好的,我会根据您的要求进行回答。首先,我需要说明一下,在本对话过程中,我并没有访问您的本地文件系统,因此无法直接进行实验。不过,我可以提供一些思路和代码示例,供您参考。
1. 在同一文件夹下构建“demo1.py”和“demo2.py”,在“demo1.py”中导入(import) demo2模块
在同一文件夹下创建两个 Python 文件,分别为“demo1.py”和“demo2.py”。在“demo1.py”中,通过 import 语句导入“demo2.py”模块,示例代码如下:
```python
# demo1.py
import demo2
def main():
print("This is the main function of demo1.")
if __name__ == '__main__':
main()
```
在“demo2.py”中,我们可以定义一些函数或变量,供“demo1.py”调用,示例代码如下:
```python
# demo2.py
def say_hello():
print("Hello, this is demo2 module.")
if __name__ == '__main__':
say_hello()
```
2. 在“demo1.py”和“demo2.py”中分别加入主函数入口,即“if __name__ == '__main__'”,体会其具体作用
在 Python 中,一个文件既可以当做脚本直接执行,也可以当做模块被导入到其它文件中使用。为了区分这两种情况,Python 提供了一个特殊变量“__name__”,用于表示当前模块的名字。当一个 Python 文件被直接执行时,其“__name__”变量的值为“__main__”,当它被导入时,其“__name__”变量的值为模块名。
因此,我们可以利用这个特性,在一个模块中定义一个“main”函数,然后在“if __name__ == '__main__'”的判断下调用这个函数。这样,当这个模块被直接执行时,就会执行“main”函数,当它被导入时,就不会执行“main”函数。示例代码如下:
```python
# demo1.py
import demo2
def main():
print("This is the main function of demo1.")
if __name__ == '__main__':
main()
```
```python
# demo2.py
def say_hello():
print("Hello, this is demo2 module.")
if __name__ == '__main__':
say_hello()
```
3. 在“demo1.py”所在的目录下新建目录“folder”,并将“demo2.py”移至该新建的目录下,复现实现实验(1)、(2)中所述过程,实验当导入模块位于不同路径下的具体解决方案
当导入的模块位于不同路径下时,Python 会在一些默认路径中查找这个模块。如果找不到,就会抛出“ModuleNotFoundError”异常。为了让 Python 能够找到我们的模块,我们可以将模块所在的路径加入到“sys.path”列表中。另外,我们还需要将模块名修改为“folder.demo2”,以便能够正确地导入。示例代码如下:
```python
# demo1.py
import sys
sys.path.append('folder')
import demo2
def main():
print("This is the main function of demo1.")
if __name__ == '__main__':
main()
```
```python
# folder/demo2.py
def say_hello():
print("Hello, this is demo2 module.")
if __name__ == '__main__':
say_hello()
```
4. 实验在主模块中调用其它模块中的函数及变量
在 Python 中,可以通过“import”语句导入其它模块的函数或变量。示例代码如下:
```python
# demo1.py
import demo2
def main():
demo2.say_hello()
if __name__ == '__main__':
main()
```
```python
# demo2.py
def say_hello():
print("Hello, this is demo2 module.")
if __name__ == '__main__':
say_hello()
```
在“demo1.py”中,我们通过“import demo2”语句导入了“demo2.py”模块。然后,在“main”函数中,我们调用了“demo2.say_hello()”函数,实现了调用其它模块中的函数的功能。