Esse material tem o objetivo de ser uma introdução as principais características da linguagem Python, tais como sintaxe básica, tipos de dados, operadores, estrutura condicional, estrutura de repetição e orientação a objetos. Após a introdução a linguagem, o Django é apresentado de maneira pratica, desenvolvendo um CRUD para exemplificar suas principais características e vantagens, esse CRUD é feito passo a passo e após seu termino é feito uma introdução básica aos recursos do Admin do Django.
Este documento fornece uma introdução à linguagem de programação Python. Ele discute a história e características da linguagem, incluindo tipos de dados, variáveis, operadores, estruturas de decisão e entrada/saída. A linguagem Python é descrita como dinâmica, de alto nível e fácil de aprender, tornando-a adequada para diversas aplicações.
O documento apresenta uma introdução ao desenvolvimento web com Python e Django, abordando a história e características da linguagem Python, o interpretador Python, tipos de dados, operadores, estruturas de controle e outros conceitos básicos da linguagem.
O documento apresenta um resumo de 3 frases ou menos sobre o tópico da aula:
1) A aula introduz a linguagem Python, discutindo suas características, instalação e primeiros programas;
2) Também são apresentados tipos de dados básicos, operadores, entrada e saída de dados, estruturas de controle de fluxo como if/else e loops;
3) Por fim, há exemplos mostrando como usar strings, documentação interativa e diferentes formas de laços como for e while.
Este documento apresenta uma introdução à linguagem de programação Python. Ele discute as características e implementações da linguagem, tipos de dados como números, strings e listas, e conceitos como variáveis, funções, orientação a objetos e módulos. O documento é dividido em três partes cobrindo tópicos como apresentação, introdução e detalhes da linguagem.
O documento discute programação com Python, abordando tópicos como:
1) Quem utiliza Python e suas aplicações;
2) Conceitos básicos da linguagem como variáveis, tipos, estruturas de dados e instruções;
3) Orientação a objetos com Python, incluindo classes, atributos, métodos e exercícios práticos.
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
Este documento fornece uma introdução à linguagem de programação Python. Ele discute a história e características da linguagem, incluindo tipos de dados, variáveis, operadores, estruturas de decisão e entrada/saída. A linguagem Python é descrita como dinâmica, de alto nível e fácil de aprender, tornando-a adequada para diversas aplicações.
O documento apresenta uma introdução ao desenvolvimento web com Python e Django, abordando a história e características da linguagem Python, o interpretador Python, tipos de dados, operadores, estruturas de controle e outros conceitos básicos da linguagem.
O documento apresenta um resumo de 3 frases ou menos sobre o tópico da aula:
1) A aula introduz a linguagem Python, discutindo suas características, instalação e primeiros programas;
2) Também são apresentados tipos de dados básicos, operadores, entrada e saída de dados, estruturas de controle de fluxo como if/else e loops;
3) Por fim, há exemplos mostrando como usar strings, documentação interativa e diferentes formas de laços como for e while.
Este documento apresenta uma introdução à linguagem de programação Python. Ele discute as características e implementações da linguagem, tipos de dados como números, strings e listas, e conceitos como variáveis, funções, orientação a objetos e módulos. O documento é dividido em três partes cobrindo tópicos como apresentação, introdução e detalhes da linguagem.
O documento discute programação com Python, abordando tópicos como:
1) Quem utiliza Python e suas aplicações;
2) Conceitos básicos da linguagem como variáveis, tipos, estruturas de dados e instruções;
3) Orientação a objetos com Python, incluindo classes, atributos, métodos e exercícios práticos.
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
The document provides information about the Python programming language. It discusses that Python is an interpreted, interactive, and object-oriented language well-suited for beginners. It provides details on Python's history and development as well as an overview of its core features like a broad standard library, portability, extensibility, support for databases, and an interactive mode. The document also describes how to get Python, run Python code through an interactive interpreter or script, and use integrated development environments. It covers basic programming concepts in Python like arithmetic, decision making with if/else statements, loops, lists, and functions.
Python Functions Tutorial | Working With Functions In Python | Python Trainin...Edureka!
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on Python Functions tutorial covers all the important aspects of functions in Python right from the introduction to what functions are, all the way till checking out the major functions and using the code-first approach to understand them better.
Agenda
Why use Functions?
What are the Functions?
Types of Python Functions
Built-in Functions in Python
User-defined Functions in Python
Python Lambda Function
Conclusion
Python Tutorial Playlist: https://goo.gl/WsBpKe
Blog Series: http://bit.ly/2sqmP4s
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Programando para web com python - Introdução a PythonAlvaro Oliveira
O documento apresenta uma palestra sobre a linguagem de programação Python. Resume os principais pontos da seguinte forma:
1) Apresenta breve histórico da linguagem Python, criada em 1990 por Guido van Rossum com foco em usuários como físicos e engenheiros.
2) Discutem as principais características da linguagem como interpretação, tipagem dinâmica, controle de fluxo por indentação, orientação a objetos e biblioteca padrão rica.
3) Explicam porque Python é uma boa opção para
The document provides an introduction and overview of the Python programming language. It discusses that Python is an interpreted, object-oriented, high-level programming language that is easy to learn and read. It also covers Python features such as portability, extensive standard libraries, and support for functional, structured, and object-oriented programming. The document then discusses Python data types including numbers, strings, and various Python syntax elements before concluding with the history and evolution of the Python language through various versions.
Functions allow programmers to organize code into reusable blocks. There are built-in functions and user-defined functions. Functions make code easier to develop, test and reuse. Variables inside functions can be local, global or nonlocal. Parameters pass data into functions, while functions can return values. Libraries contain pre-defined functions for tasks like mathematics and string manipulation.
O documento apresenta a agenda de um mini-curso de 5 dias sobre JavaScript. O curso abordará tópicos como sintaxe e estrutura da linguagem, funções e objetos, objetos nativos do browser, janelas do browser e depuração do DOM. Cada dia será dedicado a um ou dois episódios sobre esses assuntos.
Functions allow programmers to organize code into reusable blocks. A function is defined using the def keyword and can accept parameters. The body of a function contains a set of statements that run when the function is called. Functions can return values and allow code to be reused, reducing errors and improving readability. Parameters allow information to be passed into functions, while return values allow functions to provide results.
Este documento fornece um resumo de 3 frases ou menos sobre o documento:
O documento discute a história e uso da linguagem de programação Python, desde sua criação até versões atuais. A linguagem é de código aberto e licenciada pela Python Software Foundation. O documento também fornece instruções sobre como instalar e usar o interpretador Python em diferentes sistemas operacionais, incluindo Windows.
Python If Else | If Else Statement In Python | EdurekaEdureka!
YouTube Link: https://youtu.be/nMEFZ6TvkDA
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'If Else In Python' will help you understand how you can use a conditional if and else statements in python for decision making with concepts like shorthand if and else, nested if-else, etc. Following are the topics discussed:
What Are Python Conditions?
What Is If And If Else In Python?
Syntax For If Else In Python
Shorthand If Else
Use Case - Nested If Else
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Python não força o programador a pensar em objetos, mas eles fazem parte da linguagem desde o início, incluindo conceitos avançados como sobrecarga de operadores, herança múltipla e introspecção. Com sua sintaxe simples, é muito natural aprender orientação a objetos em Python
The document provides an introduction to Python programming. It discusses installing and running Python, basic Python syntax like variables, data types, conditionals, and functions. It emphasizes that Python uses references rather than copying values, so assigning one variable to another causes both to refer to the same object.
Python is a general purpose programming language that can be used for both programming and scripting. It was created in the 1990s by Guido van Rossum to address the need for a higher level language in the Amoeba operating system project. Python is widely used today for web development, science, system administration, and more due to its readability, object orientation, powerful libraries, and portability across operating systems. To use Python, one installs an IDE like Python 2.7 and then writes and runs code either in the Python command line or IDE.
The document provides an overview of the Python programming language. It discusses that Python is an easy to learn, high-level, open-source programming language. It describes Python's design philosophy of code readability and how it allows programmers to express concepts in fewer lines of code compared to languages like C++ and Java. The document also discusses Python's powerful libraries, wide use across industries, and how to get started with Python programming using the IDLE integrated development environment.
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
YouTube Link: https://youtu.be/WvhQhj4n6b8
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'What is Python?' will help you understand and learn python programming language with its features. It is one of the most widely adopted programming language in the industry currently. Below are the topics covered in this Python Programming tutorial
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
This document provides an overview of the Python programming language. It discusses what Python is, its key features, who uses it, common applications, and how to download and install Python. It then covers Python syntax concepts like identifiers, keywords, multiline statements, docstrings, indentation, comments, and string formatting. The document also introduces Python data types like numbers, strings, lists, tuples, dictionaries, sets and how to work with them. It describes how to convert between number types and access/update strings and lists. Finally, it discusses Python development environments like Anaconda and Spyder.
Apresentação feita para o treinamento dos colaboradores da Vitrio.
Público alvo do treinamento: Analistas de conteúdo, Designers e equipe de Marketing Digital.
O principal assunto era uma breve introdução ao JavaScript ,jQuery e plugins. Entretanto, abrangemos outros tópicos, tais como: Desenvolvimento em Camadas, requisições, performance de web sites e algumas ferramentas.
O documento fornece uma introdução ao framework Django para desenvolvimento web em Python. Ele explica como instalar o Django, criar uma estrutura básica de projeto e aplicação, configurar banco de dados, criar modelos, views, templates e implementar um sistema simples de gerenciamento de conteúdo para artigos.
Desenvolvimento web com python e djangoIgor Sobreira
O documento apresenta Django, um framework web Python. Ele discute porque Python é uma boa opção para desenvolvimento web, introduz Django e suas principais características como ORM, URLs e views, admin, templates, e testes. O documento também aborda ambientes virtuais, deploy e comunidades Python/Django.
The document provides information about the Python programming language. It discusses that Python is an interpreted, interactive, and object-oriented language well-suited for beginners. It provides details on Python's history and development as well as an overview of its core features like a broad standard library, portability, extensibility, support for databases, and an interactive mode. The document also describes how to get Python, run Python code through an interactive interpreter or script, and use integrated development environments. It covers basic programming concepts in Python like arithmetic, decision making with if/else statements, loops, lists, and functions.
Python Functions Tutorial | Working With Functions In Python | Python Trainin...Edureka!
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on Python Functions tutorial covers all the important aspects of functions in Python right from the introduction to what functions are, all the way till checking out the major functions and using the code-first approach to understand them better.
Agenda
Why use Functions?
What are the Functions?
Types of Python Functions
Built-in Functions in Python
User-defined Functions in Python
Python Lambda Function
Conclusion
Python Tutorial Playlist: https://goo.gl/WsBpKe
Blog Series: http://bit.ly/2sqmP4s
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Programando para web com python - Introdução a PythonAlvaro Oliveira
O documento apresenta uma palestra sobre a linguagem de programação Python. Resume os principais pontos da seguinte forma:
1) Apresenta breve histórico da linguagem Python, criada em 1990 por Guido van Rossum com foco em usuários como físicos e engenheiros.
2) Discutem as principais características da linguagem como interpretação, tipagem dinâmica, controle de fluxo por indentação, orientação a objetos e biblioteca padrão rica.
3) Explicam porque Python é uma boa opção para
The document provides an introduction and overview of the Python programming language. It discusses that Python is an interpreted, object-oriented, high-level programming language that is easy to learn and read. It also covers Python features such as portability, extensive standard libraries, and support for functional, structured, and object-oriented programming. The document then discusses Python data types including numbers, strings, and various Python syntax elements before concluding with the history and evolution of the Python language through various versions.
Functions allow programmers to organize code into reusable blocks. There are built-in functions and user-defined functions. Functions make code easier to develop, test and reuse. Variables inside functions can be local, global or nonlocal. Parameters pass data into functions, while functions can return values. Libraries contain pre-defined functions for tasks like mathematics and string manipulation.
O documento apresenta a agenda de um mini-curso de 5 dias sobre JavaScript. O curso abordará tópicos como sintaxe e estrutura da linguagem, funções e objetos, objetos nativos do browser, janelas do browser e depuração do DOM. Cada dia será dedicado a um ou dois episódios sobre esses assuntos.
Functions allow programmers to organize code into reusable blocks. A function is defined using the def keyword and can accept parameters. The body of a function contains a set of statements that run when the function is called. Functions can return values and allow code to be reused, reducing errors and improving readability. Parameters allow information to be passed into functions, while return values allow functions to provide results.
Este documento fornece um resumo de 3 frases ou menos sobre o documento:
O documento discute a história e uso da linguagem de programação Python, desde sua criação até versões atuais. A linguagem é de código aberto e licenciada pela Python Software Foundation. O documento também fornece instruções sobre como instalar e usar o interpretador Python em diferentes sistemas operacionais, incluindo Windows.
Python If Else | If Else Statement In Python | EdurekaEdureka!
YouTube Link: https://youtu.be/nMEFZ6TvkDA
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'If Else In Python' will help you understand how you can use a conditional if and else statements in python for decision making with concepts like shorthand if and else, nested if-else, etc. Following are the topics discussed:
What Are Python Conditions?
What Is If And If Else In Python?
Syntax For If Else In Python
Shorthand If Else
Use Case - Nested If Else
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Python não força o programador a pensar em objetos, mas eles fazem parte da linguagem desde o início, incluindo conceitos avançados como sobrecarga de operadores, herança múltipla e introspecção. Com sua sintaxe simples, é muito natural aprender orientação a objetos em Python
The document provides an introduction to Python programming. It discusses installing and running Python, basic Python syntax like variables, data types, conditionals, and functions. It emphasizes that Python uses references rather than copying values, so assigning one variable to another causes both to refer to the same object.
Python is a general purpose programming language that can be used for both programming and scripting. It was created in the 1990s by Guido van Rossum to address the need for a higher level language in the Amoeba operating system project. Python is widely used today for web development, science, system administration, and more due to its readability, object orientation, powerful libraries, and portability across operating systems. To use Python, one installs an IDE like Python 2.7 and then writes and runs code either in the Python command line or IDE.
The document provides an overview of the Python programming language. It discusses that Python is an easy to learn, high-level, open-source programming language. It describes Python's design philosophy of code readability and how it allows programmers to express concepts in fewer lines of code compared to languages like C++ and Java. The document also discusses Python's powerful libraries, wide use across industries, and how to get started with Python programming using the IDLE integrated development environment.
Apresentando a Linguagem de Programação PythonPriscila Mayumi
Slides para apresentação da linguagem Python. Trabalho para a matéria "Novas Tecnologias" na Universidade Metodista de São Paulo. Lembrando que eu tive que estudar muito sobre, pois nunca tive um contato "suficiente" com Python.
YouTube Link: https://youtu.be/WvhQhj4n6b8
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'What is Python?' will help you understand and learn python programming language with its features. It is one of the most widely adopted programming language in the industry currently. Below are the topics covered in this Python Programming tutorial
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
This document provides an overview of the Python programming language. It discusses what Python is, its key features, who uses it, common applications, and how to download and install Python. It then covers Python syntax concepts like identifiers, keywords, multiline statements, docstrings, indentation, comments, and string formatting. The document also introduces Python data types like numbers, strings, lists, tuples, dictionaries, sets and how to work with them. It describes how to convert between number types and access/update strings and lists. Finally, it discusses Python development environments like Anaconda and Spyder.
Apresentação feita para o treinamento dos colaboradores da Vitrio.
Público alvo do treinamento: Analistas de conteúdo, Designers e equipe de Marketing Digital.
O principal assunto era uma breve introdução ao JavaScript ,jQuery e plugins. Entretanto, abrangemos outros tópicos, tais como: Desenvolvimento em Camadas, requisições, performance de web sites e algumas ferramentas.
O documento fornece uma introdução ao framework Django para desenvolvimento web em Python. Ele explica como instalar o Django, criar uma estrutura básica de projeto e aplicação, configurar banco de dados, criar modelos, views, templates e implementar um sistema simples de gerenciamento de conteúdo para artigos.
Desenvolvimento web com python e djangoIgor Sobreira
O documento apresenta Django, um framework web Python. Ele discute porque Python é uma boa opção para desenvolvimento web, introduz Django e suas principais características como ORM, URLs e views, admin, templates, e testes. O documento também aborda ambientes virtuais, deploy e comunidades Python/Django.
O documento discute como empreender com Python e Django, fornecendo instruções sobre como escolher uma ideia, desenvolver um produto mínimo viável, hospedar o site e obter feedback inicial.
Django: Desenvolvendo uma aplicação web em minutosRodrigo Nossal
O documento discute o framework Django para desenvolvimento web em Python. Ele apresenta as principais características do Django como mapeamento objeto-relacional, estrutura MVT e internacionalização. Em seguida, descreve a criação de uma aplicação de microblog usando Django, incluindo a geração do ambiente de desenvolvimento, modelos, URLs, views, templates e forms.
O documento apresenta uma palestra sobre o uso de Python e Django na Globo.com. Resume os principais pontos como: 1) a Globo.com usa Python/Django há 11 anos com metodologias ágeis; 2) antes usava Java/Vignette com problemas, agora tem desenvolvimento orientado a testes; 3) Django ajuda a construir aplicações, mas não é perfeito e às vezes é preciso ignorá-lo.
Django é um framework web escrito em Python que utiliza o padrão MTV, foi criado originalmente para gerenciar um site jornalístico e se tornou um projeto de código aberto em 2005 sob a licença BSD.
Este documento apresenta como desenvolver aplicativos em Python para celulares Symbian S60 usando o framework Python for S60. Explica os requisitos, recursos e vantagens de usar Python em celulares, como instalar o Python for S60 e rodar um programa "Hello World" no console do celular.
Desenvolvendo aplicações Mobile em PythonRelsi Maron
Apresentação da biblioteca python de desenvolvimento multiplataforma Kivy. Usando a simplicidade, e o poder, de Python é possível criar desde simples projetos à aplicações interativas com suporte a multi-toques e games, e gerar uma aplicação nativa para o dispositivo.
Object.__class__.__dict__ - python object model and friends - with examplesRobert Lujo
Python object model - advanced and some not so advanced features, lot of code examples:
building blocks, objects, classes, functions, mutable and immutable, everything is an object, variables, global context, "executing" the module, standard types inheritance, multiple inheritance, mixins and mro, dynamic classes, metaclasses, property function and descriptors context managers & with, useful __methods__
Programando em python comandos basicossamuelthiago
Este documento fornece uma introdução aos principais comandos e construções da linguagem de programação Python, incluindo print, input, while, if/else, definindo e executando programas armazenados em arquivos. Dois exercícios são propostos para praticar a conversão entre sistemas numéricos e a verificação de primos.
Django, Framework Python para desenvolvimento webMayron Cachina
Esse foi o slide de um mini curso que apresentei no FLISOL 2008 que ocorreu no CEFET-RN no dia 26/04/08, infelizmente aconteceram várias coisas e n deu tempo para eu fazer um slide legal, deixei de mostrar muitas coisas, além de n poder mostrar a versão mais nova (0.97), foi instalado no pc a 0.96.1
Visite http://cachina.wordpress.com/2008/04/29/flisol-minicurso-django/ para ver a resenha :D
O documento apresenta um mini-curso introdutório ao framework Django para desenvolvimento web com Python. Ele aborda conceitos como criação de projetos e aplicações Django, models, views, templates, administração, autenticação e internacionalização.
This document discusses how to quickly build web applications using the Django framework. It covers installing Django, creating models and templates, and building a basic job listing application. The goal is to demonstrate how Django allows for rapid development through features like automatic administration interfaces, URL routing, and object relational mapping.
O documento apresenta o framework web Django, escrito em Python. Descreve que Django é um framework de alto nível, orientado a objetos e com padrão MVC. Também destaca que Django oferece mapeamento objeto-relacional, interface de administração automática e URLs customizáveis.
O documento apresenta Henrique Gabriel, professor e desenvolvedor que fala sobre sua experiência com programação web. Ele começa apresentando seu background e então discute a evolução da programação web, desde páginas manuais até frameworks modernos. Em seguida, apresenta a linguagem Python, seu paradigma, tipagem e uso. Por fim, aborda o framework Django para desenvolvimento web com Python.
Não é fácil escrever uma biblioteca confortável de usar. É difícil agradar a todos. Mas também é difícil agradar até quem acha que a nossa biblioteca faz algo útil. Não é fácil nem mesmo quando fazemos algo reusável só para nós mesmos.
Ainda bem que muitos outros programadores já erraram antes de nós. E existem em Python e fora dele diversos exemplos de boas libs nas quais podemos nos inspirar.
Essa palestra resumirá o que torna uma biblioteca boa, de acordo com nossa experiência e com a experiência de outros programadores que já escreveram sobre isso. Algumas características de boas bibliotecas são:
- Alta Consistência
- Muitos dados puros
- Baixa Verbosidade
- Respeito ao Principle of Least Astonishment
- Alta Extensibilidade
- Baixa Retenção
- Vários níveis de abstrações
- Alta granularidade
- Interesses claros e separados
- Pythonica
Como você pode ver, alguns aspectos acima são similares ao Zen of Python. Por isso também mostraremos funcionalidades do Python que ajudam a programar boas interfaces. Além disso, para resumir tudo definiremos um checklist que você poderá usar sempre que for escrever um módulo reusável. Esperamos que isso ajude você a programar melhor, o que certamente agradará seus parceiros de trabalho e a comunidade.
Desenvolvimento web simples com Python e DJangoRafael Nunes
Python é uma linguagem de script dinâmica e multiplataforma desenvolvida por Guido Van Rossum em 1990. Django é um framework web para Python que facilita a criação de aplicações seguindo princípios como DRY e KISS. Django utiliza o padrão MVC, possui recursos como ORM, administração e templates integrados.
[1] O documento discute o desenvolvimento de aplicações web usando o framework Django, incluindo sua história, características e padrão MVC.
[2] É apresentada uma introdução ao Django, explicando o que é o framework e como ele pode ser usado para construir aplicações web de forma rápida e eficiente.
[3] São descritas as etapas para criar uma primeira aplicação web simples usando Django, incluindo a instalação do framework, criação de um projeto e execução de um servidor de desenvolvimento.
Desenvolver um projeto não se trata apenas de escrever código funcional. Legibilidade, modularização, acoplamento, portabilidade, complexidade e documentação são todas métricas importantíssimas para se produzir código de qualidade. Respondendo perguntas como:
Como organizar os arquivos no projeto?
Quais bibliotecas podem ajudar a tormar sua aplicação mais robusta e melhorar seu código?
Como organizar seu ambiente de desenvolvimento, staging e produção?
O que são boas e más práticas de desenvolvimento?
vamos debater como e quais ferramentas e padrões podem nos ajudar a desenvolver código de qualidade, sem que seja preciso muito esforço.
O documento apresenta Python como linguagem de programação, discutindo seus objetivos, características e exemplos de programação. As principais seções incluem uma introdução à linguagem, características como tipagem dinâmica e multiplataforma, e exemplos de controle de fluxo, orientação a objetos, módulos e programas que utilizam Python.
Python apresenta conceitos fundamentais da linguagem como tipos de dados, controle de fluxo, funções, classes e módulos. O documento também discute quem usa Python e suas principais características como tipagem dinâmica e orientação a objetos.
Este é um mini-curso básico de Python. Já foi aplicado na Semana de tecnologia de Universidade Católica e no encontro de tecnologia de Especializa (ZCon).
1) O curso aborda tópicos de programação Java como introdução à linguagem, uso de formulários, manipulação de arquivos e banco de dados.
2) Apresenta conceitos de programação orientada a objetos em Java incluindo classes, atributos, métodos, encapsulamento e herança.
3) Demonstra o uso de variáveis, vetores, condições, laços e métodos em programação Java.
Computação Científica com SciPy - Brevíssimo TutorialFabio Spanhol
O documento descreve a biblioteca SciPy, que fornece funções para computação científica em Python. SciPy utiliza as extensões NumPy e Matplotlib e permite realizar tarefas como matemática avançada, processamento de sinais, otimização e estatística. O documento também apresenta exemplos de uso de SciPy para processamento de imagens e simulação de sistemas lineares invariantes no tempo.
A linguagem Python foi criada por Guido van Rossum em 1989 para facilitar o ensino e uso da programação. Python é uma linguagem de programação interpretada, dinamicamente tipada e multiplataforma projetada para ser simples e fácil de ler. Sua biblioteca padrão contém diversos recursos úteis para desenvolvimento de aplicações.
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
O documento fornece uma introdução ao framework CherryPy para desenvolvimento web em Python. Ele discute brevemente a história de Python e CherryPy, características e vantagens de Python, empresas que usam Python, e como usar CherryPy para desenvolvimento web rápido.
O documento resume 55 novas funcionalidades do Java 7, incluindo: literais binários e numéricos com underline, strings no switch, gerenciamento automático de recursos com try-with-resources, e novas APIs para concorrência, arquivos e números aleatórios.
O documento descreve a origem e usos da linguagem de programação Lua, destacando sua rapidez, portabilidade e capacidade de ser embutida em outros sistemas. Lua foi criada no Tecgraf da PUC-Rio e é amplamente usada em jogos, sistemas embarcados e como linguagem de extensão. Sua sintaxe simples e tipagem dinâmica tornam a linguagem flexível e fácil de aprender.
Python é uma linguagem de programação interpretada, dinamicamente tipada e com gerenciamento automático de memória. Foi criada por Guido van Rossum e é amplamente utilizada no desenvolvimento web, ciência de dados e machine learning. Python tem uma biblioteca padrão extensa e comunidades ativas de desenvolvedores.
Scala: unindo programação funcional e orientação a objetosFelipe Hummel
Nos últimos anos, vários conceitos antes restritos a linguagens funcionais vêm ganhando espaço nas linguagens mais utilizadas no mercado. Scala vem liderando essa tendência, sendo a linguagem escolhida por gigantes da tecnologia como Twitter, Linkedin, Foursquare, Tumblr e Coursera.
Nesta palestra, veremos como Scala, ao unir programação funcional e orientação a objetos, consegue ser ao mesmo tempo extremamente familiar para programadores em geral e introduzir conceitos que podem melhorar a forma como programamos. Daremos uma ideia geral das vantagens e desvantagens de Scala, e ainda veremos conceitos básicos da linguagem, como por exemplo: funções anônimas, imutabilidade, option types, pattern matching, lazyness e recursão.
O documento descreve as principais características da linguagem Python, incluindo sua filosofia orientada a objetos e funcional, construções, tipos de dados, operadores, compilador, tratamento de exceções e biblioteca padrão extensa. Um ponto importante é o poema "The Zen of Python" que resume a filosofia da linguagem de forma concisa.
Eu investi algum tempo fazendo um material de apoio para o livro Python para Desenvolvedores</a>, do Luis Eduardo Borges. É um conjunto de slides para o capitulo I.
Python é uma linguagem de programação multi-paradigma, interpretada e de tipagem dinâmica que possui uma biblioteca extensa. O documento apresenta os objetivos, características, sintaxe básica, controle de fluxo, orientação a objetos, programação funcional e módulos em Python.
1) O documento apresenta um minicurso de introdução à linguagem de programação Python, abordando tópicos como história, tipos de dados, estruturas de controle, funções, orientação a objetos.
2) São apresentados os principais tipos de dados em Python como números, strings, listas, tuplas e dicionários, assim como estruturas de controle como if/else, for e while.
3) O documento também introduz conceitos como classes, métodos, herança e exceções no paradigma de programação orientada a objetos em Python.
O documento apresenta técnicas de programação funcional em F# e Scala, como funções de alta ordem, imutabilidade, pattern matching e avaliação preguiçosa. Estas técnicas permitem maior confiabilidade no código e facilitam a manipulação de listas e estruturas de dados de forma funcional.
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
O documento apresenta uma introdução ao workshop de Python realizado na IEEE Week '17. Apresenta brevemente conceitos fundamentais da linguagem como variáveis, funções, listas, dicionários e operações com strings. Explica também como ler e processar dados de ficheiros e da internet usando bibliotecas como urllib e json.
O documento apresenta um curso introdutório sobre a linguagem de programação Python, abordando tópicos como:
1) O que é Python, incluindo sua tipagem dinâmica e delimitação por indentação;
2) Por que aprender Python, destacando sua simplicidade, expressividade e suporte a múltiplas plataformas;
3) Conceitos básicos da linguagem como tipos numéricos e de dados, listas e métodos.
O documento introduz o conceito de Python como uma linguagem de programação interpretada e dinamicamente tipada. Apresenta alguns tópicos básicos como estruturas de dados como listas e dicionários, além de operadores e funções.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
2. Apresentação
Rafael Stain Cassau
Analista de Sistemas – S2IT
Bacharel em Sistemas de Informação
Programando profissionalmente desde 2010.
rafa.cassau@gmail.com | rafa_cassau@msn.com
https://github.com/rafaelcassau
3. História
Python foi criado em meados de 1989.
Guido Van Rossum.
Python não é inspirado na cobra (Monty Python).
Influências de ABC, C, Perl, Haskell, SmallTalk.
5. Versões
2.7.6 – Mantido até que a versão 3.x esteja estável e com boa parte das bibliotecas (frameworks) portados.
3.4.0 – Evolução da linguagem desenvolvida paralelamente pela comunidade pois quebra a compatibilidade retroativa da linguagem.
7. Mãos na massa
Python já vem instalado nas distribuições Linux e OS X.
Execução via terminal “python”.
Interpretador Interativo.
8. Detalhes da linguagem
Case sensitive.
Bloco de comandos por endentação (não tem {} ou begin end).
Não tem (ponto e virgula).
Um comando por linha.
Não misture espaços com tabs.
# comentário de uma linha.
"""comentário""" documentação, ou textos em muitas linhas.
12. Atribuição
= (simples).
+= (soma reduzida).
-= (subtração reduzida).
/= (divisão reduzida).
//= (inteira reduzida).
%= (modulo reduzida).
*= (multiplicação reduzida).
**= (exponenciação reduzida).
a, b = b, a (atribuição em uma linha).
13. fusca = Carro()
fusca2 = fusca
del fusca
del fusca2
referências [ 1 ]
referências [ 2 ]
referências [ 1 ]
referências [ 0 ]
Referências
Quando o contador de referências chegar a zero o garbage collector é chamado.
14. if <condição>:
<bloco de comandos>
elif <condição>:
<bloco de comandos>
else:
<bloco de comandos>
Estrutura condicional
Python não tem switch/case.
if, elif, else - (elif - É uma junção do comando else if).
<bloco de comandos> if <condição> else <bloco de comandos>
15. Estrutura de repetição (while)
Python não tem do while. O comando while possui um else.
while <condicao>:
<bloco de comandos>
else:
<bloco de comandos>
O else será executado quando a condição se tornar false.
16. Estrutura de repetição (for)
O comando for é executado sobre um objeto iteravel, podendo ser este uma string, uma lista, uma tupla, um dicionário, etc..
O comando for possui um else.
for <referência> in <iterator>:
<bloco de comandos>
else:
<bloco de comandos>
O else será executado ao fim da iteração.
17. Estrutura de repetição (for)
for character in 'Python is powerfull language programming':
print character
else:
print "Terminou de iterar pela frase!"
for number in range(0, 100, 2):
print number
else:
print "Terminou de iterar pelo intervalo de 0 a 100 de 2 em 2!"
18. fruit_list = ['orange', 'lemon']
for i, fruit in enumerate(fruit_list):
print i, fruit
else:
print "As frutas acabaram!"
fruit_list = ['orange', 'lemon']
for fruit in fruit_list:
print fruit
else:
print "As frutas acabaram!"
Estrutura de repetição (for)
19. Estrutura de repetição (for)
color_list = ('blue', 'red',)
for color in color_ist:
print color
else:
print “Terminou!"
dict_char = {1: 'A', 2: 'B', 3: 'C', 4: 'D'}
for k, v in dict_char.items():
print 'Chave: %s, Valor: %s' % (k, v)
else:
print “Terminou!"
20. Comandos
pass - Preenche blocos vazios de código, substitui os delimitadores de código, tais como {} ou begin end.
del - remove a referência de um objeto ou um elemento de uma coleção.
exec - executa código direto de uma string passada como parâmetro.
assert - Verifica se uma condição é verdadeira, caso contrário emite um assertionError.
21. Tipos de dados
Em python todo tipo de dados é objeto!
print 5 .__add__(1)
>>> 6
Não existe conversão implícita, o único caso é a promoção de um (int) para (long) quando o mesmo excede a capacidade máxima de armazenamento para o tipo inteiro.
22. Tipos de dados (Sequências)
Indexáveis - Possuem um índice para melhorar a performance.
Iteráveis - Implementam o comportamento de uma coleção iterável.
Fatiáveis - (slice) é uma técnica de obter pedaços da lista com sintaxe simples.
List comprehension - Capacidade de executar operações iteráveis de uma lista em uma única expressão escrita em uma linha.
23. Tipos de dados (list)
Listas são objetos mutáveis.
Podem ser criadas através da função builtin list() ou de maneira literal com a sintaxe [].
my_list = list()
my_list = list(iterable)
my_list = []
my_list.append(object) my_list.insert(index, object) my_list.extend([1,2,3]) my_list.remove(value) my_list.index(object) my_list.count(object)
24. Tipos de dados (tuple)
Tuplas são objetos imutáveis.
É ordenada por posição. (Posições são importantes)
Podem ser criadas através da função builtin tuple() ou de maneira literal.
my_tuple = tuple()
my_tuple = tuple(iterable)
my_tuple = (1, 2, 3,)
my_tuple = (1,)
my_tuple = 1, 2, 3,
my_tuple = 1,
my_tuple.index(object) my_tuple.count(object)
25. Tipos de dados (dict)
Dicionários são objetos compostos por chaves e valores.
Não são ordenados.
Somente objetos imutáveis podem ser usados como chave.
Dicionários podem ser criados através da função builtin dict() ou de forma literal através da sintaxe {}.
my_dict = dict()
my_dict = dict(k1=1, k2=v2)
my_dict = {}
26. Tipos de dados (dict)
my_dict.get(key, default)
my_dict.pop(key, default)
my_dict.setdefault(key, default)
my_dict.has_key(key)
my_dict.keys()
my_dict.values()
my_dict.items()
my_dict.update(k1=v1, k2=v2)
my_dict[key] del my_dict[key] my_dict[key] = value key in my_dict: [key1, key2] [value1, value2] [(key1, value1), (key2, value2)]
27. Tipos de dados (string)
Strings são objetos imutáveis.
É possível iterar strings e fatiar strings. (slice)
Podem ser criadas com aspas simples ou duplas, ou três aspas simples ou duplas. (Multilinha e docstrings)
my_string = „Python is powerfull language‟
my_string = “Python is powerfull language”
my_string = “„Python is powerfull language”‟
28. Tipos de dados (string)
„A,B,C‟.split(„,‟)
„nt Pithon‟.strip(„nt‟)
„Python‟.replace(„P‟, „p‟)
„Python‟.upper()
„Python‟.lower()
„Python‟.startswith(„py‟)
„Python‟.endstswith(„on‟)
„Python‟.isdigit()
„ ‟.join(„Python‟)
[„A‟, „B‟, „C‟]
Python
python
PYTHON
python
True
True
False
P Y T H O N
29. Slice
Slice é a capacidade de fatiar um iterador usando a sintaxe:
Iterator[inicio:fim:intervalo]
Inicio: Se não for especificado é 0 (zero).
Fim: Se não for especificado é a tamanho da string menos 1 (um).
Intervalo: Se não for especificado é 1 (um).
„Python language‟[0] „Python language‟[:6] „Python language‟[6:] „Python language‟[0:6:2]
„P‟
„Python‟
„ language‟
„Pto‟
30. Arquivos (file)
Arquivos podem ser criados ou abertos de duas formas diferentes:
Contrutor: file(name, mode, buffer)
Builtin: open(name, mode, buffer)
Arquivos podem ser iterados.
r - leitura
w - escrita (trunca o arquivo)
a - escrita (adiciona)
b - binário
+ - ( leitura + escrita)
31. file.close() - Fecha o arquivo
file.flush() - Esvazia o buffer
file.read(0) - Ira ler a linha 5 do arquivo
file.seek(3) - Posiciona o ponteiro na linha 3
file.tell() - Posiciona o ponteiro para o inicio do arquivo
file.write('line') - Escreve 'line'
file.readline() - Ira ler a linha onde o ponteiro estiver posicionado
file.readlines() - retorna um iterável do arquivo
Arquivos (file)
32. Funções built-ins
Python vem com baterias inclusas. (builtins)
Funções builtins já estão disponíveis no escopo global sem a necessidade de import.
Dentre elas se destacam:
dir(object) - Imprime a lista de todos os métodos do objeto.
help(object) - Imprime a documentação de classe e de seus respectivos métodos.
34. Funções
Funções em python também são objetos.
Podem ser passadas como parâmetro para outras funções.
Sempre retornam um objeto que por default é None.
Suportam valor default em seus parâmetros.
Suportam uma lista dinâmica de argumentos *args e um dicionário dinâmico de valores **kwargs, caso sejam definidos. (devem ser os últimos parâmetros).
Podem ter funções internas. (Closures)
Podem ser funções anônimas. (lambda)
35. Funções
def sum_two_num(n1=0, n2=0): return n1 + n2;
def repeat_sum(fn, length):
total = 0
for i in range(1, (length + 1)):
result = fn(i, i)
total += result
print '%s call: %s' % (i, result)
print „Sum total: %s' % total
def repeat_sum_closure(length): t = {'total': 0} def sum_two_num(n1=0, n2=0, t={}): answer = n1 + n2 total['total'] += answer return answer for i in range(1, (length+1)): result = sum_two_num(i, i, total) print '%s call: %s' % (i, result) print 'Sum total: %s' % total['total']
36. Funções
def sum_two_num(*args, **kwargs): if kwargs.get(„operacao‟) == „matematica‟: return args[0] + args[1] sum_two_num(2,2, operacao='matematica')
my_pow = lambda x: x**2
for i in range(1, 11):
print my_pow(i)
37. Hierarquia do escopo
A hierarquia de escopos segue o seguinte processo:
Busca as variáveis no escopo local, ou seja, funções internas ou métodos de classes.
Busca as variáveis nas funções externas.
Busca as variáveis no escopo global.
Busca as variáveis no escopo builtin.
O comando global deve ser usado para alterar o valor de uma variável global de dentro de uma função. (Evite variáveis globais)
language = 'Java' def alter_language(): global language language = 'Python'
38. Exceptions
Exceptions são objetos responsáveis por capturar e tratar erros comuns.
Python possui varias exceptions nativas.
Não existe o conceito de checked exceptions.
É recomendável a criação de exceptions personalizadas.
fruit_list = ['orange', apple]
try:
fruit = fruit_list[2]
except IndexError as e:
print 'Indice inválido!'
Exception
KeyError
IndexError
IndentationError
AttributeError
39. Orientação a Objetos
Orientação a objetos é um paradigma de programação.
Características e comportamentos. (Atributos e Classes)
Baixo acoplamento e alta coesão.
Abstração
Encapsulamento
Herança
Polimorfismo
40. Abstração
Python possui classes abstratas a partir da versão 2.6.
Possui herança múltipla.
Não possui o mecanismo de interface.
Podemos ter o mesmo comportamento de uma interface utilizando classes abstratas e herança múltipla.
41. Abstração
class GemFigure(object):
def __init__(self, center):
self.center = center
def draw(self):
raise NotImplementError()
class Rectangle(GemFigure): def __init__(self, center, height, width): super(GemFigure, self).__init__(center) self.center = center def draw(self): print 'rectangule drawn'
42. Encapsulamento
Em python o encapsulamento é por convenção.
Atributos ou métodos com prefixo _ são CONSIDERADOS de uso interno do objeto. (Indica possíveis mudanças sem aviso prévio)
Atributos ou métodos com prefixo __ tem seu nome alterado pela classe com o objetivo de evitar acesso externo.
class Person(object): name = '' _age = 0 __social_number = 0
Person.name
Person._age
Person._Person__social_number
43. Encapsulamento
class Person(object):
def __init__(self):
self._name = ''
def _get_name(self):
return self._name
def _set_name(self, name):
if not name:
raise ValueError('Vazio')
self._name = name
name = property(_get_name, _set_name)
p1 = Person()
p1.name = ''
ValueError: Vazio
44. Herança
Python suporta herança múltipla. (Muito cuidado!).
Mecanismo sofisticado de precedência de herança.
MRO - (Method Resolution Order).
class Father(object): fhater = 'Eu sou o pai'
class Mother(object): mother = 'Eu sou a mãe'
class Son(Father, Mother):
son = 'Eu sou o filho''
son = Son()
print son.father
print son.mother
print son.son
45. Polimorfismo
Polimorfismo é a capacidade de executar um comportamento em comum de maneira especifica sem se preocupar com o tipo do objeto.
name = 'Python is powerfull language'
print name[0:6] # chama o método __getslice__(0, 6)
>>> Python
fruit_list = ['orange', 'apple', lemon, 'strawberry'] print fruit_list[0:2] # chama o método __getslice__(0, 2) >>> ['orange', apple]
46. Outras características
Atributos de classes X Atributos de instâncias.
Criação dinâmica de atributos em classes e instâncias.
Mixin em classes e instâncias.
Programação funcional. (map, filter, reduce, zip, lambda)
List comprehension.
Generators e generator comprehension.
Sobrecarga de operadores (special methods).
@classmethod X @staticmethod.
47. Django
Criado por Jacob Kaplan-Moss, Adrian Holovaty e Simon Willison em 2003.
CMS para auxiliar na criação de modulos administraveis do Lawrence Journal-World.
Disponibilizado Opensource logo depois.
Framework Full Stack.
Web ágil, plugável, action based.
48. Componentes
ORM - Mapeador Objeto Relacional.
Template System - Linguagem de Templates.
URL dispatcher - Roteador de URLs.
Admin - Interface Administrativa automatizada.
Internacionalização.
Gerador e validador de formulários.
Autenticação, perfil de acessos, etc...
49. MVC ou MTV
MVC - Model View Controller.
MTV - Model Template View.
Model - Camada responsável pela lógica de negocios, abstração de persistência etc...
Template - Camada responsável pela lógica de visualização.
View - Camada responsável pela interface entre Model e Template.
50. Ambiente (PIP)
PIP – Utilitário de instalação de pacotes python.
Baixa e instala pacotes do PyPI (Python Package Index).
Download - https://www.python.org/download.
Distribuições baseadas em Debian - sudo apt-get install python-pip.
pip freeze – Lista os pacotes python instalados.
pip install nome_do_pacote – Instala novos pacotes.
pip uninstall nome_do_pacote – Desistala o pacote.
sudo apt-get install python-pip
51. Ambiente (Virtualenv)
Poderiamos desenvolver utilizando o interpretador padrão do python, mas se tivessemos 2 sistemas sendo desenvolvidos simultaneamente com versões do python diferentes?
virtualenv – pacote python que tem a capacidade de criar e gerenciar ambientes isolados.
pip install virtualenv
virtualenv --no-site-packages diretorio/nome_do_ambiente
source diretorio/nome_do_ambiente/bin/activate
(nome_do_ambiente)
52. Projeto
Biblioteca pessoal – Cadastrar livros pessoais e controlar empréstimos.
Cadastro de livros – (titulo, descrição, status, nome, email).
Instale o pip.
Crie o ambiente virtual com o nome "personal_library".
Ative o ambiente virtual.
Instale o Django 1.6. (pip install django==1.6).
execute o comando "pip freeze" para verificar se a instalação foi realizada com sucesso.
54. django-admin.py
O modulo "django-admin.py" possui diversos comandos utilitários para auxliar o desenvolvedor.
django-admin.py help - Lista os comandos disponíveis.
django-admin.py <comando> - Definição detalhada sobre o comando.
django-admin.py startproject nome_do_projeto django-admin.py startapp nome_da_aplicacao
55. Criando o projeto
Execute o comando django-admin.py startproject personal_library.
O Django criará a seguinte estrutura:
personal_library personal_library __init__.py settings.py urls.py wsgi.py manage.py
Pasta onde o projeto está guardado. Project (Não deve ser renomeada). Arquivo vazio (indica um package). Arquivo de configuração do projeto. Definições de URLs do projeto. Protocolo parecido com fastCGI serve HTTP. Utilitário parecido com o "django-admin.py".
56. Testando o projeto
O Django possui um servidor web interno para ser usado no ambiente de desenvolvimento.
NUNCA use o servidor interno em produção.
O servidor local possui recarga automática de módulos e por padrão já serve os arquivos estaticos. (javascripts, css, imagens, etc.).
O comando para executa-lo é "python manage.py runserver porta".
python manage.py runserver 8000.
59. manage.py
O módulo "manage.py" possui varios comandos utilitários.
syncdb - Cria tabelas no banco de dados.
dumpdata --format F [aplicação] - Extrai dados da aplicação em XML/JSON.
loaddata fixture - Insere dados XML/JSON/YAML no banco de dados.
shell - Interpretador Python com modelo de dados.
create superuser --username --email - Cria uma usuário root.
runserver endereco:porta - Inicia o servidor web de desenvolvimento.
startapp aplicacao - Cria a estrutura de uma nova aplicação no projeto.
60. Aplicações
O django é um framework plugável.
Um projeto é uma composição de várias aplicações que PODEM ser plugáveis e podem ser instaladas em vários projetos.
my_application __init__.py views.py models.py tests.py admin.py
Nome da app. Arquivo vazio (indica um package). Módulo onde as views da app são criadas. Módulo onde os models da app são criados. Módulo onde os testes automatizados são criados. Módulo onde a parte administrativa é criada.
64. Urls
É um módulo python responsável por realizar o roteamento de URLs do projeto através do mapeamento das mesmas utilizando regex.
Todas as urls podem ficar em um unico arquivo urls.py, mas é recomendável que cada aplicação contenha seu próprio arquivo urls.py para mapear as urls expecificas da aplicação e deixa-la plugável.
Posteriormente o arquivo urls.py referênte ao projeto deve importar os módulos urls.py de cada aplicação instalada ao projeto.
url(regex, app.views.action, name=my.action)
66. Views
É um módulo python que agrupa um conjunto de actions (views).
Toda view deve receber um objeto “HTTPRequest” como primeiro parâmetro e retornar um objeto “HTTPResponse” como resposta.
O objeto “HTTPRequest” é fornecido automaticamente pelo django.
O objeto “HTTPResponse” é de responsabilidade do desenvolvedor.
70. Models
É um módulo python responsável por mapear as tabelas do banco de dados em objetos e abstrair toda a complexidade de manipulação das tabelas. (CRUD)
TIPOS DE CAMPOS MAIS USADOS
BooleanField
EmailField
TextField
CharField
DecimalField
SlugField
DateField
IntegerField
URLField
OPÇÕES DE CAMPOS MAIS USADAS
null
db_column
primary_key
blank
db_index
unique
choices
default
verbose_name
72. Iniciando (settings.py)
O settings.py é um arquivo de configuração do projeto.
É criado automaticamente.
Já vem com varias definições inclusas e vários comentários autoexplicativos sobre as mesmas.
Os parâmetros de configuração do banco ficam no settings.py
73. Configurando o banco
Atualmente o django suporta os seguintes bancos de dados:
SQLite
MySQL
PostGreSQL
Oracle
Usaremos o SQLite devido a facilidade de configuração, e por não precisar de nenhum SGBD.
80. Templates
O django possui uma linguagem de templates poderosa.
É possível extender templates e sobreescrever trechos especificos de código com o mecânismo "extends".
É possível incluir paginas expecificas com o mecanismo "include".
As tags com (lógica) devem ficar entre as marcações "{% %}".
Para imprimir o resultado de uma expressão os marcadores utilizados são "{{ }}".
É possível criar template "filters" e "tags" personalizadas.
81. Templates
O django possui por padrão dois mecânismos de busca de templates.
filesystem.Loader - percorre somente o projeto buscando por HTMLs que estejam dentro de um diretório chamado “templates”.
app_directories.Loader - percorre somente as apps buscando por HTMLs que estejam dentro de um diretório “templates”.
82. Template padrão
Criando o template base.
Crie uma pasta chamada “templates” dentro do pacote “personal_library”.
Adicione a tupla “TEMPLATE_DIRS” no settings do projeto, ela adiciona o seguinte diretório na árvore de busca de templates do django.
84. Template app library
Criando o template da app library.
Crie um diretório com as pastas “templates” e ”library” dentro da app.
O diretório é criado com esse padrão para distinguir que o template “library.html” é referente a app “library”, pois pode existir um template chamado “library.html” em outra app.
Essa técnica evita que o o mecânismo de busca do django carregue templates errados.
86. Listando livros
Realiza uma busca em todos os livros. (ORM)
Altera método de retorno, para que o mesmo importe o template “library.html” e popule o contexto com a lista de livros retornados do banco.
89. Forms
É um módulo python divido em duas funções principais:
1 - Validar a entrada de dados vindos do HTML.
2 - Gerar HTML automaticamente.
Fields – Realizam o mapeamento do formulário recebido via POST convertendo os valores recebidos para tipos nativos do python.
Widgets – Geram o HTML que o field exibirá na página HTML.
Todo field possui um widget padrão atrelado a ele, mas é possível altera- lo.
90. Forms
O django fornece duas classes geradoras de forms.
forms.Form – Classe padrão que define os fields e seus respectivos widgets, que quando herdada serve para criar formulários específicos.
forms.ModelForm – Classe que usa o mecânismo de metaprogramação e faz um introspecção no model definido em seu corpo para gerar os fields dinamicamente em tempo de execução.
A renderização do formulário no template pode ser feita com os seguintes comandos no template:
form.as_p, form.as_li, ou form.as_table
91. Forms
TIPOS DE CAMPOS MAIS USADOS
BooleanField
DateField
ImageField
CharField
EmailField
IntegerField
ChoiceField
FileField
MultipleChoiceField
TIPOS DE WIDGETS MAIS USADOS
TextInput
FileInput
CheckBoxInput
PasswordInput
DateInput
SelectMultiple
HiddenInput
TextArea
RadioSelect
93. Refatorando (index)
Com o formulário de cadastro e alteração implementado, é necessário criar uma instancia do mesmo e adiciona-la ao contexto para ser retornado quando a view “index” é chamada.
94. Cadastro livros
Após alterar a view “index” para retornar o formulário no contexto, é necessário adiciona-lo ao template “library.html” para que o mesmo seja renderizado.
95. Cadastro livros
Na action do form foi adiciona a templatetag “url” contendo o nome da rota que fará a ligação com a view responsável por persistir os livros no banco.
É necessário adicionar essa rota no arquivo “urls.py”.
96. Cadastro livros
Com a rota adicionada no “urls.py” é necessário criar a view “save” que conterá a lógica de persistência de livros no banco.
97. Testando
Execute o runserver da aplicação e cadastre um novo livro.
Faça teste de validação de campos obrigatórios.
Veja que a mensagem de validação é exibida em inglês.
Para traduzi-la altere a variável “LANGUAGE_CODE” para “pt-br” no “settings.py”.
99. Fluxo de alteração
Para realizar a alteração de livros é necessário recuperar o objeto e adiciona-lo ao formulário.
Quando a listagem foi implementada a URL especifica para a alteração já foi adicionada no link “editar”.
Agora é necessário mapeá-la no “urls.py” adicionando uma rota a ela.
100. Fluxo de alteração
Com a rota adicionada no “urls.py” é necessário criar a view “edit” que conterá a lógica de recuperação do objeto e adição do mesmo ao contexto.
102. Testando
Execute o runserver da aplicação.
Cadastre um novo livro.
Faça a alteração do livro cadastrado anteriormente.
103. Fluxo de remoção
Para realizar a remoção de livros é necessário recuperar o objeto e remove-lo através do método “delete()”. (ORM)
Quando a listagem foi implementada a URL especifica para a remoção já foi adicionada no link “excluir”.
Agora é necessário mapeá-la no “urls.py” adicionando uma rota a ela.
104. Fluxo de remoção
Com a rota adicionada no “urls.py” é necessário criar a view “remove” que conterá a lógica de remoção do objeto.
105. Testando
Execute o runserver da aplicação.
Cadastre um novo livro.
Faça a remoção do livro cadastrado anteriormente.
107. Django Admin
É um mecanismo do django que permite a geração automática de interfaces administrativas.
É flexível, ou seja é possível customizar somente partes especificas.
É customizavel, para cada model existe um conjunto de varias opções para a modificação do layout e gerenciamento dos fluxos.
É fortemente baseado em metaprogramação.
108. Django Admin
Para ativa-lo é necessário habilitar as quatro primeiras linhas que estavam comentadas no “INSTALED_APPS”.
109. Django Admin
Outro passo necessário é habilitar as rotas do “admin” que estavam comentadas no arquivo “urls.py”.
110. Django Admin
Após realizar essas configurações execute o comando:
“python manage.py syncdb”, ele ira criar as tabelas necessárias e sugerir a criação de um “superuser” que deve ser criado.
111. Autenticação
Após esses passos execute o runserver da aplicação e acesse a url:
“localhost:8000/admin”.
Autentique com o usuário criado no passo anterior.
112. Dashboard
Uma tela com uma listagem das aplicações instaladas no projeto é exibida no canto superior esquerdo.
No canto superior direito uma tela de listagem de suas operações é exibida.
113. Cadastro de grupos
Permite o cadastro de grupos de acesso associados a ações de cada app instalada.
115. Cadastro de usuários
Tela de cadastro de usuários divida em dois passos:
1 - Dados de autenticação.
2 - Dados pessoais.
116. Listagem de usuários
Lista os usuários cadastrados.
Possui filtros no canto superior direito.
117. Adicionando apps
Para permitir que uma “app” seja gerenciada pelo “Django Admin” é necessário registra-la no arquivo “admin.py” que compõe a “app”.
Podemos registra-la da maneira clássica através do comando:
“admin.site.register(Library)”.
Ou da maneira customizada onde o comportamento padrão do “admin” é alterado.
118. Adicionando apps
Após a configuração do “admin.py” execute o runserver da aplicação e acesse o admin novamente.
A app “library” já esta no menu de aplicações que são gerenciadas pelo admin.
119. Customização
O item de menu referente a app “library” apareceu em inglês, não somente ele como também a tela de listagem de livros, outro problema é que na listagem não é exibido o titulo do livro e sim uma representação do “objeto” recuperado.
Para resolver esses problemas é necessário adicionar algumas meta- informações no model “Library” e sobrescrever o método “__unicode__(self)” do mesmo.