diff --git "a/\347\274\226\347\240\201\350\247\204\350\214\203/openKylin-python\350\257\255\350\250\200\351\200\232\347\224\250\347\274\226\347\250\213\350\247\204\350\214\203.md" "b/\347\274\226\347\240\201\350\247\204\350\214\203/openKylin-python\350\257\255\350\250\200\351\200\232\347\224\250\347\274\226\347\250\213\350\247\204\350\214\203.md" index 4484daf4c740af69558d43219a89f8bf373b1353..d1b42a50a04317606f8a62c3cf9b3e2d3ed456da 100644 --- "a/\347\274\226\347\240\201\350\247\204\350\214\203/openKylin-python\350\257\255\350\250\200\351\200\232\347\224\250\347\274\226\347\250\213\350\247\204\350\214\203.md" +++ "b/\347\274\226\347\240\201\350\247\204\350\214\203/openKylin-python\350\257\255\350\250\200\351\200\232\347\224\250\347\274\226\347\250\213\350\247\204\350\214\203.md" @@ -75,6 +75,19 @@ name = other_name ### 参考资料 [python手册-yield表达式](https://docs.python.org/zh-cn/3/reference/expressions.html#yieldexpr) +## 规则1.5 不应该在函数外使用yield和return语句(python:S2711) +yield和return语句只有在函数的上下文中才有意义。在函数外使用它们会引发SyntaxError异常。如果在函数外要中断开循环,可以改用break。 + +### 错误代码 + class MyClass: + while True: + return False #Noncompliant + +### 正确代码 + class MyClass: + while True: + break + # 2 错误和异常 ## 规则2.1 异常应该从Exception类派生(python:S5632)