1
resposta

a falta do def como faria a importação ?

não vi a palavra reservada "def", por isso achei que não seria executado

arquivo a.py
print('executando a')

arquivo b.py
print('executando b')


# principal.py

import a
import b
1 resposta

Oii Marinho, como você está?

Não precisa necessariamente ter a palavra reservada def que se refere a criação de uma função. A ausência de uma função faz com que ao importar um arquivo em outro, o código do arquivo importado seja todo executado.

Muito teórico? Vamos a um exemplo prático.

Da forma como está o seu código temos como resultado o seguinte:

executando a
executando b

Certo?!

Agora, imagine que o arquivo "a.py" esteja modularizado em uma função:

def a():
    print('executando a')

E o arquivo "b.py" continua da mesma forma que você apresentou:

print('executando b')

Ao importamos o arquivo "a.py" e "b.py" no arquivo "principal.py" o que teremos é a apenas a mensagem:

executando b

E isso ocorreu porque em nosso arquivo "a.py" possuíamos uma função. E caso quiséssemos utilizar essa função no arquivo principal precisaríamos chamá-la explicitamente. Exemplo:

a.a()

Por que é uma boa prática utilizarmos funções?

Para que ao importar um arquivo em outro possamos ter o controle de escolher qual função iremos chamar, além de organização de código. E além disso, nem sempre iremos precisar executar todo o código do arquivo que foi importado.

Qualquer dúvida estou por aqui, tá bom? A gente vai conversando.

Grande abraço!