[oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
 
视频封面
 

上传视频封面

 
好的标题可以获得更多的推荐及关注者
 
导入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
 
 
 
添加图片注释,不超过 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 字(可选)
 
  • 想写个 实用点儿的程序??🤔
  • 下次再说 👋


posted on 2025-03-12 18:21  overmind1980  阅读(8)  评论(0)    收藏  举报