Требуется помощь - нужен ли класс в скриптах Python? - PullRequest
0 голосов
/ 13 января 2009

Я создаю интерфейс для сценариев Python. Позже я буду писать скрипты на Python для автоматического тестирования. Нужно ли использовать класс в моем коде. Теперь я создал код со словарями, списками, функциями, глобальными и локальными переменными.

Нужен ли класс?

Помоги мне в этом.

Ответы [ 4 ]

10 голосов
/ 13 января 2009

Нет, конечно, класс не является обязательным . Поскольку Python является языком сценариев, вы можете просто кодировать свои сценарии, не определяя свои собственные классы. Классы полезны, если вы реализуете более сложную программу, которая требует структурированного подхода, и преимущества ООП (инкапсуляция, полиморфизм) помогут вам в этом.

1 голос
/ 13 января 2009

Нет, вам не нужно использовать классы для написания сценариев.

Однако, когда вы начнете использовать unittest для модульного тестирования, это будет включать в себя классы, поэтому вам нужно как минимум понять, как подкласс класса TestCase, например:

import unittest
import os

class TestLint(unittest.TestCase):

    def testLintCreatesLog(self):
        # stuff that does things to create the file lint.log removed...
        assert os.path.exists('lint.log')  # this should be here after lint        
        assert os.path.getsize('lint.log') == 0 # nothing in the log - assume happy

if __name__ == '__main__':
    # When this module is executed from the command-line, run all its tests
    unittest.main()
1 голос
/ 13 января 2009

Нет необходимости в том, чтобы заставить его работать, но я бы сказал, что поддерживать его будет грязно, если вы не включаете определенные вещи в классы. Классы - это то, что должно помочь программисту упорядочить его / ее код, а не просто приятно пухнуть.

0 голосов
/ 02 января 2010

не требуется, поскольку python не является чисто объектно-ориентированным языком, но некоторые вещи лучше пишутся в классах (инкапсуляция). Становится легче построить большой проект с использованием классов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...