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
93
Anti-patterns - o que são e como se livrar deles em Python
cacarrara
1
190
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
86
make + pip + pip-tools
cacarrara
0
66
Pyramid e uma questão de interface
cacarrara
0
59
Tecnologia da Informação: carreira e mercado
cacarrara
1
86
Other Decks in Programming
See All in Programming
fieldalignmentから見るGoの構造体
kuro_kurorrr
0
120
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
140
Glue Studio Visual ETL実装時にハマったこと
kokitamura
0
100
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
220
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
7
3.2k
Being an ethical software engineer
xgouchet
PRO
0
220
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1.2k
flutter_kaigi_mini_4.pdf
nobu74658
0
120
AIコーディングの理想と現実
tomohisa
33
35k
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
4
1.3k
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
100
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
1.8k
Featured
See All Featured
Bash Introduction
62gerente
611
210k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
BBQ
matthewcrist
88
9.6k
Six Lessons from altMBA
skipperchong
28
3.7k
Optimizing for Happiness
mojombo
378
70k
A designer walks into a library…
pauljervisheath
205
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.4k
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