Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596

Предупреждение PyCharm

02.02.2021, 18:32. Показов 1325. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
- Доброго времени суток всем любителям Python-а! Начал пользоваться PyCharm совсем недавно.
Приведу маленький кусочек кода:
Python
1
2
3
4
5
6
7
class LineDescr:  # класс - Описатель Линии.
    def __init__(self, _bn):  # конструктор.
        self.BN = _bn
 
# в Основной Программе.
    line_descr = Lines[_kind][l_ind]  # получить Дескриптор очередной Линии заданного Типа.
    bn = line_descr.BN  # получить - число "Блоков" в очередной "Линии".
- Здесь Lines двухмерный массив Структур LineDescr (экземпляров класса).
PyCharm в выше приведенном коде подсвечивает бежевым цветом атрибут - BN и, при наведении на него курсора,
выдает предупреждение:
Unresolved attribute reference 'BN' for class 'list'

- Пожалуйста, помогите понять (физический) смысл намека ? ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2021, 18:32
Ответы с готовыми решениями:

Настройки PyCharm CE
Помогите правильно настроить pycharm: https://imgsh.net/a/UuUDhI0.png Чтобы интерпретатор был от анаконды.

Pytest в Pycharm
Помогите разобраться: Нужно написать тест на Pytest в Pysharm, но он выдает ошибку. Вроде догадываюсь что дело в input(), но как нужно...

Удобство PyCharm
- Использую PyCharm community. Говорят PyCharm может ВСЕ. Никак не найду удобной возможности глобального поиска переменной или экземпляра...

14
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 18:39
Цитата Сообщение от Staut Посмотреть сообщение
# конструктор.
неа

Цитата Сообщение от Staut Посмотреть сообщение
self.BN
атрибуты с маленькой буквы

Цитата Сообщение от Staut Посмотреть сообщение
Unresolved attribute reference 'BN' for class 'list'
значит по этому адресу в Лайнс не твой объект, а список

Добавлено через 43 секунды
перед последней строкой напиши print(type(line_descr))
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 18:57  [ТС]
- Welemir1, поставил print(type(line_descr)). Получил вывод:
<class '__main__.LineDescr'>
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 19:00
Staut, погоди ка, а при запуске то все работает? ошибок не падает при работе программы?
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 19:00  [ТС]
- Welemir1, поставил, как Вы сказали: print(type(line_descr))
Получил вывод:
<class '__main__.LineDescr'>
А разве не так и должно быть?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 19:02
Цитата Сообщение от Staut Посмотреть сообщение
А разве не так и должно быть?
думал у тебя там список. ответ зависит от того работает ли код при запуске.
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 19:02  [ТС]
- Никаких ошибок нет!
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 19:04
Staut, тогда проблемы по факту и нет, просто пичарм не может вывести тип (питон то динамический), видимо по квадратным скобкам полагает что там список. Или при каких то действиях ты туда списки добавлял.
вариант 1 - не смотреть на это предупреждение, если код работает
вариант 2 - помочь пичарму понять тип, для этого использовать аннотации типов
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 19:10  [ТС]
- Двухмерный массив Lines формируется примерно так:
Python
1
2
3
4
5
6
7
8
Lines[0].append(1)
Lines[0].append(3)
Lines[0].append(2)
 .....
Lines[1].append(0)
Lines[1].append(4)
Lines[1].append(1)
 .....
Добавлено через 4 минуты
- Прошу прощения! В спешке все перепутал. Двойной массив Lines формируется так:
Python
1
2
3
4
5
6
7
8
Lines[0].append(LineDescr(1))
Lines[0].append(LineDescr(3))
Lines[0].append(LineDescr(2))
 .....
Lines[1].append(LineDescr(0))
Lines[1].append(LineDescr(4))
Lines[1].append(LineDescr(1))
 .....
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 19:14
Staut, чисто для пробы в начале модуля напиши
from typing import List

а там где создаешь Лайнс напиши что то в стиле
Python
1
Lines:List[List[ListDescr]]=[]
возможно предупреждения пропадут, а может и не заработает. Питон какой версии?
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 19:24  [ТС]
- Welemir1, у меня Lines создается так:
Python
1
Lines = [[] for j in range(2)]
- У меня Python 3.7
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 19:47
Python
1
Lines:List[List[ListDescr]]=[[] for j in range(2)]
Staut, попробуй
2
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 19:54  [ТС]
- Сделал, как Вы сказали Welemir1. Да, все сработало. Подсветка BN пропала!
А как все это понять?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
02.02.2021, 20:04
Staut, это аннотации типов
ты подсказываешь себе, другому разработчику и пичарму что вот тут будет вот такой тип.
1
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 596
02.02.2021, 20:10  [ТС]
- Спасибо Welemir1 за информацию! Буду читать, думать, разбираться, пробовать.
Вы дали мне много полезной информации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2021, 20:10
Помогаю со студенческими работами здесь

Pycharm и правильный синтаксис
Решил в Pycharm, на первый взгляд, простую задачу с такими условиями: Напишите функцию f(x), которая возвращает значение следующей...

Скрытые символы в Pycharm
Здравствуйте. Есть простые задачки, например: 7. Получить на экране следующее: ○○○○○7.240○○○-43.520 ...

Ошибка кодировки в PyCharm
Использую PyCharm и при работе в дебагере время от времени вылетает ошибка: Traceback (most recent call last): File &quot;C:\Program...

Установка Anaconda + PyCharm CE
Приветствую! Ребят помогите пожалуйста установить Anaconda + PyCharm CE, сегодня подчистую несколько раз удалял и снова ставил. Все равно...

PyCharm проблема с кодировкой
Здравствуйте. Всех с наступающим Новым годом!!! При записи в файл вместо русских букв вопросы. В настройках PyCharm установил в редакторе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru