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
94
Anti-patterns - o que são e como se livrar deles em Python
cacarrara
1
200
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
88
make + pip + pip-tools
cacarrara
0
67
Pyramid e uma questão de interface
cacarrara
0
60
Tecnologia da Informação: carreira e mercado
cacarrara
1
86
Other Decks in Programming
See All in Programming
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
180
エンジニアが挑む、限界までの越境
nealle
1
340
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
140
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
140
カウシェで Four Keys の改善を試みた理由
ike002jp
1
140
Cursorを活用したAIプログラミングについて 入門
rect
0
300
Duke on CRaC with Jakarta EE
ivargrimstad
1
250
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
330
AIコーディングの理想と現実
tomohisa
38
40k
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
190
VibeCoding時代のエンジニアリング
daisuketakeda
0
260
Design Pressure
hynek
0
170
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Code Reviewing Like a Champion
maltzj
523
40k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Documentation Writing (for coders)
carmenintech
71
4.8k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
Faster Mobile Websites
deanohume
307
31k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Statistics for Hackers
jakevdp
799
220k
Facilitating Awesome Meetings
lara
54
6.4k
Rails Girls Zürich Keynote
gr2m
94
13k
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