直接上代码

#!/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. java面试题 -- 基础

    1.抽象和封装的不同点抽象和封装是互补的概念.一方面,抽象关注对象的行为.另一方面,封装关注对象行为的细节.一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略.2.重载 ...

  2. linux上python3的安装

    我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同,可通过 python --V 或 python --version 查看系统自 ...

  3. yum命令不能使用的解决办法

    以前yum命令一直是可用的,今天使用它安装命令时一直提示,如下图: 百度了一圈说是网络问题: 然后我就ping www.baidu.com  可以ping通啊 最后在同事的帮助下找到了解决办法: vi ...

  4. SQL update 关联更改,内部需要引用表名

    select A.Id,A.Email,( select C.Email from [nopCommerce].[dbo].[Customer] C left join [nopCommerce].[ ...

  5. 植物基因组|注释版本问题|重测序vs泛基因组

    生命组学: 细菌和其他物种比,容易发生基因漂移,duplication和重排. 泛基因组学研究的一般思路是通过comparison找到特殊基因区域orspecific gene,研究其调控机制(即通过 ...

  6. Android蓝牙----打开,关闭操作

    ① 我们先在AndroidManifest里面增加我们的Bluetooth权限 <uses-permission android:name="android.permission.BL ...

  7. The Process class relies on proc_open, which is not available on your PHP installation报错解决

    同事laravel框架开发的代码有如下错误日志 production.ERROR: The Process class relies on proc_open, which is not availa ...

  8. 阿里云服务器上搭建seafile专业版

    因为官方一键安装教程在阿里云服务器上无法安装,由于水平有限,无法解决,所以选择手动安装 参考资料: 1,.腾讯云搭建seafile服务器 2.How to Install Seafile with N ...

  9. RocketMQ 零拷贝

    一.零拷贝原理:Consumer 消费消息过程,使用了零拷贝,零拷贝包含以下两种方式: 1.使用 mmap + write 方式  (RocketMQ选择的方式:因为有小块数据传输的需求,效果会比 s ...

  10. kettle_errot_karafLifecycleListenter

    使用kettle 6.1 通过命令行批量执行作业的过程中,发现偶尔有作业执行时间会变慢几分钟,查看日志发现改作业开始就报了一个错 报错之后才会继续下面的作业,虽然不影响最终作业执行结果,但也延误了一些 ...