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
120
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
200
Python para web 101
cacarrara
1
82
Anti-patterns - o que são e como se livrar deles em Python
cacarrara
1
180
Distributed Systems of Microservices using Docker and Serfnode
cacarrara
0
110
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
240
Viés Algorítmico
cacarrara
0
79
make + pip + pip-tools
cacarrara
0
58
Pyramid e uma questão de interface
cacarrara
0
49
Tecnologia da Informação: carreira e mercado
cacarrara
1
81
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
230
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
Recoilを剥がしている話
kirik
5
6.6k
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
Symfony Mapper Component
soyuka
2
730
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
42 best practices for Symfony, a decade later
tucksaun
1
180
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
RailsConf 2023
tenderlove
29
940
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Facilitating Awesome Meetings
lara
50
6.1k
A designer walks into a library…
pauljervisheath
204
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
A better future with KSS
kneath
238
17k
Optimising Largest Contentful Paint
csswizardry
33
3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
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