Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python @classmethod
Search
Caio Carrara
January 23, 2020
Programming
0
130
Python @classmethod
Slides da lightning talk apresentada no meetup de Python na Resultados Digitais
Caio Carrara
January 23, 2020
Tweet
Share
More Decks by Caio Carrara
See All by Caio Carrara
Pythonic OOP pt. 1
cacarrara
1
220
Python para web 101
cacarrara
1
93
Anti-patterns - o que são e como se livrar deles em Python
cacarrara
1
190
Distributed Systems of Microservices using Docker and Serfnode
cacarrara
0
120
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
250
Viés Algorítmico
cacarrara
0
85
make + pip + pip-tools
cacarrara
0
65
Pyramid e uma questão de interface
cacarrara
0
58
Tecnologia da Informação: carreira e mercado
cacarrara
1
85
Other Decks in Programming
See All in Programming
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
0
430
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
210
ミリしらMCP勉強会
watany
4
750
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
3.5k
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
0
1.2k
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.5k
エンジニア未経験が最短で戦力になるためのTips
gokana
0
270
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
270
Java 24まとめ / Java 24 summary
kishida
3
500
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
110
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
170
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
640
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Become a Pro
speakerdeck
PRO
27
5.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Side Projects
sachag
452
42k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Visualization
eitanlees
146
16k
How to Ace a Technical Interview
jacobian
276
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
670
Transcript
Python @classmethod Caio Carrara www.caiocarrara.com/contato.html 1
Caio Carrara • Paulista • Desenvolvedor de software • Pythonista
• Djangonauta • Trabalhando na Loadsmart 2
Lightning Talks 2019 • 2019/07 - Pyramid e uma questão
de interface @ Neoprospecta • 2019/08 - make + pip + pip-tools @ Hostgator • 2019/08 - Viés Algorítmico @ Mercado Livre • 2019/12 - Code reviews @ Geek Hunder https://speakerdeck.com/cacarrara/ 3
@classmethod (?) 4
Python Class Methods 5
Python Class Methods 6
Python Class Methods 7
Programação Orientada a Objetos 8
Programação Orientada a Objetos • Classes • Objects • Attributes
• Methods 9
Programação Orientada a Objetos • Classes -> Blueprints, projetos, especificação
• Objects -> Instâncias • Attributes -> Estado, dados • Methods -> Comportamento, funcionalidade, ação 10
Programação Orientada a Objetos 11
Programação Orientada a Objetos “Em Python tudo é objeto. Até
mesmo as classes.” 12
Tudo é objeto 13
Tudo é objeto 14
Tudo é objeto 15
Tudo é objeto 16
@classmethods 17
Programação Orientada a Objetos • Classes -> Blueprints, projetos, especificação
• Objects -> Instâncias • Attributes -> Estado, dados • Methods -> Comportamento, funcionalidade, ação 18
@classmethods Class methods Métodos de classe Comportamentos de classe Ações
sobre uma classe 19
Quando usar @classmethod? • Para ampliar os comportamentos de uma
classe • Um dos comportamentos mais comuns de uma classe é prover (construir) uma instância de seu tipo 20
Quando usar @classmethod? 21
Quando usar @classmethod? 22
Riscos de @classmethods sem controle 23
Riscos de @classmethods sem controle 24
Riscos de @classmethods sem controle 25
Obrigado! Caio Carrara www.caiocarrara.com/contato.html 26