Buscar

5 2 Funções e Classes em Python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Continue navegando


Prévia do material em texto

1. Funções são sub-rotinas que executam uma ação em particular; seu principal objetivo é agrupar um código que pode ser reutilizado em diferentes locais do sistema. De acordo com esse conceito, assinale a afirmativa correta acerca da sua aplicação.
A. Funções servem para deixar o código mais elegante, facilitando a compreensão dos desenvolvedores.
Funções servem para a reutilização de código onde há uma ação que deva ser executada em diversos lugares do sistema, apesar de também ter objetivos secundários, como deixar o código mais elegante, diminuir a quantidade de linhas de código. Todavia, nem sempre devem ser criadas funções só porque existe uma ação que seja executada em outros lugares do sistema; cada caso deve ser estudado.
B. Funções são sub-rotinas do código fonte que servem somente para diminuir a quantidade de linhas do código fonte.
código onde há uma ação que deva ser executada em diversos lugares do sistema, apesar de também ter objetivos secundários, como deixar o código mais elegante, diminuir a quantidade de linhas de código. Todavia, nem sempre devem ser criadas funções só porque existe uma ação que seja executada em outros lugares do sistema; cada caso deve ser estudado.
C. Funções têm como principais objetivos reutilizar o código e facilitar a manutenção.
código onde há uma ação que deva ser executada em diversos lugares do sistema, apesar de também ter objetivos secundários, como deixar o código mais elegante, diminuir a quantidade de linhas de código. Todavia, nem sempre devem ser criadas funções só porque existe uma ação que seja executada em outros lugares do sistema; cada caso deve ser estudado.
D. Funções são utilizadas se há necessidade de agrupar o código mesmo que não estejam dentro do mesmo escopo.
código onde há uma ação que deva ser executada em diversos lugares do sistema, apesar de também ter objetivos secundários, como deixar o código mais elegante, diminuir a quantidade de linhas de código. Todavia, nem sempre devem ser criadas funções só porque existe uma ação que seja executada em outros lugares do sistema; cada caso deve ser estudado.
E. Funções são sempre criadas quando há necessidade de execução de uma ação no sistema.
código onde há uma ação que deva ser executada em diversos lugares do sistema, apesar de também ter objetivos secundários, como deixar o código mais elegante, diminuir a quantidade de linhas de código. Todavia, nem sempre devem ser criadas funções só porque existe uma ação que seja executada em outros lugares do sistema; cada caso deve ser estudado.
2. As variáveis e os parâmetros, atribuídos em uma função chamada, existem no escopo local dessa função, e as variáveis que recebem valor fora de todas as funções existem no escopo global. Sendo assim, verifique o código a seguir:
​​​​​​​Assinale a alternativa que justifique porque a variável, nesse caso, foi declarada como global:
A. Isso acontece para que o conteúdo da variável não seja executado somente em um contexto de leitura pela função.
Se não houvesse a especificação de global, o conteúdo da variável seria somente no escopo local, ou seja, somente leitura pela função. Essa declaração não é obrigatória em Pyhton; apesar de ser da sintaxe do Python, somente deve ser utilizada quando esse conceito fizer sentido.
B. A definição global é obrigatória para todas as variáveis que são manipuladas por uma função.
Se não houvesse a especificação de global, o conteúdo da variável seria somente no escopo local, ou seja, somente leitura pela função. Essa declaração não é obrigatória em Pyhton; apesar de ser da sintaxe do Python, somente deve ser utilizada quando esse conceito fizer sentido.
C. A definição global faz parte da sintaxe da linguagem Python. Sendo assim, é comum aparecer.
Se não houvesse a especificação de global, o conteúdo da variável seria somente no escopo local, ou seja, somente leitura pela função. Essa declaração não é obrigatória em Pyhton; apesar de ser da sintaxe do Python, somente deve ser utilizada quando esse conceito fizer sentido.
D. Essa definição de global é para definir que a variável não terá o valor do seu conteúdo alterado.
Se não houvesse a especificação de global, o conteúdo da variável seria somente no escopo local, ou seja, somente leitura pela função. Essa declaração não é obrigatória em Pyhton; apesar de ser da sintaxe do Python, somente deve ser utilizada quando esse conceito fizer sentido.
E. A definição global foi utilizada para facilitar a compreensão do código, mas indiferente seria utilizada como global.
Se não houvesse a especificação de global, o conteúdo da variável seria somente no escopo local, ou seja, somente leitura pela função. Essa declaração não é obrigatória em Pyhton; apesar de ser da sintaxe do Python, somente deve ser utilizada quando esse conceito fizer sentido.
3. Objetos são criados a partir das classes por meio de atribuição. O objeto é uma nova instância da classe que tem características próprias. Assinale a alternativa verdadeira acerca de um exemplo correto sobre objeto e classe.
A. Em um código, é possível ter uma classe para cada animal que necessite ser cadastrado. De acordo com o conceito de orientação a objetos, uma classe é uma matriz a ser utilizada pelas diversas instâncias; nesse caso, o correto seria uma classe que representasse o animal e diversos objetos que representassem cada instância de animal a ser cadastrado no sistema.
B. É possível ter um objeto para cada tipo de animal que necessite ser cadastrado. De acordo com o conceito de orientação a objetos, uma classe é uma matriz a ser utilizada pelas diversas instâncias; nesse caso, o correto seria uma classe que representasse o animal e diversos objetos que representassem cada instância de animal a ser cadastrado no sistema.
C. Uma classe e um objeto para cada animal que necessite ser cadastrado no sistema. De acordo com o conceito de orientação a objetos, uma classe é uma matriz a ser utilizada pelas diversas instâncias; nesse caso, o correto seria uma classe que representasse o animal e diversos objetos que representassem cada instância de animal a ser cadastrado no sistema.
D. Uma classe para representar animal e um objeto para representar cada animal a ser cadastrado no sistema. De acordo com o conceito de orientação a objetos, uma classe é uma matriz a ser utilizada pelas diversas instâncias; nesse caso, o correto seria uma classe que representasse o animal e diversos objetos que representassem cada instância de animal a ser cadastrado no sistema.
E. Um objeto e diversas classes animais para representar os diversos animais a serem cadastrados no sistema. De acordo com o conceito de orientação a objetos, uma classe é uma matriz a ser utilizada pelas diversas instâncias; nesse caso, o correto seria uma classe que representasse o animal e diversos objetos que representassem cada instância de animal a ser cadastrado no sistema.
4. Em linguagens como Java e C#, basta declarar que os atributos não podem ser acessados de fora da classe utilizando a palavra chave private. Em orientação a objetos, é prática quase que obrigatória proteger seus atributos com private. O Python não utiliza o termo private, que é um modificador de acesso e também chamado de modificador de visibilidade. No Python, são inseridos dois underscores ('__').
​​​​​​​Assinale a alternativa correta acerca dessa afirmativa:
A. Dessa maneira, não é possível acessar o atributo idade de um objeto do tipo pessoa fora da classe. No Python, a definição de 2 underscores antes de uma variável é necessária para definir que essa variável é privada. Na maioria das linguagens, é necessário declarar o termo private antes; apesar de ser uma recomendação de boas práticas da Programação Orientada a Objetos, não é uma obrigação.
B. Dessa maneira, o valor do atributo idade pode ser acessado por qualquer objeto do tipo pessoa mesmo fora da classe. No Python, a definição de 2 underscores antes de uma variável é necessária para definir que essa variável é privada. Na maioria das linguagens, é necessáriodeclarar o termo private antes; apesar de ser uma recomendação de boas práticas da Programação Orientada a Objetos, não é uma obrigação.
C. A definição do underscore antes do atributo idade é desnecessária nesse caso, visto que o método init já tem. No Python, a definição de 2 underscores antes de uma variável é necessária para definir que essa variável é privada. Na maioria das linguagens, é necessário declarar o termo private antes; apesar de ser uma recomendação de boas práticas da Programação Orientada a Objetos, não é uma obrigação.
D. A declaração de private não é muito recomendada como boa prática em orientação a objetos. No Python, a definição de 2 underscores antes de uma variável é necessária para definir que essa variável é privada. Na maioria das linguagens, é necessário declarar o termo private antes; apesar de ser uma recomendação de boas práticas da Programação Orientada a Objetos, não é uma obrigação.
E. A declaração de private é um recurso obrigatório em todas as linguagens de programação para proteger os objetos. No Python, a definição de 2 underscores antes de uma variável é necessária para definir que essa variável é privada. Na maioria das linguagens, é necessário declarar o termo private antes; apesar de ser uma recomendação de boas práticas da Programação Orientada a Objetos, não é uma obrigação.
5. Seja o código a seguir que representa uma classe Aluno.
​​​​​​​Essa classe e o seu método podem ser testados utilizando o seguinte código:
a = Aluno(5, 6, 7, 8)
m = a.fecha_media()
print(m) Assinale a alternativa que indique uma afirmação correta sobre a classe Aluno.
A. A função __init__ corresponde ao conceito de construtor em Python. A função fecha_media calcula de forma iterativa (através do laço de repetição while) a média de quatro notas do aluno e retorna um valor do tipo float devido ao uso da operação de divisão, mesmo que todas as notas sejam representadas por valores int como no código de exemplo.A função __init__ corresponde ao conceito de inicializador em Python e não construtor. A variável notas pode ser alterada livremente dentro do objeto Aluno, já que constitui um de seus atributos. Caso não seja inicializada, a variável soma causaria um erro, já que ela é utilizada no lado direito da expressão que calcula o somatório das notas; já a variável media não precisaria ser inicializada em zero pois será inicializada no final do cálculo antes do comando return. A função fecha¬_media corresponde a um método público em Python e não a um método privado.
B.  A variável notas não pode ser alterada e, portanto, causaria um erro de execução no código apresentado. A função fecha_media calcula de forma iterativa (através do laço de repetição while) a média de quatro notas do aluno e retorna um valor do tipo float devido ao uso da operação de divisão, mesmo que todas as notas sejam representadas por valores int como no código de exemplo. A função __init__ corresponde ao conceito de inicializador em Python e não construtor. A variável notas pode ser alterada livremente dentro do objeto Aluno, já que constitui um de seus atributos. Caso não seja inicializada, a variável soma causaria um erro, já que ela é utilizada no lado direito da expressão que calcula o somatório das notas; já a variável media não precisaria ser inicializada em zero pois será inicializada no final do cálculo antes do comando return. A função fecha¬_media corresponde a um método público em Python e não a um método privado.
C.  As variáveis locais soma e media não precisariam ser inicializadas e mesmo assim a função fecha_media funcionaria corretamente. A função fecha_media calcula de forma iterativa (através do laço de repetição while) a média de quatro notas do aluno e retorna um valor do tipo float devido ao uso da operação de divisão, mesmo que todas as notas sejam representadas por valores int como no código de exemplo. A função __init__ corresponde ao conceito de inicializador em Python e não construtor. A variável notas pode ser alterada livremente dentro do objeto Aluno, já que constitui um de seus atributos. Caso não seja inicializada, a variável soma causaria um erro, já que ela é utilizada no lado direito da expressão que calcula o somatório das notas; já a variável media não precisaria ser inicializada em zero pois será inicializada no final do cálculo antes do comando return. A função fecha¬_media corresponde a um método público em Python e não a um método privado.
D.  A função fecha¬_media corresponde ao conceito de um método privado em Python. A função fecha_media calcula de forma iterativa (através do laço de repetição while) a média de quatro notas do aluno e retorna um valor do tipo float devido ao uso da operação de divisão, mesmo que todas as notas sejam representadas por valores int como no código de exemplo. A função __init__ corresponde ao conceito de inicializador em Python e não construtor. A variável notas pode ser alterada livremente dentro do objeto Aluno, já que constitui um de seus atributos. Caso não seja inicializada, a variável soma causaria um erro, já que ela é utilizada no lado direito da expressão que calcula o somatório das notas; já a variável media não precisaria ser inicializada em zero pois será inicializada no final do cálculo antes do comando return. A função fecha¬_media corresponde a um método público em Python e não a um método privado.
E.  A função fecha_media calcula a média de quatro notas do aluno e retorna um valor do tipo float. A função fecha_media calcula de forma iterativa (através do laço de repetição while) a média de quatro notas do aluno e retorna um valor do tipo float devido ao uso da operação de divisão, mesmo que todas as notas sejam representadas por valores int como no código de exemplo. A função __init__ corresponde ao conceito de inicializador em Python e não construtor. A variável notas pode ser alterada livremente dentro do objeto Aluno, já que constitui um de seus atributos. Caso não seja inicializada, a variável soma causaria um erro, já que ela é utilizada no lado direito da expressão que calcula o somatório das notas; já a variável media não precisaria ser inicializada em zero pois será inicializada no final do cálculo antes do comando return. A função fecha¬_media corresponde a um método público em Python e não a um método privado.