Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Python @classmethod
Caio Carrara
January 23, 2020
Programming
0
99
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
110
Python para web 101
cacarrara
1
67
Anti-patterns - o que são e como se livrar deles em Python
cacarrara
1
160
Distributed Systems of Microservices using Docker and Serfnode
cacarrara
0
44
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
170
Viés Algorítmico
cacarrara
0
36
make + pip + pip-tools
cacarrara
0
39
Pyramid e uma questão de interface
cacarrara
0
34
Tecnologia da Informação: carreira e mercado
cacarrara
1
68
Other Decks in Programming
See All in Programming
設計ナイト2022 トランザクションスクリプト
shinpeim
11
2.1k
Jetpack Compose best practices 動画紹介 @GoogleI/O LT会
takakitojo
0
390
Licences open source : entre guerre de clochers et radicalité
pylapp
2
510
Beyond Micro Frontends: Frontend Moduliths for the Enterprise @enterjs2022
manfredsteyer
PRO
0
200
Client-Side Field-Level Encryption for Apache Kafka Connect @ VoxxedDays Luxembourg 2022
hpgrahsl
0
120
Amazon ECSのネットワーク関連コストの話
msato
0
660
UI Testing of Jetpack Compose Apps, AppDevCon
alexzhukovich
0
170
"What's new in Swift"の要約 / swift_5_7_summary
uhooi
1
340
Jetpack Compose, 어디까지 알고 있을까?
jisungbin
0
120
I/O Extended 2022 in Android ~ Whats new in Android development tools
pluu
0
570
Java アプリとAWS の良い関係 - AWS でJava アプリを実行する一番簡単な方法教えます / AWS for Javarista
kanamasa
2
1.3k
LINE Messaging APIの概要 - LINE API総復習シリーズ
uezo
1
190
Featured
See All Featured
Fireside Chat
paigeccino
12
1.3k
WebSockets: Embracing the real-time Web
robhawkes
57
5.3k
Building Your Own Lightsaber
phodgson
94
4.6k
Making the Leap to Tech Lead
cromwellryan
113
7.4k
YesSQL, Process and Tooling at Scale
rocio
157
12k
What's new in Ruby 2.0
geeforr
336
30k
How to name files
jennybc
40
61k
The Brand Is Dead. Long Live the Brand.
mthomps
46
2.7k
Clear Off the Table
cherdarchuk
79
280k
What the flash - Photography Introduction
edds
62
10k
Music & Morning Musume
bryan
35
4.2k
Docker and Python
trallard
27
1.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