「oeasy」python073_下划线在python里是什么含义_内部变量私有变量

360影视 国产动漫 2025-03-13 02:22 9

摘要:上传视频封面好的标题可以获得更多的推荐及关注者导入import回忆上次内容上次直接从模块中导入变量、函数from my_file import pi导入my_file.pi并作为 pi 使用from my_file import pi as my_pi导入变量

上传视频封面

好的标题可以获得更多的推荐及关注者

导入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

本地变量名 冲突

python帮助 里

是怎么说的 呢?

pep8

我们 看看pep-8

https://peps.python.org/pep-0008/#imports

因此 要特别注意

不要使用from xxx import *

因为

这样 会把模块里面

所有的变量 导入进来

特别容易 冲突

local name clashes

这怎么理解呢?

做个测试
:e test.py

导入 random中所有变量

from random import * print(dir)

结果 导入了很多成员变量

是不是都导入进来了呢?

观察模块目录
from random import * print(dir) import random print(dir(random))

有一些变量没有被导入进来

这些变量以下划线(_)开头

是 模块的 内部变量

为什么 下划线开头

就是 内部变量 呢?

寻找主题

去游乐场

help("topics")

查看帮助主题

应该找的主题是

标识符

identifiers

标识符
help("IDENTIFIERS")

找到标识符的帮助

看到PEP3131

回忆 中文 可以作为 变量名

翻页

ctrl+f

向后翻页

举个例子来说明

理解内部

from random import *

*代表所有的

非下划线开头的变量

在random模块中 有很多变量和函数

非下划线开头的 可以被导入进来

下划线开头的 不能被导入进来

导入进来的

都是 没有 下划线的

如果 就想要

导入 带下划线的 内部变量 呢?

点名道姓
from random import _e

指定好那个变量的名字

就可以

我就想要引入_e这个内部变量

有下划线开头的变量

是隐藏变量

需要点名导入

变量

点名 导入

带下划线的 隐藏变量

就可以了

变量名 前面

加下划线

指的是 模块内部变量

如果在 变量名 后面

加 下划线

又是 什么意思 来着?

回忆命名法中的下划线

避免和函数、模块 重名

max_ = max(5, 6)

再回顾我们使用的是

Snake Naming Convention

蛇形命名法

综合下划线的使用情况

位置和数量

作用

例子

单个下划线

上次表达式的值

_

一个放前面

隐藏变量

_e

一个放后面

避免名字冲突

一个放前边

私有属性

__attribute

两个放两边

系统变量

__builtins__

总结

这次总结 下划线 用法

来源:小鱼科技频道

相关推荐