博客
关于我
Nim教程【十二】
阅读量:800 次
发布时间:2023-02-16

本文共 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/

你可能感兴趣的文章
ntpdate同步配置文件调整详解
查看>>
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP服务器
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
NumPy 库详细介绍-ChatGPT4o作答
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>
numpy 或 scipy 有哪些可能的计算可以返回 NaN?
查看>>
numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
查看>>