diff --git a/docs/c/116.md b/docs/c/116.md index 08c5dbc549316652fb4c2c05e0b44df71ab994bd..26e145330c200b65cb194e3f212c9eea2ac551b4 100644 --- a/docs/c/116.md +++ b/docs/c/116.md @@ -50,6 +50,6 @@ int main() { After concatenation: programming is awesome ``` -在这里,字符串`s1`和`s2`串联在一起,结果存储在`s1`中。 +在这里,字符串`s1`和`s2`连接在一起,结果存储在`s1`中。 重要的是要注意,`s1`的长度应足以在连接后容纳字符串。 如果没有,您可能会得到意外的输出。 \ No newline at end of file diff --git a/docs/c/22.md b/docs/c/22.md index e17de4da023e18329ea2b9fc25a218a565fc4e25..a3ecaabb8c8209bf4f5ec13024219159ccfd262e 100644 --- a/docs/c/22.md +++ b/docs/c/22.md @@ -102,7 +102,7 @@ n = 7 但是,现代编译器非常擅长代码优化,使用寄存器变量将使程序运行更快的机会非常少。 -除非您在嵌入式系统上工作,在该系统上您知道如何为给定应用程序优化代码,否则将不使用寄存器变量。 +除非您在嵌入式系统上工作,在该系统上您知道如何为给定应用优化代码,否则将不使用寄存器变量。 * * * diff --git a/docs/c/41.md b/docs/c/41.md index 9407c1f7f9b890253e29d0811244d7d98336efa2..797773bd5f551dd7e3404091c347e7f4f5b02b78 100644 --- a/docs/c/41.md +++ b/docs/c/41.md @@ -116,7 +116,7 @@ struct student getInformation() ## 按引用传递结构 -您还可以按引用传递结构(就像您按引用传递内置类型的变量一样)。 我们建议您在继续之前阅读参考文献的[传递](/c-programming/c-pointer-functions)。 +您还可以按引用传递结构(就像您按引用传递内置类型的变量一样)。 我们建议您在继续之前阅读[引用传递](/c-programming/c-pointer-functions)的文档。 在按引用传递期间,结构变量的内存地址将传递给函数。 @@ -173,6 +173,6 @@ result.real = 4.5 result.imag = -5.6 ``` -在上述程序中,三个结构变量`c1`,`c2`和`result`的地址传递给`addNumbers()`函数。 此处,`result`通过参考传递。 +在上述程序中,三个结构变量`c1`,`c2`和`result`的地址传递给`addNumbers()`函数。 此处,`result`通过引用传递。 当`addNumbers()`内的`result`变量被更改时,`main()`函数内的`result`变量也相应地被更改。 \ No newline at end of file diff --git a/docs/c/48.md b/docs/c/48.md index 0c59ac00d333ed6e247975713dc5169c516f9341..1d0ed4caf55e011bb7a5e8d1c5bdc3d050b4932d 100644 --- a/docs/c/48.md +++ b/docs/c/48.md @@ -120,7 +120,7 @@ enum designFlags { } button; ``` -假设您正在设计 Windows 应用程序的按钮。 您可以将文本设置为使用`ITALICS`,`BOLD`和`UNDERLINE`标记。 +假设您正在设计 Windows 应用的按钮。 您可以将文本设置为使用`ITALICS`,`BOLD`和`UNDERLINE`标记。 在上述伪代码中,所有积分常数均为 2 的幂是有原因的。 diff --git a/docs/c/50.md b/docs/c/50.md index 8d5847968038067df59bd4f189b69eb625f4fa02..3c282f275e7c8581f1907a8ec1d698f00cedc056 100644 --- a/docs/c/50.md +++ b/docs/c/50.md @@ -37,7 +37,7 @@ int main() **4.这些函数是便携式的** -随着现实世界中不断变化的需求,您的应用程序有望随时随地运行。 而且,这些库函数可以在每台计算机上执行相同的操作,从而对您有所帮助。 +随着现实世界中不断变化的需求,您的应用有望随时随地运行。 而且,这些库函数可以在每台计算机上执行相同的操作,从而对您有所帮助。 * * * diff --git a/docs/c/69.md b/docs/c/69.md index 9950e8324311001ee26e33f8dfbedf4bd9b5ce17..69946e0753966a7b4cb47c085a00e570d05c3936 100644 --- a/docs/c/69.md +++ b/docs/c/69.md @@ -22,9 +22,9 @@ a != 0 术语`b2-4ac`被称为二次方程的判别式。 它说明了根的性质。 -* 如果判别值大于`0`,则根是真实的且不同。 +* 如果判别值大于`0`,则根是实数且不同。 * 如果判别式等于`0`,则根是实数且相等。 -* 如果判别式小于`0`,则根是复杂且不同的。 +* 如果判别式小于`0`,则根是复数且不同。 ![Formula to compute the roots of a quadratic equation](img/7b7c6a49d25d99e965c7ef4f36d27ddb.png "Roots of a quadratic equation") diff --git a/docs/cpp/112.md b/docs/cpp/112.md index 51877c5fb989ba6531e9a3f2bc8518f5575ec5ac..8d7b3f4073752a98f474f49499177f83386b62fe 100644 --- a/docs/cpp/112.md +++ b/docs/cpp/112.md @@ -2,7 +2,7 @@ > 原文: [https://www.programiz.com/cpp-programming/examples/concatenate-string](https://www.programiz.com/cpp-programming/examples/concatenate-string) -#### 在此示例中,您将学习串联(连接)两个字符串(字符串对象和 C 样式字符串)。 +#### 在此示例中,您将学习连接(连接)两个字符串(字符串对象和 C 样式字符串)。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: diff --git a/docs/cpp/33.md b/docs/cpp/33.md index e6461bb036e456666213ede74c403507f211fac3..fc399d1e84e3d6110e687534bd95a9665a7b9e85 100644 --- a/docs/cpp/33.md +++ b/docs/cpp/33.md @@ -155,7 +155,7 @@ enum designFlags { } button; ``` -假设您正在设计 Windows 应用程序的按钮。 您可以将标记`ITALICS`,`BOLD`和`UNDERLINE`设置为文本。 +假设您正在设计 Windows 应用的按钮。 您可以将标记`ITALICS`,`BOLD`和`UNDERLINE`设置为文本。 上面的伪代码中所有积分常数都是 2 的幂是有原因的。 diff --git a/docs/csharp/21.md b/docs/csharp/21.md index 575916ebbf6ec35b59e17b664184fd9146e7bc5c..06bc1bd24c2f27f12a3e8e1f71df7724735364b2 100644 --- a/docs/csharp/21.md +++ b/docs/csharp/21.md @@ -10,7 +10,7 @@ ## 部分类简介 -在使用 C# (或 OOP)进行编程时,我们可以将类的定义划分为两个或多个源文件。 源文件包含类定义的一部分,并且在编译应用程序时将所有部分组合在一起。 为了拆分类定义,我们需要使用`partial`关键字。 +在使用 C# (或 OOP)进行编程时,我们可以将类的定义划分为两个或多个源文件。 源文件包含类定义的一部分,并且在编译应用时将所有部分组合在一起。 为了拆分类定义,我们需要使用`partial`关键字。 ### 示例 1: diff --git a/docs/csharp/5.md b/docs/csharp/5.md index 1f554800a12d26fec0bb205c8fd3edd9fbe78a90..922fbf588bc149792fb6bc0ef7ff10a2ee462e22 100644 --- a/docs/csharp/5.md +++ b/docs/csharp/5.md @@ -122,7 +122,7 @@ value = 5; C# 中的变量大致分为两种类型**:值类型**和**引用类型**。 在本教程中,我们将讨论作为值类型的子类的原始(简单)数据类型。 -参考类型将在以后的教程中介绍。 但是,如果您想了解更多有关变量类型的信息,请访问 [C# 类型和变量](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/types-and-variables)(官方 C# 文档)。 +引用类型将在以后的教程中介绍。 但是,如果您想了解更多有关变量类型的信息,请访问 [C# 类型和变量](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/types-and-variables)(官方 C# 文档)。 ### `bool`(布尔) diff --git a/docs/dsal/21.md b/docs/dsal/21.md index 0aaacbb531bafaf9497eee517411ed9f778c8e1c..2af7c5a29f15c4bde747241d1ce6361ed261292f 100644 --- a/docs/dsal/21.md +++ b/docs/dsal/21.md @@ -36,7 +36,7 @@ 使用循环双链表有两个主要优点。 1. 从树中删除节点需要`O(1)`时间。 -2. 两个这样的列表的串联需要花费`O(1)`时间。 +2. 两个这样的列表的连接需要花费`O(1)`时间。 ![Fibonacci Heap Structure](img/18b0fb38e55bf98b19861e55062b888c.png "Fibonacci Heap Structure") diff --git a/docs/dsal/6.md b/docs/dsal/6.md index 57c843d1dd23c19e30e05457d1dc361e27fccc5f..34b6b9cf8610a1aef990df0c6a4eaf07e91c2c68 100644 --- a/docs/dsal/6.md +++ b/docs/dsal/6.md @@ -4,7 +4,7 @@ #### 在本教程中,您将学习什么是主定理以及如何将其用于解决递归关系。 -主方法是用于解决以下形式的递归关系的公式: +主定理是用于解决以下形式的递归关系的公式: ``` T(n) = aT(n/b) + f(n), diff --git a/docs/dsal/66.md b/docs/dsal/66.md index fe1338ae8cd2eb39285bcaf1b2e346a2ebb961f8..63f7b9ce58d037a273ca91dd37f73851e32a3b4a 100644 --- a/docs/dsal/66.md +++ b/docs/dsal/66.md @@ -4,7 +4,7 @@ #### 在本教程中,您将学习什么是贪婪算法。 此外,您还会找到一个贪婪方法的示例。 -贪心算法是一种通过选择当前可用的最佳选项来解决问题的方法,而无需担心将来会带来什么结果。 换句话说,本地最佳选择旨在产生全球最佳结果。 +贪心算法是一种通过选择当前可用的最佳选项来解决问题的方法,而无需担心将来会带来什么结果。 换句话说,本地最佳选择旨在产生全局最佳结果。 对于所有问题,该算法可能都不是最佳选择。 在某些情况下,它可能会产生错误的结果。 diff --git a/docs/java/126.md b/docs/java/126.md index 94f88873536d3aaa5b961caef2cea05198b9263c..f80089a5591e06641936492d9a20f32c1d74b9c9 100644 --- a/docs/java/126.md +++ b/docs/java/126.md @@ -175,13 +175,13 @@ Value of Pi = 3.1415 MyInterface ref; ``` -* 然后,我们为参考分配了一个 lambda 表达式。 +* 然后,我们为引用分配了一个 lambda 表达式。 ```java ref = () -> 3.1415; ``` -* 最后,我们使用参考接口调用方法`getPiValue()`。 当 +* 最后,我们使用引用接口调用方法`getPiValue()`。 当 时 ```java diff --git a/docs/java/3.md b/docs/java/3.md index d5c73c19c89ea9ad9e5ef20e0a1ac287652c3769..485d0c944d652eb4b7d63f8783fdf4348690a613 100644 --- a/docs/java/3.md +++ b/docs/java/3.md @@ -38,10 +38,10 @@ Hello, World! 1. `// Your First Program` - 在 Java 中,任何以`//`开头的行都是注释。 注释旨在供用户阅读代码以更好地了解程序的意图和功能。 Java 编译器(将 Java 程序转换为计算机可执行的 Java 字节码的应用程序)将完全忽略它。 要了解更多信息,请访问 [Java 注释](/java-programming/comments)。 + 在 Java 中,任何以`//`开头的行都是注释。 注释旨在供用户阅读代码以更好地了解程序的意图和功能。 Java 编译器(将 Java 程序转换为计算机可执行的 Java 字节码的应用)将完全忽略它。 要了解更多信息,请访问 [Java 注释](/java-programming/comments)。 2. `class HelloWorld { ... }` - 在 Java 中,每个应用程序均以类定义开头。 在程序中,`HelloWorld`是类的名称,而类定义是: + 在 Java 中,每个应用均以类定义开头。 在程序中,`HelloWorld`是类的名称,而类定义是: ```java class HelloWorld { @@ -49,14 +49,14 @@ Hello, World! } ``` - 现在,请记住每个 Java 应用程序都有一个类定义以及该类的名称。 应该与 Java 中的文件名匹配。 + 现在,请记住每个 Java 应用都有一个类定义以及该类的名称。 应该与 Java 中的文件名匹配。 3. `public static void main(String[] args) { ... }` - 这是主要方法。 Java 中的每个应用程序都必须包含`main`方法。 Java 编译器开始从`main`方法执行代码。 + 这是`main`方法。 Java 中的每个应用都必须包含`main`方法。 Java 编译器开始从`main`方法执行代码。 **它是如何工作的?** 好问题。 但是,我们将不在本文中讨论。 毕竟,这是将 Java 编程语言引入新手的基本程序。 我们将学习`public`,`static`,`void`和[的含义方法如何工作](/java-programming/methods)? 在后面的章节中。 - 现在,只需记住主要功能是 Java 应用程序的入口点,并且它在 Java 程序中是必需的。 Java 中主要方法的签名为: + 现在,只需记住主要功能是 Java 应用的入口点,并且它在 Java 程序中是必需的。 Java 中`main`方法的签名为: ```java public static void main(String[] args) { @@ -72,7 +72,7 @@ Hello, World! ### 重要结论 -* 每个有效的 Java 应用程序都必须具有一个类定义(与文件名匹配)。 +* 每个有效的 Java 应用都必须具有一个类定义(与文件名匹配)。 * `main`方法必须在类定义内。 * 编译器从`main`函数开始执行代码。 diff --git a/docs/java/4.md b/docs/java/4.md index 055faa7a775a9606fd37e80ecd059dfeba787358..64ca5c534f4c2c27225f7154834912f426f76721 100644 --- a/docs/java/4.md +++ b/docs/java/4.md @@ -18,13 +18,13 @@ Java 程序的原理 -如果您对学习 JVM 体系结构感兴趣,请访问 [JVM 体系结构说明](https://dzone.com/articles/jvm-architecture-explained)。 +如果您对学习 JVM 架构感兴趣,请访问 [JVM 架构说明](https://dzone.com/articles/jvm-architecture-explained)。 * * * ## 什么是 JRE? -JRE(Java 运行时环境)是一个包,提供 Java 类库,Java 虚拟机(JVM)和运行 Java 应用程序所需的其他组件。 +JRE(Java 运行时环境)是一个包,提供 Java 类库,Java 虚拟机(JVM)和运行 Java 应用所需的其他组件。 JRE 是 JVM 的超集。 @@ -40,7 +40,7 @@ Java 运行时环境 ## 什么是 JDK? -JDK(Java 开发套件)是使用 Java 开发应用程序所需的软件开发套件。 当您下载 JDK 时,还将同时下载 JRE。 +JDK(Java 开发套件)是使用 Java 开发应用所需的软件开发套件。 当您下载 JDK 时,还将同时下载 JRE。 除了 JRE,JDK 还包含许多开发工具(编译器,JavaDoc,Java Debugger 等)。 @@ -50,7 +50,7 @@ Java 开发套件 -如果要开发 Java 应用程序,请[下载 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html) 。 +如果要开发 Java 应用,请[下载 JDK](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html) 。 * * * diff --git a/docs/java/51.md b/docs/java/51.md index 626a2e45200bdadc83430e7e230f5379b5a00271..71c875cc399c306270913f2e330fdcb79db25aa4 100644 --- a/docs/java/51.md +++ b/docs/java/51.md @@ -285,7 +285,7 @@ Value at: 9 = 9 上图描述了在创建新的`FileWriter`时发生异常时的程序执行流程。 -* 为了进入发生异常的方法,主方法调用`writeList()`方法,然后调用`FileWriter()`方法来创建新的`OutputFile.txt`文件。 +* 为了进入发生异常的方法,`main`方法调用`writeList()`方法,然后调用`FileWriter()`方法来创建新的`OutputFile.txt`文件。 * 发生异常时,运行系统将跳过`try`块中的其余代码。 * 它开始以相反的顺序搜索调用栈,以找到合适的异常处理器。 * 这里`FileWriter`没有异常处理器,因此运行时系统检查调用栈中的下一个方法,即`writeList`。 diff --git a/docs/java/55.md b/docs/java/55.md index bb5106b4f1a23efcc8d8f1ac89705c7d606b5548..d1f915c3ca98c90d92124e8d98e3abd5b26cb9cc 100644 --- a/docs/java/55.md +++ b/docs/java/55.md @@ -171,7 +171,7 @@ Main.java uses unchecked or unsafe operations ``` -由于以下陈述。 +由于以下语句。 ```java ArrayList wordList = new ArrayList<>(); diff --git a/docs/java/73.md b/docs/java/73.md index 8088c3084d04d4b7c3372fd96be89810de05db17..dc6abc16d232c923fa0f49d9edc391a8542e348d 100644 --- a/docs/java/73.md +++ b/docs/java/73.md @@ -283,7 +283,7 @@ Removed Element: Dog `ArrayBlockingQueue`使用数组作为其内部存储。 -它被视为**线程安全的**集合。 因此,它通常用于多线程应用程序中。 +它被视为**线程安全的**集合。 因此,它通常用于多线程应用中。 假设一个线程正在将元素插入队列,而另一个线程正在从队列中删除元素。 diff --git a/docs/java/74.md b/docs/java/74.md index 763be652d19aff98c581dee9effe8892be97781b..0ee285199363a76d78682ad8a7b0e00ce97f285e 100644 --- a/docs/java/74.md +++ b/docs/java/74.md @@ -295,7 +295,7 @@ New LinkedBlockingQueue: [Cat] `LinkedBlockingQueue`使用链接列表作为其内部存储。 -它被视为**线程安全的**集合。 因此,它通常用于多线程应用程序中。 +它被视为**线程安全的**集合。 因此,它通常用于多线程应用中。 假设一个线程正在将元素插入队列,而另一个线程正在从队列中删除元素。 diff --git a/docs/kotlin/26.md b/docs/kotlin/26.md index ebe88194cfbe7af2bdf71539a77a625f14e3021e..a3a8adfa12eb98ff0ef7abd2890dfe66f7af2e52 100644 --- a/docs/kotlin/26.md +++ b/docs/kotlin/26.md @@ -17,7 +17,7 @@ ## 为什么是继承? -假设在您的应用程序中,您需要三个字符-一个**数学老师**,一个**足球运动员**和一个**商人**。 +假设在您的应用中,您需要三个字符-一个**数学老师**,一个**足球运动员**和一个**商人**。 由于所有角色都是人,因此他们可以走路和说话。 但是,他们也有一些特殊技能。 数学老师可以**教数学**,足球运动员可以**踢足球**,商人可以**经营业务**。 diff --git a/docs/kotlin/3.md b/docs/kotlin/3.md index 3ab8346180e064af7a810ae9bdccda943716bfe4..a4c4ad63f579214807adda3754dd19dfe7de462b 100644 --- a/docs/kotlin/3.md +++ b/docs/kotlin/3.md @@ -38,7 +38,7 @@ Hello, World! 以`//`开头的任何行都是 Kotlin 中的注释(类似于 Java)。 注释将被编译器忽略。 它们旨在供阅读代码的人员更好地了解该程序的意图和功能。 要了解更多信息,请访问 *Kotlin 注释*。 2. `fun main(args : Array) { ... }` - 这是`main`函数,在每个 Kotlin 应用程序中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。 + 这是`main`函数,在每个 Kotlin 应用中都是必需的。 Kotlin 编译器开始从`main`函数执行代码。 该函数将字符串数组作为参数并返回`Unit`。 您将在后面的章节中了解函数和参数。 diff --git a/docs/kotlin/33.md b/docs/kotlin/33.md index d199b44d84b0d9ff68f69abdfdb8a2acfa9d7a85..a9d9360eb8e3a65803ab133a842b0fe0ccb9f5ac 100644 --- a/docs/kotlin/33.md +++ b/docs/kotlin/33.md @@ -8,7 +8,7 @@ 单例是一种面向对象的模式,其中一个类只能有一个实例(对象)。 -例如,您正在处理具有 SQL 数据库后端的应用程序。 您想创建一个连接池来访问数据库,同时为所有客户端重用相同的连接。 为此,您可以通过单例类创建连接,以便每个客户端获得相同的连接。 +例如,您正在处理具有 SQL 数据库后端的应用。 您想创建一个连接池来访问数据库,同时为所有客户端重用相同的连接。 为此,您可以通过单例类创建连接,以便每个客户端获得相同的连接。 * * * diff --git a/docs/kotlin/4.md b/docs/kotlin/4.md index 2a80852737ad5e3ce7b132eab6b3a06edd564273..3dc9dbf7a748a3a3865f71e80766bd0cc43e24b2 100644 --- a/docs/kotlin/4.md +++ b/docs/kotlin/4.md @@ -64,8 +64,8 @@ language = 14 // Error ### `var`和`val`之间的区别 -* `val`(不可变参考) - 一旦分配了值,就无法更改使用`val`关键字声明的变量。 它类似于 Java 中的*最终变量*。 -* `var`(可变参考) - 使用`var`关键字声明的变量可以稍后在程序中更改。 它对应于常规 Java 变量。 +* `val`(不可变引用) - 一旦分配了值,就无法更改使用`val`关键字声明的变量。 它类似于 Java 中的*最终变量*。 +* `var`(可变引用) - 使用`var`关键字声明的变量可以稍后在程序中更改。 它对应于常规 Java 变量。 以下是一些示例: diff --git a/docs/kotlin/5.md b/docs/kotlin/5.md index 5faa252e0c4dfbf0b05f84040af8bf52b562bdf1..4b0e604076bb2bfea61413ad52bbcb3e77e417a8 100644 --- a/docs/kotlin/5.md +++ b/docs/kotlin/5.md @@ -21,7 +21,7 @@ Kotlin 算术运算符 | `+` | 加法(也用于字符串连接) | | `-` | 减法运算符 | | `*` | 乘法运算符 | -| `/` | 除法运营商 | +| `/` | 除法运算符 | | `%` | 模运算符 | * * * diff --git a/docs/py/10.md b/docs/py/10.md index 093b1d0f6f20986bfadb8846b8d566704ee200d3..6c449dbea4b62a7d9312db46781a8d2df0f9090f 100644 --- a/docs/py/10.md +++ b/docs/py/10.md @@ -202,7 +202,7 @@ Python 中有多种复合运算符,例如`a += 5`,它们会添加到变量 * * * -## 特殊运营商 +## 特殊运算符 Python 语言提供了一些特殊类型的运算符,例如身份运算符或成员资格运算符。 下面通过示例对其进行描述。 diff --git a/docs/py/14.md b/docs/py/14.md index 5489aec8b90a8288598a7c391a17456019c7d7b4..5e5d46c17d8a404d15b9d40be153205bd142efd3 100644 --- a/docs/py/14.md +++ b/docs/py/14.md @@ -110,7 +110,7 @@ I like rock ## 循环与`else` -`for`循环也可以具有可选的`else`块。 如果用于循环的序列中的项目用尽,则会执行`else`部分。 +`for`循环也可以具有可选的`else`块。 如果`for`循环的序列中的项目用尽,则会执行`else`部分。 `break`关键字可用于停止`for`循环。 在这种情况下,其他部分将被忽略。 diff --git a/docs/py/19.md b/docs/py/19.md index 8a26821dacf651f0e30e9dc33c4394cc571fd59c..55f7d40476f90c12e496ba79788d31413d3fb678 100644 --- a/docs/py/19.md +++ b/docs/py/19.md @@ -182,7 +182,7 @@ Value outside function: 20 这是因为函数内部的变量`x`与外部的变量不同(局部于函数)。 尽管它们具有相同的名称,但是它们是两个具有不同作用域的不同变量。 -另一方面,从外部可以看到函数外部的变量。 它们具有全球范围。 +另一方面,从外部可以看到函数外部的变量。 它们具有全局范围。 我们可以从函数内部读取这些值,但不能更改(写入)它们。 为了在函数外部修改变量的值,必须使用关键字`global`将它们声明为全局变量。 diff --git a/docs/py/29.md b/docs/py/29.md index b2a172a535321546715ac2e41bb1c6ecc0cf73f0..c932b800a69b385f466fc89368411aeef5413c40 100644 --- a/docs/py/29.md +++ b/docs/py/29.md @@ -421,7 +421,7 @@ for x in range(10): pow2.append(2 ** x) ``` -如果语句,列表推导可以选择包含更多的`for`或[。 可选的`if`语句可以过滤出新列表的项目。 这里有些例子。](/python-programming/if-elif-else) +列表推导可以选择包含更多的`for`或[`if`语句](/python-programming/if-elif-else)。 可选的`if`语句可以过滤出新列表的项目。 这里有些例子。 ```py >>> pow2 = [2 ** x for x in range(10) if x > 5] diff --git a/docs/py/35.md b/docs/py/35.md index 9e14b87bfa01957f19b2737e3437d7247f7f3feb..755b0b019cdfa729aa949bf8b69c5fc1d9bb9978 100644 --- a/docs/py/35.md +++ b/docs/py/35.md @@ -40,7 +40,7 @@ Python 具有内置的`open()`函数来打开文件。 此函数返回文件对 | `r` | 打开文件进行读取。 (默认) | | `w` | 打开一个文件进行写入。 如果不存在则创建一个新文件,或者如果存在则将其截断。 | | `x` | 打开文件以进行独占创建。 如果文件已经存在,则操作失败。 | -| `a` | 打开文件以在文件末尾追加而不截断。 如果不存在,则创建一个新文件。 | +| `a` | 打开文件以在文件末尾附加而不截断。 如果不存在,则创建一个新文件。 | | `t` | 以文本模式打开。 (默认) | | `b` | 以二进制模式打开。 | | `+` | 打开文件进行更新(读取和写入) | diff --git a/docs/py/39.md b/docs/py/39.md index 9279df487c47ea3f3d2191f7da9cad1d195c0cf2..84b4063449cf2369ff20c2c6f7513e8e50842e1f 100644 --- a/docs/py/39.md +++ b/docs/py/39.md @@ -6,7 +6,7 @@ Python 有许多[内置异常](/python-programming/exceptions),它们会在程序出现问题时强制您的程序输出错误。 -但是,有时您可能需要创建自己的自定义例外来满足您的目的。 +但是,有时您可能需要创建自己的自定义异常来满足您的目的。 * * * diff --git a/docs/py/41.md b/docs/py/41.md index 5e626230d3498041838e229373de8b276a1b0131..50d5b0f2ec9348af33eaa3d4fc41f6f7ffacf659 100644 --- a/docs/py/41.md +++ b/docs/py/41.md @@ -98,7 +98,7 @@ Woo is 15 years old 这些属性在类的`__init__`方法中定义。 创建对象后,首先运行的是初始化方法。 -然后,我们创建`Parrot`类的实例。 这里,`Blu`和`woo`是我们新对象的参考(值)。 +然后,我们创建`Parrot`类的实例。 这里,`Blu`和`woo`是我们新对象(值)的引用。 我们可以使用`__class__.species`访问`class`属性。 类的所有实例的类属性都相同。 同样,我们使用`blu.name`和`blu.age`访问实例属性。 但是,类的每个实例的实例属性都不同。 diff --git a/docs/py/47.md b/docs/py/47.md index 3827caa2e78615d2b0384a6808305871463ba952..4337c824c29fd8f3a1f831235289c85651a9eb8b 100644 --- a/docs/py/47.md +++ b/docs/py/47.md @@ -62,7 +62,7 @@ Traceback (most recent call last): StopIteration ``` -一种更优雅的自动迭代方式是将[用于循环](/python-programming/for-loop)。 使用此方法,我们可以迭代可以返回迭代器的任何对象,例如列表,字符串,文件等。 +一种更优雅的自动迭代方式是[`for`循环](/python-programming/for-loop)。 使用此方法,我们可以迭代可以返回迭代器的任何对象,例如列表,字符串,文件等。 ```py >>> for element in my_list: diff --git a/docs/py/48.md b/docs/py/48.md index 59294fa4150bbffa676d0a08d50f562343ba8160..752790d5d24a1da99ea5141eb4add051fafe890e 100644 --- a/docs/py/48.md +++ b/docs/py/48.md @@ -94,7 +94,7 @@ StopIteration 要重新启动该过程,我们需要使用`a = my_gen()`之类的东西来创建另一个生成器对象。 -最后要注意的一点是,我们可以将带有[的生成器直接用于循环](/python-programming/for-loop)。 +最后要注意的一点是,我们可以将[生成器直接用于`for`循环](/python-programming/for-loop)。 这是因为`for`循环使用一个迭代器,并使用`next()`函数对其进行迭代。 抛出`StopIteration`时,它自动结束。 检查这里[知道在 Python](/python-programming/iterator#for-loop-working) 中实际上是如何实现`for`循环的。 diff --git a/docs/swift/27.md b/docs/swift/27.md index d6291708d60fb1072ba03653c39aeffc68885097..18acb6fe2f85ce100f51ca1fc854879f17bf2cab 100644 --- a/docs/swift/27.md +++ b/docs/swift/27.md @@ -387,7 +387,7 @@ Optional(54) ### 3.`insert` -`insert`函数用于在集合中插入/追加元素。 +`insert`函数用于在集合中插入/附加元素。 #### 示例 9:`insert`如何工作? diff --git a/docs/swift/34.md b/docs/swift/34.md index 38311bf90c11d4858c5220fd209e11292f194729..ad7ba37f7113bfa8e3e208b1a33f776057681d9e 100644 --- a/docs/swift/34.md +++ b/docs/swift/34.md @@ -83,7 +83,7 @@ for value in 1..<3 { ### 3.单侧范围 -单边范围是指在一个方向上尽可能连续的范围。 可以使用半开范围算子和闭合范围算子来创建它,但是该算子只能在一侧具有一个值。 +单边范围是指在一个方向上尽可能连续的范围。 可以使用半开范围运算符和闭合范围运算符来创建它,但是该运算符只能在一侧具有一个值。 #### 示例 3:小于 2 的单侧范围 diff --git a/docs/swift/9.md b/docs/swift/9.md index a8e55f510ac896d38dae88350ea8f0b4a7c488b0..f7a1aaaf610dd6cff8b35f08edd440cf72c9ae95 100644 --- a/docs/swift/9.md +++ b/docs/swift/9.md @@ -110,7 +110,7 @@ let someValue:Int = 12 #endif ``` - 条件`swift(>=4.0`应用于语句`#if#endif`。 结果,仅在编译时 swift 版本大于或等于 4.0 时才执行`print`语句。 + 条件`swift(>=4.0)`应用于语句`#if#endif`。 结果,仅在编译时 swift 版本大于或等于 4.0 时才执行`print`语句。 * **行控制语句**