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
78
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
94
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
240
Viés Algorítmico
cacarrara
0
73
make + pip + pip-tools
cacarrara
0
56
Pyramid e uma questão de interface
cacarrara
0
43
Tecnologia da Informação: carreira e mercado
cacarrara
1
76
Other Decks in Programming
See All in Programming
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
210
フロントエンドのテストからアクセシビリティをしれっと広めていく
nano72mkn
3
700
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
520
労務ドメインを快適に開発する方法 / How to Comfortably Develop in the Labor Domain
yuki21
1
250
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
590
ドメイン駆動設計を実践するために必要なもの
bikisuke
3
300
Kotlin 2.0 and Beyond
antonarhipov
2
140
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
610
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
200
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
580
REXML改善のその後
naitoh
0
150
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
110
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
How to train your dragon (web standard)
notwaldorf
85
5.6k
Agile that works and the tools we love
rasmusluckow
327
20k
Optimising Largest Contentful Paint
csswizardry
28
2.7k
How to Ace a Technical Interview
jacobian
275
23k
How to name files
jennybc
75
97k
Building a Modern Day E-commerce SEO Strategy
aleyda
35
6.8k
[RailsConf 2023] Rails as a piece of cake
palkan
44
4.6k
Become a Pro
speakerdeck
PRO
22
4.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Documentation Writing (for coders)
carmenintech
65
4.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