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
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
190
実践Webフロントパフォーマンスチューニング
cp20
45
10k
2025年のz-index設計を考える
tak_dcxi
13
4.9k
事業KPIを基に価値の解像度を上げる
nealle
0
150
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1k
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
290
Vibe Coding の話をしよう
schroneko
14
3.9k
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
330
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
190
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
130
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
250
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
260
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
GraphQLとの向き合い方2022年版
quramy
46
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Faster Mobile Websites
deanohume
307
31k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
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