Python 学习手记(2):as 关键字的使用

8 阅读3分钟

as 关键字用来为导入的模块或模块中的特定属性赋予别名。这个功能在处理命名冲突或者使代码更清晰时非常有用。

1. 使用 as 为模块设置别名:

  • 当你使用 import <模块名> 导入模块时,你可以使用 as 关键字为模块指定一个不同的名称。这在以下情况下很有用:
    • 避免命名冲突:如果你的代码中存在与你想要导入的模块名称相同的变量名或其他名称,你可以使用 as 为导入的模块指定一个别名,来避免冲突。
    • 简化长名称:某些模块的名称可能很长,使用 as 可以为它们提供一个较短的名称,使得代码更加简洁易读。
# 示例:使用 'as' 为 numpy 赋予别名 'np'
import numpy as np

# 现在可以通过 'np' 来访问 numpy 的属性
my_array = np.array([1, 2, 3])
print(my_array)

在上面的例子中,我们使用 import numpy as np 导入 numpy 库, 并将其别名为 np。 这是一种常见的做法,可以简化 numpy 的使用。

2. 使用 as 为导入的特定属性设置别名

  • 使用 from <模块名> import <名称> 的时候,你也可以使用 as 关键字为导入的特定属性设置别名。
    • 避免命名冲突:当要导入的属性的名称与你当前范围内的名称冲突时,可以使用 as 指定别名来避免。
    • 提高可读性:某些属性名称可能不够简洁或描述性不够,使用 as 可以为其提供更具含义的别名,让代码更容易理解。
# 示例:从 math 模块导入 sqrt 并命名为 'square_root'
from math import sqrt as square_root

# 现在可以使用 'square_root' 调用 sqrt 函数
result = square_root(25)
print(result) # 输出: 5.0

# 示例:从 datetime 模块导入 datetime 类,并命名为 'DT'
from datetime import datetime as DT

# 现在可以通过 'DT' 使用 datetime 类
current_datetime = DT.now()
print(current_datetime)

何时使用 as 关键字?

  • 当你在本地的作用域中已经使用了相同的名称时,为了防止命名冲突,会使用 as 关键字为导入的模块或是属性指定别名
  • 当模块名称或者属性名称很长并且在代码中多次使用,为了简化代码时,会使用 as 赋予一个简短的别名
  • 为了提高代码的可读性, 为引入的模块或者属性赋予一个更具描述性的名称。

总结:

  • as 关键字用于为导入的模块或属性提供别名。
  • as 关键字可以避免命名冲突,简化代码,并提高程序的可读性。
  • 使用 as 关键字为模块设置别名格式是:import <模块名> as <别名>
  • 使用 as 关键字为导入的特定属性设置别名格式是: from <模块名> import <名称> as <别名>
  • 谨慎合理地使用,过度使用别名会降低代码的可读性,适得其反。