__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__‘;语句,这节课就是来掌握这条语句的使用方法。

相关文章
|
人工智能 安全
学习笔记7
人工智能课程
63 0
|
开发者 索引
matchAllQuery | 学习笔记
快速学习 matchAllQuery
127 0
matchAllQuery | 学习笔记
|
消息中间件 Dubbo 算法
总结|学习笔记
快速学习总结
72 0
总结|学习笔记
|
机器学习/深度学习 算法 开发者
总结与回顾| 学习笔记
快速学习总结与回顾。
52 0
总结与回顾| 学习笔记
|
负载均衡 开发者 索引
replicas | 学习笔记
快速学习 replicas
91 0
replicas | 学习笔记
|
缓存 Dubbo 应用服务中间件
本地存根|学习笔记
快速学习本地存根
85 0
本地存根|学习笔记
|
SQL 分布式计算 资源调度
StreamSQL|学习笔记
快速学习 StreamSQL
555 0
StreamSQL|学习笔记
|
前端开发 Java 网络架构
合法性检查|学习笔记
快速学习合法性检查
144 0
|
存储 自然语言处理 算法
课程计划|学习笔记
快速学习课程计划
75 0
|
开发者 Python
练习|学习笔记
快速学习练习
82 0