
# 使用Python代码片段
代码片段是模板，可以简化如循环或条件语句等重复代码模式的输入。CodeArts IDE为Python语言提供了多个内置的代码片段，这些片段和其他建议一起出现在代码补全（"Ctrl+I" / "Ctrl+Space"/"Ctrl+Shift+Space"）中。代码片段通常放置在代码补全建议列表底部。要快速访问它们，请触发代码补全，然后按"Ctrl+Up"/"Up"。
#### 常规片段
常规代码片段用于快速输入常见的代码结构。例如，使用"propsd"代码片段，您可以快速为类属性创建getter、setter和deleter方法。
图1使用"propsd"代码片段   
![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002360418642.png "点击放大")
有些代码片段初始化时是包含占位符的不完整片段，需要填充对应占位符来使代码片段成为完整的可执行代码。您可以通过按"Tab"键在这些占位符之间跳转。
表1常规片段语句 
| 类型                                                                                         | 代码片段描述                          | 缩写       | 扩展内容                                                                                                                   |
|:---|:---|:---|:---|
| 条件语句                                                                                       | 创建一个"__name__"变量的主函数守卫 或者主程序入口。 | "main"   | ``` if __name__ == '__main__': pass ```                                                                                |
| 循环语句                                       | 用"for"循环迭代一个可迭代对象。              | "iter"   | ``` for i in <iterable>: pass ```                                                                                      |
| 循环语句                                       | 用"for"循环迭代一个可迭代对象的索引和键值。        | "itere"  | ``` for index, value in enumerate(iterable): pass ```                                                                  |
| 循环语句                                       | 迭代生成的数字范围。                      | "iterr"  | ``` for i in range(0): pass ```                                                                                        |
| 列表解析        | 字典解析。                           | compd    | ``` {item: item for item in <iterable>} ```                                                                            |
| 列表解析        | 带过滤的字典解析。                       | compdi   | ``` {item: item for item in <iterable> if <condition>} ```                                                             |
| 列表解析        | 生成器解析。                          | compg    | ``` (item for item in <iterable>) ```                                                                                  |
| 列表解析        | 带过滤的生成器解析。                      | compgi   | ``` (item for item in <iterable> if <condition>) ```                                                                   |
| 列表解析        | 列表解析。                           | compl    | ``` [item for item in <iterable>] ```                                                                                  |
| 列表解析        | 带过滤的列表解析。                       | compli   | ``` [item for item in <iterable> if <condition>] ```                                                                   |
| 列表解析        | 集合解析。                           | comps    | ``` {item for item in <iterable>} ```                                                                                  |
| 列表解析        | 带过滤的集合解析。                       | compsi   | ``` {item for item in <iterable> if <condition>} ```                                                                   |
| 类成员                                 | 从父类初始化调用方法的实现。                  | "super"  | ``` super().<super_method_name>() ```                                                                                  |
| 类成员                                 | 为类属性创建getter方法。                 | "prop"   | ``` @property def name(self): return ```                                                                               |
| 类成员                                 | 为类属性创建setter和getter方法。          | "props"  | ``` @property def name(self): return @name.setter def name(self, value): = value ```                                   |
| 类成员                                 | 为类属性创建setter、getter和deleter方法。  | "propsd" | ``` @property def name(self): return @name.setter def name(self, value): = value @name.deleter def name(self): del ``` |
   
#### 后缀片段
后缀片段（Postfix snippets）是用于将一个现有的表达式转换为另一个表达式的工具。要使用后缀片段，只需在表达式后面添加一个点（"."），然后从代码补全建议列表中选择所需的片段。例如，通过使用"main"后缀片段，你可以将一个表达式包装成一个条件性的名为main的表达式。
![](https://support.huaweicloud.com/usermanual-codeartside/zh-cn_image_0000002360701512.png "点击放大")
有些代码片段初始化时是包含占位符的不完整片段，需要填充对应占位符来使代码片段成为完整的可执行代码。您可以通过按Tab键在这些占位符之间跳转。
表2后缀片段语句 
| 类型                                                               | 代码片段描述                   | 缩写       | 扩展内容                                             |
|:---|:---|:---|:---|
| 一般语句                                                             | 为表达式引入变量。                | "var"    | ``` var my_expression ```                        |
| 一般语句                                                             | 从封闭方法返回表达式的值。            | "return" | ``` return my_expression ```                     |
| 一般语句                                                             | 将表达式用括号包围。               | "par"    | ``` (my_expression) ```                          |
| 一般语句                                                             | 给表达式取反。                  | "not"    | ``` not (my_expression) ```                      |
| 一般语句                                                             | 返回表达式的长度（项目数）。           | "len"    | ``` len(my_expression) ```                       |
| 条件语句    | 创建"if"语句。                | "if"     | ``` if my_expression: <cursor> ```               |
| 条件语句    | 创建if语句判断表达式的值是否为"None"。  | "ifn"    | ``` if my_expression is None: <cursor> ```       |
| 条件语句    | 创建if语句判断表达式的值是否不为"None"。 | "null"   | ``` if my_expression is not None: <cursor> ```   |
| 条件语句    | 为表达式创建一个"__name__"主函数守卫。 | "main"   | ``` if __name__ == '__main__': my_expression ``` |
| 循环语句                                                             | 为表达式创建"while"循环。         | "while"  | ``` while my_expression: <cursor> ```            |
| 程序输出                                                             | 将表达式发送到标准输出。             | "print"  | ``` print(my_expression) ```                     |
   
