__name__的使用 | 学习笔记

简介: 快速学习__name__的使用

开发者学堂课程【Python 入门 2020年版:__name__的使用 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10364


__name__的使用

内容介绍:

一、案例概要

二、__name__的作用

 

一、案例概要

1.在 demo 文件中存在一种几种函数,在代码中如果添加了以下内容,

def division(a,b):

return a / b

division 进行的除法运算,将上述代码可以达到让别人使用的目的,但不完全的将代码给别人,需要再给别人之前进行测试,加入 print(division(4,2)) 来测验正确性

代码内容为:

_all_=[‘m’,’test’]

m=’yes’

n=’100’

def test():

print(‘我是demo模块里的test方法’)

def foo():

print(‘我是demo模块里的foo方法’)

def division(a,b):

return a / b

print(division(4,2)) 

结果如下图:

image.png

2.将 print 所在行修改 print( ‘ 测试以下 division 函数,结果是’ division(4,2))

代码内容为:

_all_=[‘m’,’test’]

m=’yes’

n=’100’

def test():

print(‘我是demo模块里的foo方法’)

def division(a,b):

return a / b

print( ‘测试以下division函数,结果是’, division(4,2))

结果如下图:

image.png

注意:在这里直接运用 demo.py ,它会直接打印出内容。

3.通过运行之前课程中的 03 使用自定义代码模块的代码,在 demo.py 文件中的 print 所在行代码是否可以运行?

先运行 03- 使用自定义模块的代码,会发现能够直接运行 demo.py 文件中的 print语句。

在这个文件中只要写了 from demo import * 或是 import demo 这种类似的语法,就会自动执行 demo 中的代码,这个 demo.py 文件写到了 print 语句,所以会自动执行。

4.如何在所写的 demo 模块中判断添加的方法好坏?

这个代码应该要在测试代码中直接运行才能够执行的,如果不直接运行,而是当一个模块导入到另一个文件中,它是不会执行。即在下图右侧部分选中右击运行就会执行,在左侧部分只是把 demo 当作一个模块,它不会运行。

5.如何保证把 demo 当作模块导入,即导入后的 demo 不会运行?

只要读了新文件,是类似与 import 的语句,它就会在运行新文件的时候执行

这需要用到__name__,在 demo.py 文件中添加 print(‘demo 里的 name是:’,__name__)

代码内容变为:

_all_=[‘m’,’test’]

m=’yes’

n=’100’

def test():

print(‘我是demo模块里的test方法’)

def foo():

print(‘我是demo模块里的foo方法’)

def division(a,b):

return a / b

print(‘demo里的name是:’,__name__)

print(division(4,2))

在右侧 demo.py 文件的运行效果是:

会发现它所显示的是__main__

在左侧 03- 使用自定义模块 .py 文件的运行效果是:

会发现它所显示的是 name

 

二、__name__的作用

它是当直接运行 py 文件的时候,它的值是__main__,如果这个 py 文件作为一个模块导入的时候,值是文件名。

此时在 demo.py 文件中只需要加入 if __name__==‘__main__‘;语句

代码内容为:

_all_=[‘m’,’test’]

m=’yes’

n=’100’

def test():

print(‘我是demo模块里的test方法’)

def foo():

print(‘我是demo模块里的foo方法’)

def division(a,b):

return a / b

if __name__==‘__main__‘;

print(‘demo里的name是:’,__name__)

print(division(4,2))

把 demo 文件作为模块导入 03- 使用自定义模块 .py 文件运行结果:

效果中不在显示 demo 中的内容

在大多数 python 语句中会出现很多次的if __name__==‘__main__‘;语句,这节课就是来掌握这条语句的使用方法。

相关文章
|
开发者
需要、欲望、需求 | 学习笔记
快速学习需要、欲望、需求。
243 0
需要、欲望、需求 | 学习笔记
|
自然语言处理 算法 开发者
CJKAnalyzer|学习笔记
快速学习 CJKAnalyzer
169 0
CJKAnalyzer|学习笔记
|
NoSQL MongoDB 开发者
故障测试2|学习笔记
快速学习故障测试2
故障测试2|学习笔记
|
安全 Java 程序员
Potainer 使用|学习笔记
快速学习 Potainer 使用
Potainer 使用|学习笔记
|
设计模式 XML 前端开发
回顾 | 学习笔记
快速学习回顾,介绍了回顾系统机制, 以及在实际应用过程中如何使用。
回顾 | 学习笔记
|
缓存 Dubbo 应用服务中间件
本地存根|学习笔记
快速学习本地存根
本地存根|学习笔记
|
存储 Java 开发者
BinaryTree|学习笔记
快速学习BinaryTree
BinaryTree|学习笔记
|
移动开发 JavaScript HTML5
NgForm学习笔记
NgForm学习笔记
166 0
NgForm学习笔记
|
开发者
SearchType 详解|学习笔记
快速学习 SearchType 详解。
296 0
|
开发者 Python

热门文章

最新文章