Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
somefoo = list(range(9)), если range уже возвращает список.>>> type(range(5))
<class 'range'>
>>> type(range(5))
<type 'list'>
somecontaineriterator = iter(somecontainer) #unpythonic
some_container_iterator = iter(somecontainer) #pythonicfoo + "/" + baz записывать простоfoo / bazне напомните :?>>> bar = [] # pythonic
-foo = []
+foo = [ ]затем-foo = [ ]
+foo = []def foo(x):
....
.... if x is None:
def foo(x):
.... if x is None:
?foo = [] (об этом и в PEP 8 говорится)value = (foo.bar()['first'][0]*baz.ham(1, 2)[5:9] # pythonic + verify(34, 20)*skip(500, 360))
print("{} is {}, {} and lives in {}.".format(person[0], person[1], person[2], person[3]))print("{0} is {1}, {2} and lives in {3}.".format(person[0], person[1], person[2], person[3]))>>> foo = "path1/path2/path3"
>>> baz = "somefile"
>>> os.path.join(foo, baz)а
>>> foo = «path1/path2/path3»
>>> baz = «somefile»
>>> os.path.join(foo, baz)
на Windows как сработает? Я правда не в курсе…
«Функции являются объектами» — что то пример как то не в тему… Так же можно сказать что в C функции — объекты. Может кривой перевод?
def some_func():
return 42
some_func.some_property = 42
some_func.some_method = some_func
print(some_func.some_property)
print(some_func.some_method() == some_func())
path1/path2/path3\somefile а самый что ни на есть path1\path2\path3\somefile? Если так, то здорово, я не задавался этим вопросом раньше (НЕ использовать os.path.join НЕ призываю, просто уточнил).os.path.join("a/b/", "c")os.path.join(*"a/b/".split("/"), "c")os.path.join(r"c:\a\b\c", "d")'c:a\\b\\c/d'>>> counter = 0 # unpythonic
>>> while counter < len(somecontainer):
... callable_consuming_container_elements(somecontainer[counter])
... counter += 1
...
...
>>> for item in somecontainer: # pythonic
... callable_consuming_container_elements(item)
Классы не предназначены для группировки функциональности
#UNPYTHONIC
# math.py
class trig:
@staticmethod
sin(self, val):
pass
@staticmethod
cos(self, val):
pass
@staticmethod
tan(self, val):
pass
#PYTHONIC
# math/trig.py
sin(val):
pass
cos(val):
pass
tan(self, val):
pass
__all__ = ["echo", "surround", "reverse"] # список используемых штук из модуля
set([line.strip() for line in a_file])
Pythonic