Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Код не меняется, меняется место сообщения об ошибке. / 6 сообщений из 6, страница 1 из 1
29.10.2017, 21:49
    #39544076
AlexGru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
Продолжаю изучать Python, и он меня удивляет.
Пример почти из книги:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
arr = [1, 2, 3]
print("type(arr)=",type(arr))
arr[1] = 100500
for i in range(len(arr)):
    print(i," ",arr[i])

trr = (1, 2, 3)
print("type(trr)=",type(trr))
for i in range(len(trr)):
    print(i," ",trr[i])

print(id(arr))
print(id(trr))
trr[1] = 100500



Запускаю, получаю такой ответ
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
type(arr)= <class 'list'>
0   1
1   100500
2   3
type(trr)= <class 'tuple'>
0   1
1   2
2   3
31557752
31558312
Traceback (most recent call last):
  File "C:/web_tester/Study_NotWTProject/StudyDicts.py", line 14, in <module>
    trr[1] = 100500
TypeError: 'tuple' object does not support item assignment

Process finished with exit code 1



Ни чего не меняя, запускаю ещё раз, ответ уже такой
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Traceback (most recent call last):
type(arr)= <class 'list'>
0   1
  File "C:/web_tester/Study_NotWTProject/StudyDicts.py", line 14, in <module>
1   100500
    trr[1] = 100500
2   3
TypeError: 'tuple' object does not support item assignment
type(trr)= <class 'tuple'>
0   1
1   2
2   3
7637112
7637672

Process finished with exit code 1



или так
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
type(arr)= <class 'list'>
Traceback (most recent call last):
  File "C:/web_tester/Study_NotWTProject/StudyDicts.py", line 14, in <module>
    trr[1] = 100500
0   1
TypeError: 'tuple' object does not support item assignment
1   100500
2   3
type(trr)= <class 'tuple'>
0   1
1   2
2   3
5998712
5999272

Process finished with exit code 1
...
Рейтинг: 0 / 0
29.10.2017, 21:58
    #39544077
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
прочитай в документации, что возвращает функция id()
...
Рейтинг: 0 / 0
29.10.2017, 22:14
    #39544082
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
AlexGru,

а, тебя интересует, не почему цифирки разные, а почему stdout и stderr перемешиваются?
...
Рейтинг: 0 / 0
29.10.2017, 22:17
    #39544083
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
Пишет из разных потоков, по всей видимости. А там уже "как такты лягут"
...
Рейтинг: 0 / 0
29.10.2017, 22:35
    #39544090
AlexGru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
Да, я конечно не про id,а про "а почему stdout и stderr перемешиваются"
...
Рейтинг: 0 / 0
30.10.2017, 12:59
    #39544357
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Код не меняется, меняется место сообщения об ошибке.
AlexGru"а почему stdout и stderr перемешиваются"
неспецифично для питона, издержки буферизации вывода

попробуй запустить скрипт с ключиком -u
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Код не меняется, меняется место сообщения об ошибке. / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]