摘要:为什么 从模块中导入的变量 需要改名呢???回忆 冲突现场from math import pi as math_pifrom my_file import pi as my_piprint(locals)为了避免local name clash本地变量名 冲
为什么 从模块中导入的变量 需要改名呢???回忆 冲突现场from math import pi as math_pifrom my_file import pi as my_piprint(locals)为了避免local name clash本地变量名 冲突
python帮助 里是怎么说的 呢?pep8我们 看看pep-8https://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 randomprint(dir(random))有一些变量没有被导入进来
这些变量以下划线(_)开头是 模块的 内部变量为什么 下划线开头就是 内部变量 呢?去游乐场help("topics")查看帮助主题
应该找的主题是标识符identifiers标识符help("IDENTIFIERS")找到标识符的帮助
看到PEP3131回忆 中文 可以作为 变量名翻页ctrl+f向后翻页
举个例子来说明理解内部from random import **代表所有的非下划线开头的变量
在random模块中 有很多变量和函数非下划线开头的 可以被导入进来下划线开头的 不能被导入进来
导入进来的都是 没有 下划线的如果 就想要导入 带下划线的 内部变量 呢?指定好那个变量的名字就可以
我就想要引入_e这个内部变量有下划线开头的变量是隐藏变量需要点名导入点名 导入带下划线的 隐藏变量就可以了
避免和函数、模块 重名max_ = max(5, 6)再回顾我们使用的是Snake Naming Convention蛇形命名法综合下划线的使用情况
想写个 实用点儿的程序??下次再说 来源:oeasy
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!