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
120
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
200
Python para web 101
cacarrara
1
80
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
100
Revisão de Código - Desafios, soluções e experiências
cacarrara
0
240
Viés Algorítmico
cacarrara
0
78
make + pip + pip-tools
cacarrara
0
58
Pyramid e uma questão de interface
cacarrara
0
48
Tecnologia da Informação: carreira e mercado
cacarrara
1
80
Other Decks in Programming
See All in Programming
as(型アサーション)を書く前にできること
marokanatani
10
2.8k
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
7
1.8k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.7k
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
5
980
CSC509 Lecture 13
javiergs
PRO
0
110
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
180
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
270
Outline View in SwiftUI
1024jp
1
350
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
130
Quine, Polyglot, 良いコード
qnighy
4
650
cmp.Or に感動した
otakakot
3
280
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
140
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
We Have a Design System, Now What?
morganepeng
50
7.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Designing the Hi-DPI Web
ddemaree
280
34k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Docker and Python
trallard
40
3.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Music & Morning Musume
bryan
46
6.2k
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