Step 6 (S-100212)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24466/step/6

Step 6 (S-100212) 1.png

[00:00 - 00:19] также в языке программировать не весь модуль целиком какие то имена из него этого можно использовать конструкцию в модуле импорта из за того что мы хотим импортировать то есть если мы хотели импортировать только наш исключения из нашего модуля exceptions нагревается такую конструкцию и порт б


[00:19 - 00:34] если бы увидела на экране увидишь в том что теперь с нашим и не б в нашем экспрессе имя тот класс bad name is могли exception также можем через запятую указать и другие имена которых вы хотели импортировать из молексов сейчас например


Step 6 (S-100212) 2.png

[00:34 - 00:51] нашу функцию grid вывести на экран вернуться в то же тело в локальном экспрессе с именем я действительно скидка на та функция из модуля exceptions так с процессом импорта модули или имени из модуля связано создание локального имени локальном на экспрессе


[00:51 - 01:08] должен явно указать то локальное имя которым бы мы хотели использовать эту можем использовать конструкцию что в нашем файле уже есть эта функция имеет которая тоже уводит приветственное сообщение однако мы хотели использовать до обе функции мы хотели бы также использовать функцию греет изнутри она когда мы используем


[01:08 - 01:25] от форм импорта используя фромм то мы вокальное иметь записываем функцию из нашего мозга exceptions а затем когда мы сами определяем функцию кредитора и своего файла то мы перезаписываем это локальное имя таким образом мы теряем ссылку на функцию из модулей


[01:25 - 01:41] для того чтобы это избежать можем использовать конструкцию с то есть сказать что из модулей exception импортирую функцию grid под именем экспирид и затем использовать не потеряв ни потому что мы использовали другое имя нежели наши функционирует в локальном нами спать


[01:41 - 01:57] там запустить данный код мы увидимся в том что мысленно использовали 2 разные функции вместо и не до дна и мы также можем использовать другое имя например просто имя или стягивание экран увидеться в том что это действительно класс


[01:57 - 02:16] но самое главное можно импортировать целиком модуль использовать него другое локальное имя например имя можем передать ему функции тренер видится в том что ты действительно модуль отжиг также языке python использует синтаксис вы можете импортировать все имена из какого либо морда


[02:16 - 02:33] зашли использовать звездочка 1 я такая практика является не сам рекомендуемый потому что если модуль большое в нем слишком много имен удали какие то из этих имен могут пересекаться с теми которые вы используете чтобы импортирую все имена и смотрели мы так и записали в functions import звездочка


[02:33 - 02:51] нас интересует все имена из данного модуля листал что в нашем локальном и спасительно появились именно об окончании звездочка портировать на самом деле далеко не все имена в конструкциях в котором определим те имена которые можно импортировать с помощью звездочки


[02:51 - 03:07] даже если эта конструкции неотделим то тогда мы не будем портировать имена которые начинаются с нижнего подчеркивания может случиться такое что в нашем коде вместо строки hello решил использовать специальную константу которая не представляла то начало приветствия который мы хотим дописать перед именем


[03:07 - 03:21] мы не хотели чтобы это имя денег импортировал с помощью звездочка поэтому можно заказать вот такую речевых конструкций all такое имя специально в котором укажем все те имена которые будут импортироваться если мы используем звездочка


[03:21 - 03:39] когда мы вернемся к нашему том мы сможем запустить импортер и сильно эти имена однако greetings на самом деле будет недоступна а вот если мы данной конструкции за комментируем то у нас все будет в порядке и мы все сможем


[03:39 - 03:55] импортировать в том числе строку из модуля exceptions однако если мы забыли про конструкцию all или просто к ней не помним то ничего страшного можно начать и наша констант с нижнего подчеркивания и тогда она тоже не будет импортировано с помощью звездочка


[03:55 - 04:14] таким образом языке python что это дом механизмы для того чтоб выбирать локальные имена для импортированных модулей и имен внутри модуля также можем импортировать все имена из модуля однако с этим следует быть более аккуратным а также можем контролировать какие имена будут импортированы если наш может импортировать с помощью звездочки