Сделайте это так:
String selectQuery = String.format("SELECT %s FROM %s WHERE %s = ?",
colID, allScreens, colName);
Cursor c = db.rawQuery(selectQuery, new String[]{name});
Нет ни одного правильного порядка. Выберите систему и придерживайтесь ее. Я использую:
class SomeClass(object):
def __magic_methods__(self):
"magic methods first, usually in alphabetical order"
def _private_method(self):
"worker methods next, also in alpha order"
def a_method(self):
"then normal methods, also in alpha order"
Я делаю что-то похожее на @Ethan, которое я видел в источнике Django, где основное отличие - «############» блокировать комментарии, чтобы разграничить области. Например,
class SomeClass(object):
#################
# Magic Methods #
#################
def __magic_methods__(self):
"magic methods first"
##################
# Public Methods #
##################
def a_method(self):
"then normal methods, in order of importance"
###################
# Private Methods #
###################
def _private_method(self):
"then worker methods, grouped by importance or related function"
Очевидно, что это менее полезно для небольших классов.
####
, когда понял, что вы поместили их там специально! I> Я согласен с order i>, хотя это и есть то, что этот вопрос примерно. Я бы рекомендовал удалить ####
из этого примера, поскольку он не относится к области вопроса, а ваш пример относится к небольшому классу, для которого вы не будете использовать ####
в любом случае. :-)
– Mateen Ulhaq
8 April 2018 в 07:04
Как указывали другие, нет правильного способа заказать ваши методы. Возможно, предложение PEP было бы полезно, но в любом случае. Позвольте мне попытаться приблизиться к вашему вопросу как можно объективнее.
__init__()
лучшей первой функции в классе, поэтому я следую другим магическим методам, указанным ниже. Надеюсь, это поможет. Большинство из этих правил, кстати, не являются специфичными для Python. Я не знаю языка, который применяет порядок методов, но если это так, было бы очень интересно и прокомментировать.
@staticmethod
,@classmethod
,@property
и любые другие строки@decorator
, поэтому я использую тип метода, чтобы определить, куда он идет (за исключением того, что свойства имеют тенденцию идти между_private_methods
иnormal_methods
). – Ethan Furman 13 September 2012 в 17:22@classmethod
s next (@classmethod def a_class_method(cls)
), затем@staticmethod
s (@staticmethod def a_static_method()
)? По крайней мере, это политика, как я ее понимаю ... (без моей IDE сгибания всего, потому что мне это не нравится) – Kawu 23 July 2014 в 09:19