Size: a a a

Хирьянов Т.Ф., Практика программирования на Python 3 (2019)

2020 November 29

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Владимир Ситников
Я бы не рисковал использовать exec при обработке введённых пользователем строк.
Ага, лучше вообще их не использовать
источник

S

Sergey in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Егор Михайловский
Дело в том, что команды включают в себя не только move... Они включают в себя весь набор встроенных функций языка.
Делать интерфейс/api вызовов
источник

ЕМ

Егор Михайловский... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Sergey
Делать интерфейс/api вызовов
Это как?
источник

S

Sergey in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Руками прописывать доступ к действиям
источник

S

Sergey in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Если лень руками, можно попробовать dir(object), убрав все методы, которые начинаются на __
источник

ЕМ

Егор Михайловский... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Sergey
Если лень руками, можно попробовать dir(object), убрав все методы, которые начинаются на __
Хорошо спасибо. Попробую
источник

В

Владимир Ситников... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Egor
Ага, лучше вообще их не использовать
Нет, ну почему же? Если это строка, произвольно вводимая пользователем, то да, использовать всегда опасно. Но строку можно получить иначе, без риска. К примеру, я делал калькулятор, где надо жать кнопки, вводя сложную формулу со скобками и всяческими операциями. Можно замутить сложную логику для обработки нажатий, анализа и исполнения полученного, а можно просто по нажатию кнопки дописывать строку, которую потом отдать в exec(), что я и предпочёл сделать. Риска ноль, код многократно проще.
источник

В

Владимир Ситников... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
не давать возможность текстового ввода. Пусть жмакает кнопки в интерфейсе.
источник

E

Egor in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Владимир Ситников
Нет, ну почему же? Если это строка, произвольно вводимая пользователем, то да, использовать всегда опасно. Но строку можно получить иначе, без риска. К примеру, я делал калькулятор, где надо жать кнопки, вводя сложную формулу со скобками и всяческими операциями. Можно замутить сложную логику для обработки нажатий, анализа и исполнения полученного, а можно просто по нажатию кнопки дописывать строку, которую потом отдать в exec(), что я и предпочёл сделать. Риска ноль, код многократно проще.
Динамическое выполнение кода - круто. Динамическое выполнение произвольного кода - не круто
источник

В

Владимир Ситников... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Egor
Динамическое выполнение кода - круто. Динамическое выполнение произвольного кода - не круто
Самая суть! 👍
источник
2020 November 30

Y

Yokub in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Здравствуйте я новичок. Нужно совет. Из какого курса лучше начать "Алгоритм и структура данных" или " Практика программирования" python?#вопрос
источник

YS

Yaroslav Savin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Yokub
Здравствуйте я новичок. Нужно совет. Из какого курса лучше начать "Алгоритм и структура данных" или " Практика программирования" python?#вопрос
Практика
источник

BY

Bogdan Yatsenko in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Всем привет! Нужен Help! При подключении к локальной БД получаю ошибку DPI-1047: Cannot locate a 64-bit Oracle Client library. Кто-то решал подобную проблему?        import cx_Oracle

connection = cx_Oracle.connect("hr", "admin", "localhost/dbhome")

cursor = connection.cursor()
cursor.execute("""
       SELECT first_name, last_name
       FROM hr.employees
""")
for fname, lname in cursor:
   print("Values:", fname, lname)
источник

BY

Bogdan Yatsenko in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

ИБ

Иван Безумный... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Bogdan Yatsenko
Всем привет! Нужен Help! При подключении к локальной БД получаю ошибку DPI-1047: Cannot locate a 64-bit Oracle Client library. Кто-то решал подобную проблему?        import cx_Oracle

connection = cx_Oracle.connect("hr", "admin", "localhost/dbhome")

cursor = connection.cursor()
cursor.execute("""
       SELECT first_name, last_name
       FROM hr.employees
""")
for fname, lname in cursor:
   print("Values:", fname, lname)
код желательно не картинкой кидать, а заливать на ресурсы, что бы те кто хочет помочь, могли помочь не переписывая с картинки.
источник

OM

Oleg Makarikhin in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Bogdan Yatsenko
Всем привет! Нужен Help! При подключении к локальной БД получаю ошибку DPI-1047: Cannot locate a 64-bit Oracle Client library. Кто-то решал подобную проблему?        import cx_Oracle

connection = cx_Oracle.connect("hr", "admin", "localhost/dbhome")

cursor = connection.cursor()
cursor.execute("""
       SELECT first_name, last_name
       FROM hr.employees
""")
for fname, lname in cursor:
   print("Values:", fname, lname)
Скорее всего переменные среды надо ввести, в доке наверное написано
источник

VB

Victor Bobrovsky in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
источник

BY

Bogdan Yatsenko in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Victor Bobrovsky
Устанавливал. Как-то можно проверить факт его наличия?
источник

VB

Victor Bobrovsky in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
если создавал окружение для (virtual env)работы , помнится есть варант создать изолированым(без доступа к установленным систем библиотекам)  или же с доступом.

  проверить установку - средстами ОС:
     линкус     rpm -qa |grep oracle


Вот тут советуют проверить что установлена верная версия (64 или 32)

https://stackoverflow.com/questions/56119490/cx-oracle-error-dpi-1047-cannot-locate-a-64-bit-oracle-client-library#:~:text=Make%20sure%20you%20have%20installed,location%20(location%20of%20your%20client
источник

ВД

Вадим Дьячков... in Хирьянов Т.Ф., Практика программирования на Python 3 (2019)
Всем привет. Подскажите пожалуйста, после изучения основ (синтаксиса),  что надо изучать, а то не пойму как и с чего начать программировать.
источник