Python - 常用内置变量
获取当前模块的变量
#!usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://www.cnblogs.com/poloyy/ # time: 2021/7/21 11:29 下午 # file: 5_list 列表.py """ import keyword from pprint import pprint print(keyword.kwlist) print(type) type = 2 print(type) # 内置变量 pprint(vars())
输出结果
{'__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__cached__': None, '__doc__': '\n' '# author: 小菠萝测试笔记\n' '# blog: https://www.cnblogs.com/poloyy/\n' '# time: 2021/7/21 11:29 下午\n' '# file: 5_list 列表.py\n', '__file__': '/Users/polo/Documents/pylearn/第一章:python 基本类型/4_变量.py', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x1085aafd0>, '__name__': '__main__', '__package__': None, '__spec__': None, 'keyword': <module 'keyword' from '/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/keyword.py'>, 'pprint': <function pprint at 0x108663430>, 'type': 2}
前面 9 个有 __var__ 包着的变量都是内置变量,后面三个是模块中自己声明的变量
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在工程目录下的路径
__cached__
获取导入文件的缓存路径
__builtins__
内置函数都在这里面
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具