стиль кодирования, используйте return как break в методах python / django - PullRequest
0 голосов
/ 22 октября 2018

Из других языков программирования я очень привык делать что-то подобное:

def doit(bikes):
    if type(bikes) is not list:
        return False

    # do something with bikes list

Но в большинстве кодов Python, которые я видел, это гораздо больше делается как

def doit(bikes):
    if type(bikes) is list:
        # do something with bikes list

Так неужели мой путь на самом деле не "питонический"?Я не знаю, действительно ли это показывает пример, но я хочу выразить то, что я всегда стараюсь не помещать код, который я хочу запустить, в оператор, а ломать метод, когда что-то работает неправильно.Это также может выглядеть так:

def runbikes(bikes):
    if type(bikes) is not list:
        return False
    if len(bikes) < 1:
        return False
    if 'tandem' not in bikes:
        return False

    return [bike.run() for bike in bikes]

соответствует ли это правилам программирования на python?

1 Ответ

0 голосов
/ 22 октября 2018
def runbikes(bikes):
    try:
        return [bike.run() for bike in bikes]
    except (TypeError,AttributeError,ValueError):
        return False

вероятно "питонический" способ сделать это

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