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
77
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
90
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
230
Viés Algorítmico
cacarrara
0
70
make + pip + pip-tools
cacarrara
0
56
Pyramid e uma questão de interface
cacarrara
0
42
Tecnologia da Informação: carreira e mercado
cacarrara
1
76
Other Decks in Programming
See All in Programming
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
CSC307 Lecture 12
javiergs
PRO
0
220
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
1
410
Rust.Nagoya #1
codemountains
0
170
Product Management LT会_クアンド新家
shinshin
0
210
Activities at Cairo Library
cairolibrary720
0
1.2k
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
CSC307 Lecture 07
javiergs
PRO
0
220
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
320
ピグパーティにおけるMongoDB CommunityバージョンからAtlasへの移行事例
10969hotaka
0
130
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
157
8.1k
RailsConf 2023
tenderlove
16
720
We Have a Design System, Now What?
morganepeng
46
7k
Bash Introduction
62gerente
607
210k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
BBQ
matthewcrist
82
9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Documentation Writing (for coders)
carmenintech
63
4.2k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
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