073_下划线的总结_内部变量_私有变量_系统变量
上传视频封面
好的标题可以获得更多的推荐及关注者
导入import 回忆上次内容
-
上次直接从模块中导入变量、函数
-
from my_file import pi
-
导入my_file.pi
-
并作为 pi 使用
-
from my_file import pi as my_pi
-
导入变量 并 重命名
添加图片注释,不超过 140 字(可选)
-
为什么 从模块中导入的变量 需要改名呢???🤔
冲突(local name clashes)
-
回忆 冲突现场
from math import pi as math_pi from my_file import pi as my_pi print(locals())
-
为了避免
-
local name clash
-
本地变量名 冲突
添加图片注释,不超过 140 字(可选)
-
python帮助 里
-
是怎么说的 呢?
pep8
-
我们 看看pep-8
-
https://peps.python.org/pep-0008/#imports
添加图片注释,不超过 140 字(可选)
-
因此 要特别注意
-
不要使用from xxx import *
-
因为
-
这样 会把模块里面
-
所有的变量 导入进来
-
特别容易 冲突
-
local name clashes
-
这怎么理解呢?
做个测试 :e test.py
-
导入 random中所有变量
from random import * print(dir())
-
结果 导入了很多成员变量
添加图片注释,不超过 140 字(可选)
-
是不是都导入进来了呢?
观察模块目录 from random import * print(dir()) import random print(dir(random))
-
有一些变量没有被导入进来
添加图片注释,不超过 140 字(可选)
-
这些变量以下划线(_)开头
-
是 模块的 内部变量
-
为什么 下划线开头
-
就是 内部变量 呢?
寻找主题
-
去游乐场
help("topics")
-
查看帮助主题
添加图片注释,不超过 140 字(可选)
-
应该找的主题是
-
标识符
-
identifiers
标识符 help("IDENTIFIERS")
-
找到标识符的帮助
添加图片注释,不超过 140 字(可选)
-
看到PEP3131
-
回忆 中文 可以作为 变量名
翻页
-
ctrl+f
-
向后翻页
添加图片注释,不超过 140 字(可选)
-
举个例子来说明
理解内部
-
from random import *
-
*代表所有的
-
非下划线开头的变量
添加图片注释,不超过 140 字(可选)
-
在random模块中 有很多变量和函数
-
非下划线开头的 可以被导入进来
-
下划线开头的 不能被导入进来
添加图片注释,不超过 140 字(可选)
-
导入进来的
-
都是 没有 下划线的
-
如果 就想要
-
导入 带下划线的 内部变量 呢?
点名道姓 from random import _e
-
指定好那个变量的名字
-
就可以
添加图片注释,不超过 140 字(可选)
-
我就想要引入_e这个内部变量
-
有下划线开头的变量
-
是隐藏变量
-
需要点名导入
变量
-
点名 导入
-
带下划线的 隐藏变量
-
就可以了
添加图片注释,不超过 140 字(可选)
-
变量名 前面
-
加下划线
-
指的是 模块内部变量
-
如果在 变量名 后面
-
加 下划线
-
又是 什么意思 来着?
回忆命名法中的下划线
-
避免和函数、模块 重名
max_ = max(5, 6)
-
再回顾我们使用的是
-
Snake Naming Convention
-
蛇形命名法
-
综合下划线的使用情况
位置和数量 | 作用 | 例子 |
---|---|---|
单个下划线 | 上次表达式的值 | _ |
一个放前面 | 隐藏变量 | _e |
一个放后面 | 避免名字冲突 | max_ |
一个放前边 | 私有属性 | __attribute |
两个放两边 | 系统变量 | __builtins__ |
总结
-
这次总结 下划线 用法
添加图片注释,不超过 140 字(可选)
-
想写个 实用点儿的程序??🤔
-
下次再说 👋