直接上代码

#!/usr/bin/env python
# -*- coding: utf-8 -*- """
这是注释__doc__会打印这部分内容
""" # 以字典的方式返回所有内置变量
print(vars()) # 返回当前文件的路径
print(__file__) # 获取导入该文件的路径,当前文件内输出会返回None
print(__package__) # 最重要的__name__获取导入文件的路径加文件名称
print(__name__)

执行结果

{'__name__': '__main__', '__doc__': '\n这是注释__doc__会打印这部分内容\n', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F7A6E6C438>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'F:/SQ_Python_Easy/D10_面向对象/内置变量1.py', '__cached__': None}
F:/SQ_Python_Easy/D10_面向对象/内置变量1.py
None
__main__

知识点一:vars()

Python内置函数,可以返回当前模块的所有内置变量

知识点二:__file__获取路径

所在模块:os

变量作用:指向当前文件

当前文件的完整路径: os.path.realpath(__file__)

当前文件所属目录: os.path.dirname(os.path.realpath(__file__))

当前文件所属目录的上级目录: os.path.dirname(os.path.dirname(os.path.realpath(__file__)))

知识点三:__package__

"""
内置变量1.py
""" #!/usr/bin/env python
# -*- coding: utf-8 -*- print(__package__) # 输出None
"""
内置变量2.py
""" #!/usr/bin/env python
# -*- coding: utf-8 -*- from test import 内置变量1.py # 会输出 test ;输出导入的文件的目录

知识点四:__name__(重点)

Python系统变量

场景一: if __name__ == '__main__':

最常用的场景:当你运行当前文件时, __name__ 输出就是 __main__ ,所以可以加个 if 判断来执行特定代码

场景二:其他文件import

内置变量1.py 文件

#!/usr/bin/env python
# -*- coding: utf-8 -*- print(__name__)
if __name__ == '__main__':
print("main")

运行 内置变量1.py 文件

__main__
main

内置变量2.py 文件

#!/usr/bin/env python
# -*- coding: utf-8 -*- from test import 内置变量1.py

运行 内置变量2.py 文件

D10_面向对象.内置变量1

可以看到,运行内置变量2.py文件时,它因为导入了内置变量1.py,输出__name__的值则是内置变量1.py在工程目录下的路径

Python - 常用内置变量的更多相关文章

  1. Jmeter之Bean shell使用-常用内置变量

    Bean Shell常用内置变量   JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log:写入信息到jmeber.l ...

  2. python常用内置函数和关键字

    常用内置方法 在Python中有许许多多的内置方法,就是一些Python内置的函数,它们是我们日常中经常可以使用的到的一些基础的工具,可以方便我们的工作. 查看所有的内置类和内置方法 # 方法一 bu ...

  3. MySQL常用内置变量

      MySQL用很多常用的内置变量,掌握这些内置变量后对于我们快速获取当前MySQL的配置有很大帮助,下面就来列举几个常用的变量. 查看当前MySQL版本号信息.show variables like ...

  4. CMake之常用内置变量和message用法

    关于 cmake 定义了相当丰富的变量,然而,我常用的也就那几个 脑子笨,记不住变量的值时,我会使用cmake的message函数输出变量值 为什么要写这个? 最近尝试使用Modern CMake, ...

  5. jmeter 常用内置变量

    1. vars   API:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html vars.get(& ...

  6. python常用内置函数

    Python所以内置函数如下: 下面列举一些常用的内置函数: chr()和ord() chr()将数字转换为对应的ascii码表字母 >>> r=chr(65) >>&g ...

  7. Python常用内置函数介绍

    Python提供了一个内联模块buildin.内联模块定义了一些开发中经常使用的函数,利用这些函数可以实现数据类型的转换.数据的计算.序列的处理等功能.下面将介绍内联模块中的常用函数. Python内 ...

  8. $Python常用内置函数典型用法

    Python中有许多功能丰富的内置函数,本文基于Python 2.7,就常用的一些函数的典型用法做一些积累,不断更新中. sorted函数的三种用法 # coding:utf-8 # sorted函数 ...

  9. 递归,装饰器,python常用内置方法

    **递归**        def calc(n):            print(n)            if int(n / 2) == 0:  条件判断                r ...

随机推荐

  1. [LC] 136. Single Number

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...

  2. JavaScript replace() 方法+字符子集介绍(*)

    重点两部分知识点 1.javascript replace()函数用法 以下replace用法转载自w3cSchool:http://www.w3school.com.cn/jsref/jsref_r ...

  3. <luogu1347>排序

    本来打算当打了个拓扑的板子 后来发现并不只是个板子 差不多 管他呢 #include<cstdio> #include<cstring> #include<iostrea ...

  4. MySQL第五次课

    /*Mysql第五次课 索引与事务 数据库优化 数据库优化指的就是通过各种途径 提高查询效率 优化方式有多种,但其中之一就是为字段 添加索引 什么是索引? 相当于为某个字段或某几个字段,添加 了目录, ...

  5. 关于HTTP请求GET和POST的区别

    1.GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头<request-line>中),以?分割URL和传输数据,多个参数用&连接;例如:login.actio ...

  6. 签章新的pom文件

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  7. js中的call

    //例1 <script> window.color = 'red'; document.color = 'yellow'; var s1 = {color: 'blue' }; func ...

  8. Java volatile修饰字段

     一.关键字volatile修饰字段: 使用特殊域变量(volatile)实现线程同步 volatile:不稳定的:反复无常的:易挥发的: 1.volatile关键字为域变量的访问提供了一种免锁机制, ...

  9. LVS+Keepalived 配置

    LVS+Keepalived配置 环境准备 LVS1:192.168.1.1 LVS2:192.168.1.2 MySQL Server1:192.168.1.13 MySQL Server2:192 ...

  10. 来自ebay内部的「软件测试」学习资料,覆盖GUI、API自动化、代码级测试及性能测试等,Python等,拿走不谢!...

    在软件测试领域从业蛮久了,常有人会问我: 刚入测试一年,很迷茫,觉得没啥好做的-- 测试在公司真的不受重视,我是不是去转型做开发会更好?  资深的测试架构师的发展路径是怎么样的?我平时该怎么学习? 我 ...