2015-08-29 2 views
2

Что такое «линия», означает или делает в python? Я понимаю, что это имеет какое-то отношение к итерам в объекте.python: что такое «переменная»?

import numpy as np 
import matplotlib.pyplot as plt 

ax = plt.subplot(111) 
t = np.arange(0.0, 5.0, 0.01) 
s = np.cos(2*np.pi*t) 
line, = plt.plot(t, s, lw=2) 

plt.annotate('local max', xy=(2, 1), xytext=(3, 1.5), 
      arrowprops=dict(facecolor='black', shrink=0.05), 
      ) 

plt.ylim(-2,2) 
plt.show() 
+0

Вы имеете в виду строку 'plt.annotate'? Это просто, что линия ломается, потому что она слишком длинная. Вы можете поместить все в одну строку, иногда это зависит от вашего текстового редактора. – Mel

+0

@tmoreau На 7-й строке есть -> 'line, = plt.plot (t, s, lw = 2)' –

+0

О, извините. Я думаю, функции возвращают кортеж, я буду исследовать – Mel

ответ

2

line, = plt.plot(t, s, lw=2) означает, что plt.plot возвращает список или кортеж из одного элемента, и вы извлекаете этот элемент (который присваивается line).

2

Python знает, распаковка, чтобы сохранить кортеж, список или другой итерацию в отдельные переменные:

a, b = 3, 4 

Если какая-то функция возвращает итератор только с одним элементом, также существует только одна переменная распаковать в:

line, = plt.plot(t, s, lw=2) 
+0

. Тогда нет смысла помещать запятую там, потому что plt.plot (t, s, lw = 2) имеет только один элемент, правильно? И будет ли время, когда plt.plot (...) вернет более одного элемента? Как plt.plot (t1, s1, t2, s2, lw = 2) или что-то в этом роде? – bmorton12

Смежные вопросы