From f4d2a4f4e1a88dadfc3a65b872bb560602856950 Mon Sep 17 00:00:00 2001 From: xujian Date: Mon, 27 Nov 2023 09:53:21 +0000 Subject: [PATCH] =?UTF-8?q?update=20=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83/o?= =?UTF-8?q?penKylin-python=E8=AF=AD=E8=A8=80=E9=80=9A=E7=94=A8=E7=BC=96?= =?UTF-8?q?=E7=A8=8B=E8=A7=84=E8=8C=83.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xujian --- ...26\347\250\213\350\247\204\350\214\203.md" | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) 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 47539da..faa5281 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" @@ -2,13 +2,43 @@ # 前言 +# 1 基本语法 +## 规则1.1 变量、类、函数应该先定义再使用(python:S3827) +变量、类、函数应该先定义再使用,否则会导致程序报错。 -# 1 错误和异常 -## 规则1.1 异常应该从Exception类派生(python:S5632) +### 错误代码 + def noncompliant(): + foo() + foo = sum + + func() + def func(): + pass + + MyClass() + class MyClass: + pass + +### 正确代码 + def compliant(): + foo = sum + foo() + + def func(): + pass + func() + + class MyClass: + pass + MyClass() + + +# 2 错误和异常 +## 规则2.1 异常应该从Exception类派生(python:S5632) 在Python3中,试图引发一个不是从BaseException派生的对象将引发一个TypeError异常。在Python2中可以这样编程,但为了与Python3兼容,不应该再这样做。当需要自定义异常类,应该继承自Exception,而不是BaseException。 -### 问题代码 +### 错误代码 raise "Something went wrong" @@ -29,11 +59,11 @@ ### 参考资料 [python手册-错误与异常](https://docs.python.org/zh-cn/3/tutorial/errors.html) -# 2 返回值 -## 规则2.1 __init__函数不应该有显示返回值(python:S2734) +# 3 返回值 +## 规则3.1 __init__函数不应该有显示返回值(python:S2734) 在python中,__init__函数是一个特殊的方法,用于在创建类的实例时进行初始化操作。它没有显示的返回值,而是隐式的返回新创建的实例对象。 -### 问题代码 +### 错误代码 class MyClass(object): def __init__(self): self.message = 'Hello' -- Gitee