本文共 1178 字,大约阅读时间需要 3 分钟。
排除指定符号
在大多数情况下,我们使用import语句来导入模块中的符号。如果你希望排除某些特定的符号,可以使用except子句。比如,以下代码可以选择性地导入mymodule模块中的符号: ```python import mymodule except y ```这样,只有mymodule模块中的y符号会被导入,其他符号则不会。如果需要排除多个符号,可以用逗号分隔: ```python import mymodule except y, z ```
导入指定符号
除了全导入模块中的所有符号外,我们还可以使用from语句来选择性地导入特定的符号。例如: ```python from mymodule import x, y, z ```这样,只有mymodule模块中的x、y、z三个符号会被导入。
强行名称空间限定
在某些情况下,你可能希望确保导入的符号在当前名称空间中带有模块前缀。例如: ```python from mymodule import x # 当前模块使用x时,必须带上mymodule前缀才能使用 x = mymodule.x() ```如果模块名称较长,可以通过给模块起别名来简化使用。例如: ```python from mymodule as m import x # 现在m就是mymodule的别名,可以直接使用m.x() x = m.x() ```
include语句
include语句与from语句有本质区别。include语句会在编译时将多个文件合并成一个文件,这对于将大型文件划分为多个小文件非常有用。例如: ```python include fileA, fileB, fileC ```
对象
在Nim语言中,对象和元组有相似之处,但对象提供了更多功能。对象支持继承和信息隐藏,构造方法只能在对象内部使用。例如: ```nim type Person = ref RootObj name*: string age: int Student = ref Person id: int student = Student(name: "Anton", age: 5, id: 2) ```标记为*的属性(如name*)可以被外部访问到,而没有*的属性则隐藏了。对象的类型只能通过type定义,Nim支持单继承,但不支持多继承。
自引用对象类型
对象和元组都可以创建复杂的数据结构,甚至支持自引用。例如: ```nim type Node = ref NodeObj NodeObj = object left, right: Node sym: ref Sym Sym = object name: string line: int code: PNode ```这种自引用类型在某些应用中非常有用。
转载地址:http://jdjfk.baihongyu.com/