Прототипом reshape()
является то, что reshape(shape, order="C")
, а тип формы - кортеж. Итак, мы должны назвать эту функцию myarray.reshape((1000, 1, 32, 32))
, но я считаю, что многие используют myarray.reshape(1000, 1, 32, 32)
, почему?Как понять функцию ndarray.reshape?
ответ
Это немного скрытая гибкость, встроенная в метод reshape
.
Ключевое слово здесь должно быть четко: вы не можно сделать, например:
myarray.reshape(1000, 1, 32, 32, "C")
Вы получите TypeError
, говоря, что требуется целое.
(На самом деле, даже при использовании кортежа:.
myarray.reshape((1000, 1, 32, 32), "C")
поднимает TypeError
)
Если вы посмотрите на исходный код (например, в GitHub, вы увидите, что после того, как ключевые слова анализируются, есть проверка для 0 или 1 аргументов. В этом случае аргумент интерпретируется как кортеж. Если есть больше аргументов, каждый интерпретируется как целое и объединяется в кортеж как новая форма (ключевое слово аргументы уже сняты).
Что касается того, что вы должны использовать: я думаю, что на самом деле нет хорошего ответа.
Вы можете придерживаться документации и использовать кортежи.
Соглашение с несколькими целыми аргументами, однако, кажется довольно очевидным.
Соблюдайте соглашение, согласно которому вы или проект, над которым работаете, используются. Не используйте кортежи и отдельные целые аргументы в одном проекте.
- 1. Как понять функцию d_hash()?
- 2. Как понять функцию reduceLeft?
- 3. Как понять функцию «(.) (.)» В Haskell
- 4. Как понять эту функцию JQuery
- 5. Как понять функцию C# SendAsync?
- 6. Как точно понять функцию рекурсии?
- 7. Как понять функцию возврата python
- 8. Как понять функцию copy-constructior?
- 9. Понять слабую функцию сравнения
- 10. Пытаюсь понять функцию PLSQL
- 11. Попытка понять функцию
- 12. Пытаясь понять инлайн функцию
- 13. Попытка понять функцию рекурсии python
- 14. jQuery - попытаться понять функцию setTimeout
- 15. не может понять рекурсивную функцию
- 16. Пытаясь понять эту функцию Image
- 17. трудно понять эту функцию java
- 18. C++ 11: как понять функцию перемещения
- 19. не может понять, как вызвать эту функцию
- 20. Как понять определенную функцию в R
- 21. Как понять наблюдаемую функцию в createStore
- 22. Попытка понять эту функцию как значение
- 23. Как понять функцию «unparkSuccessor» на AQS
- 24. Попытка понять, как использовать функцию any()
- 25. Как понять «первоклассную функцию» в быстром?
- 26. Как понять функцию «описать» мышь «мышь»?
- 27. Как заставить Pycparser понять мою функцию c
- 28. Попытка понять эту короткую функцию
- 29. не могу понять эту функцию
- 30. JQuery: Пытаясь понять следующую() функцию
Ну, правильно ли, что python переопределяет индивидуальные целые аргументы в качестве кортежа, если прототип этой функции показывает, что он должен быть кортежем? Например, если прототип является 'function (tuple, other = something)', и я могу вызвать эту функцию 'function (tuple [0], tuple [1], other = something' без скобки кортежа. – Asuka
Нет, отдельные целые числа автоматически не будет свернута в кортеж, вы можете просто попробовать свой пример и увидеть результат. Но прототип здесь в основном «function (* args, ** kwargs)». Вы можете утверждать, что документация лежит сквозь зубы. – Evert
Ну, я думаю, что понимаю, когда найду прототип, спасибо. – Asuka