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
110
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
190
Python para web 101
cacarrara
1
79
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
96
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
240
Viés Algorítmico
cacarrara
0
75
make + pip + pip-tools
cacarrara
0
57
Pyramid e uma questão de interface
cacarrara
0
44
Tecnologia da Informação: carreira e mercado
cacarrara
1
77
Other Decks in Programming
See All in Programming
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
1.1k
Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
260
Prompt Cachingは本当に効果的なのか検証してみた.pdf
ttnyt8701
0
530
A New Era of Testing
mannodermaus
2
510
メモリ最適化を究める!iOSアプリ開発における5つの重要なポイント
yhirakawa333
0
420
Jakarta EE meets AI
ivargrimstad
1
520
Developer Joy == Developer Productivity (really!)
hollycummins
1
220
Architecture Decision Record (ADR)
nearme_tech
PRO
1
690
Kotlin 2.0が与えるAndroid開発の進化
masayukisuda
1
410
Shinjuku.rb#95:心の技術書紹介
free_world21
1
110
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
2
710
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
830
Featured
See All Featured
Designing for humans not robots
tammielis
248
25k
Being A Developer After 40
akosma
84
590k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
89
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
120
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Design by the Numbers
sachag
277
19k
Bash Introduction
62gerente
608
210k
RailsConf 2023
tenderlove
28
810
Mobile First: as difficult as doing things right
swwweet
221
8.8k
We Have a Design System, Now What?
morganepeng
48
7.1k
BBQ
matthewcrist
83
9.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
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