Просто для полноты и потому, что я не видел, чтобы кто-либо еще предлагал это:
Перед тем, как применить какие-либо сложные предложения, рассмотрите вопрос о том, действительно ли SQL-инъекция является проблемой в вашем сценарии.
Во многих случаях значение, предоставляемое IN (...), представляет собой список идентификаторов, которые были сгенерированы таким образом, что вы можете быть уверены, что инъекция невозможна ... (например, результаты предыдущий select some_id from some_table, где some_condition.)
Если это так, вы можете просто связать это значение и не использовать службы или подготовленный оператор для него или использовать их для других параметров этого запроса.
query="select f1,f2 from t1 where f3=? and f2 in (" + sListOfIds + ");";
Хотя они эквивалентны, я думаю, что есть довольно хороший аргумент, что вторая форма import matplotlib.pyplot as plt
объективно более читаема:
import matplotlib.pyplot as plt
и предлагать в документации matplotlib (см. http://matplotlib.org/users/pyplot_tutorial.html и т. д.), поэтому это будет более знакомо большинству читателей. import matplotlib.pyplot as plt
короче, но не менее ясен. import matplotlib.pyplot as plt
дает незнакомому читателю намек на то, что pyplot является модулем, а не функцией, которую можно было бы неправильно принять из первого вида . Они оба работают одинаково, поэтому вам решать, что вы предпочитаете, лично мне не нравится печатать, поэтому я предпочел бы второй.
from matplotlib import pyplot as plt
import matplotlib.pyplot as plt1
print(dir(plt) == dir(plt1))
True
__init__.py
, который сообщает python, что каталог должен рассматриваться как пакет. МодульB
в пакетеA
(т. Е. В файловой структуреA/B.py
импортируется какimport A.B
– Eric Appelt 1 June 2015 в 12:54