Интерактивный способ V/S Иде Пайтон

Вопрос; Почему, если я это делаю с интерактивного способа python, оно функционирует, и с "spyder/ninja" не?.

Пайтон

»> from numpy import *
»> a = array([10,20,30,40])
»> append(a,50)
array([10, 20, 30, 40, 50])
»> 

Спайдер и Ninja

from numpy import *
a = array([10,20,30,40])
append(a,50)
print a
[10 20 30 40]
1
задан 21.06.2016, 01:23
3 ответа

В интерактивном способе он возвращает тебе результат операции. Это делает это так, потому что он практический (и интерактивный). Если ты захочешь сохранить результат, ты будешь должен сохранять это в новой переменной. Твой пример остался бы таким:

import numpy as np # from numpy import * es SIEMPRE una malísima idea
a = np.array([10,20,30,40])
b = np.append(a,50)
print(b)

И сейчас, результат будет:

[10 20 30 40 50]

Другая вещь больше, использование numpy.append обычно будь очень дорогим (в процессе и памяти) и обычно будьте лучшие способы увеличивать numpy.array.

2
ответ дан 24.11.2019, 14:06

cГіdigo не тот же самый в первом случае как во втором случае. Тебе остается печатать переменную a в интерактивной консоли.

funciГіn append позволяет aГ±adir новую составную часть в список. Эта funciГіn, верьте в новый список и он возвращает , и это - то, что происходит в первом случае, despuГ©s того, чтобы звонить в нее funciГіn, возвращает тебе новый список. Итак, первоначальный список, складируемый в a не изменился. Ты можешь подтверждать это imprimiГ©ndola из-за экрана:

>>> print a
[10 20 30 40]

типов Привета.

1
ответ дан 24.11.2019, 14:06
  • 1
    Списки - mutables, если ты используешь м и # 233; совсем append на списке всегда изменяет объект с новым элементом в и # 241; adido, хотя ты это не будешь сохранять в новой переменной. В этом случае, est и # 225; используя funci и # 243; n numpy.append на numpy.array , который немного отличный от, как функционируют списки в Пайтоне. –  kikocorreoso 21.06.2016, 09:43
  • 2
    Спасибо за correcci и # 243; n, не conoc и # 237; в различия. –  Madh 21.06.2016, 10:20
  • 3
    Иметь значение с from whatever import * способствует тому, чтобы они переместили эти вещи и бук, похожие имена, которые мы не знаем, откуда они выходят;-) –  kikocorreoso 21.06.2016, 11:10
  • 4
    imprim и # 237; в и это был результат >>> from numpy import * >>> a = array([10,20,30,40]) >>> append(a, 50) array([10, 20, 30, 40, 50]) >>> a array([10, 20, 30, 40]) >>> это означает, что не функционирует funci и # 243; n append в numpy.array? –  The_Chapu 21.06.2016, 16:46
  • 5
    Сейчас я понимаю. сейчас я использую этот метод #!/usr/bin/python import numpy эксперт np в = np.array ([1,3,4]) b = np.hstack ((в, [10])) print b –  The_Chapu 21.06.2016, 17:27

Функция print() внутри позвони в представление str() (или метод __str__()) объекта, в то время как интерактивный способ использует функцию repr() (или метод __repr__()). Первая предлагает представление "human-friendly" объекта, в то время как вторая более предназначена для компьютера и в принципе он должен бы быть evaluable из-за переводчика, чтобы возвращать первоначальный объект.

Если мы выполняем все в интерактивном способе:

In [1]: import numpy as np

In [2]: a = np.array([10, 20, 30, 40])

In [3]: a
Out[3]: array([10, 20, 30, 40])

In [4]: print(a)
[10 20 30 40]

In [5]: str(a)
Out[5]: '[10 20 30 40]'

In [6]: a.__str__()
Out[6]: '[10 20 30 40]'

In [7]: repr(a)
Out[7]: 'array([10, 20, 30, 40])'

In [8]: a.__repr__()
Out[8]: 'array([10, 20, 30, 40])'

Здесь больше информации на английском на различиях между str() и repr().

1
ответ дан 24.11.2019, 14:06