0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

これで完璧!PEP8スタイルガイドラインを習得するためのクイズ10問

Posted at

はじめに

Pythonはそのシンプルさと可読性の高さで知られるプログラミング言語です。しかし、その可読性を最大限に引き出すためには、コードスタイルガイドラインであるPEP8(Python Enhancement Proposal 8)を遵守することが重要です。PEP8は、Pythonコードの一貫性と可読性を向上させるためのベストプラクティスを提供します。

この記事では、PEP8に準拠したコーディングスタイルと、そうでないスタイルを比較するための10問のクイズを紹介します。このクイズを通じて、PEP8の基本的なルールを学び、実践的な知識を深めることができます。初心者から経験者まで、すべてのPythonプログラマーに役立つ内容となっているので、ぜひ挑戦してみてください。

PEP8スタイルガイドラインを習得するためのクイズ10問

問題1

# コードA
def add(a, b):
    return a+b

# コードB
def add(a, b):
    return a + b

解答: コードB

解説:

PEP8では、演算子の前後にはスペースを入れることを推奨しています。したがって、return a + bが正しいスタイルです。

問題2

# コードA
for i in range(10):
    print(i)

# コードB
for i in range(10):
 print(i)

解答: コードA

解説:

PEP8では、インデントにはスペース4つを使用することを推奨しています。コードBはインデントが不適切です。

問題3

# コードA
class MyClass:
    def __init__(self, value):
        self.value=value

# コードB
class MyClass:
    def __init__(self, value):
        self.value = value

解答: コードB

解説:

PEP8では、代入演算子の前後にはスペースを入れることを推奨しています。したがって、self.value = valueが正しいスタイルです。

問題4

# コードA
def func(x,y):
    return x * y

# コードB
def func(x, y):
    return x * y

解答: コードB

解説:

PEP8では、引数リストの各引数の間にスペースを入れることを推奨しています。したがって、def func(x, y):が正しいスタイルです。

問題5

# コードA
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# コードB
def long_function_name(
    var_one, var_two, var_three,
    var_four):
    print(var_one)

解答: コードA

解説:

PEP8では、継続行のインデントには追加のレベル(通常は4つのスペース)を入れることを推奨しています。したがって、var_one, var_two, var_three, var_fourの行は追加のインデントが必要です。

問題6

# コードA
x = { 'a':37,'b':42,
'c':927}

# コードB
x = {'a': 37, 'b': 42, 'c': 927}

解答: コードB

解説:

PEP8では、辞書のエントリの間にはスペースを入れることを推奨しています。また、複数行にわたる辞書のエントリは適切にインデントする必要があります。したがって、コードBが正しいスタイルです。

問題7

# コードA
if x>5:
    print("x is greater than 5")

# コードB
if x > 5:
    print("x is greater than 5")

解答: コードB

解説:

PEP8では、比較演算子の前後にはスペースを入れることを推奨しています。したがって、if x > 5:が正しいスタイルです。

問題8

# コードA
def foo():
    return (0,1,2,3)

# コードB
def foo():
    return (0, 1, 2, 3)

解答: コードB

解説:

PEP8では、リストやタプルの要素の間にはスペースを入れることを推奨しています。したがって、return (0, 1, 2, 3)が正しいスタイルです。

問題9

# コードA
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# コードB
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ]

解答: コードA

解説:

PEP8では、リストの最後の要素の後には余分なカンマを入れないことを推奨しています。したがって、my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]が正しいスタイルです。

問題10

# コードA
import os, sys

# コードB
import os
import sys

解答: コードB

解説:

PEP8では、標準ライブラリの各インポートは個別の行に書くことを推奨しています。したがって、import osimport sysを個別の行に書くコードBが正しいスタイルです。

参考文献

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?