Функция dir() - удобна для получения списка атрибутов у любого объекта.
Ранее я писал про функцию __dir__() в модуле (не путайте её с переменной __all__(), которая указывает список объектов для импорта если встречается конструкция from module import *).
Скорее всего вы уже знаете как использовать функцию dir(). Любой объект может реализовать метод __dir__() чтобы указать список имеющийхся и динамических атрибутов. И функция dir() поможет получить список этих атрибутов.
>>> dir(str)
['__add__', '__class__', '__contains__', ...]
У этой функции есть еще один способ применения. Её можно вызвать без аргумента, и в таком случае она вернёт список имён в текущем неймспейсе.
>>> dir()
['__builtins__', '__doc__', '__file__', ...]
>>> def test():
>>> x = 1
>>> print(dir())
>>> test()
['x']
#basic#tricks
Випки
Знали бы вы, как же я люблю броню, на завтрак ем броню, на обед жру броню, на ужин ещё клепками закусываю, и ремни ещё, а мне мало, мало
Вы не подумайте, доспехи я правда люблю, мы просто с лоуполи моделингом давние хейт-любовники ещё со времён 3d-макса, так что... Работаем 🚬😬🔪💔
П.С. русалочье плетение бывает той ещё садомазо-болью, поверьте
#kolori#marrow#bg3#mlarty
И как говорил Дж. Мартин, "Драконы уже на подходе" 🌚
Дошлифовка брони перед позингом: происходит ⚒️🛡️ Да, мы стали выбираться из кучи работы и пытаться распилить всё, что давно хотели 🙏
#marrow#maeters#mlarty#kolori
Немного артово-технического 🥸
Намедни у меня башка болела с кольчугой + человек там спросил, как я её делала: в Зебре есть как минимум два стула способа с ней, очень похожие.
1ый: Micropoly в Dynamic subdive.
2ой: Через Nanomesh brush
(почему я в итоге выбрала второй, см. в комментах, если интересно)
А вы какие способы знаете? И вообще, как такие дела обстоят в других прогах?
#kolori#zbrush#учебник#mlarty#bg3#marrow