Tag: Параметр

Где работают операторы splat python * и **?

Операторы распаковки / splat * и ** сильно различаются по их применимости в версиях python (2.7, 3.x <3.5 и 3.x> = 3.5). Например: | 2.7 | 3.1-3.4 | 3.5 ———————————————————————- function(*args) ✓ ✓ ✓ x, *y, z = [1, 2, 3, 4, 5] x ✓ ✓ {**x, **y} xx ✓ Есть ли еще какие-то расхождения […]

Оцениваются ли функции при передаче в качестве параметров?

если у меня есть такой код: def handler(self): self.run(self.connect) def connect(self, param): #do stuff… def run(self, connector): self.runner = connector Что оценивалось первым, когда я вызываю self.run (self.connect)? запустить с материалом в соединении уже сделано? или подключиться к self.connect еще не оценено?

Должен ли я добавить конечную запятую после последнего аргумента в вызове функции?

Что лучше делать? self.call(1, True, "hi") или self.call(1, True, "hi",) И что в следующих случаях: self.call( 1, True, "hi" ) или self.call( 1, True, "hi", ) ? Причины добавления конечной запятой в структуры данных мне знакомы, но как насчет вызовов функций?

Что означает только звезда * в объявлении функции?

Что означает * в следующем коде (найденном в библиотеке pprint )? def pformat(object, indent=1, width=80, depth=None, *, compact=False): """Format a Python object into a pretty-printed representation.""" return PrettyPrinter(indent=indent, width=width, depth=depth, compact=compact).pformat(object) Если бы это было *args тогда это было бы произвольное число позиционных параметров. Значения параметров будут в кортежах, называемых args . Первые 4 параметра […]

Принудительное именование параметров в Python

В Python у вас может быть определение функции: def info(object, spacing=10, collapse=1) который можно было бы вызвать любым из следующих способов: info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper) благодаря возможности Python разрешать аргументы любого порядка, если они названы. Проблема, с которой мы сталкиваемся, заключается в том, что некоторые из наших больших функций растут, люди могут […]

В Python, что определяет порядок при итерации через kwargs?

В python я написал эту функцию, чтобы научить себя, как **kwargs работает в Python: def fxn(a1, **kwargs): print a1 for k in kwargs: print k, " : ", kwargs[k] Затем я назвал эту функцию fxn(3, a2=2, a3=3, a4=4) Вот результат, который напечатал мой интерпретатор Python: 3 a3 : 3 a2 : 2 a4 : 4 […]

Передача аргументов C # vs Python

Каковы основные отличия, если таковые имеются, от правил передачи аргументов Python против правил передачи аргументов в C #? Я очень хорошо знаком с Python и только начинаю изучать C #. Мне было интересно, могу ли я подумать о установленном правиле относительно того, когда объект передается по ссылке или по значению тот же для C #, […]

Python: как передать аргументы функции __code__ функции?

Следующие работы: def spam(): print "spam" exec(spam.__code__) спам Но что, если spam принимает аргументы? def spam(eggs): print "spam and", eggs exec(spam.__code__) TypeError: spam () принимает ровно 1 аргумент (задано 0) Учитывая, что у меня нет доступа к самой функции, но только к объекту кода, как я могу передать аргументы объекту кода при его выполнении? Возможно […]

Python - лучший язык программирования в мире.