forked from midudev/curso-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path03_clases.py
More file actions
74 lines (55 loc) · 2.14 KB
/
03_clases.py
File metadata and controls
74 lines (55 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 1. Introducción a las Clases en Python
# Las clases son plantillas para crear objetos. Un objeto es una instancia de una clase.
# Nos permite agrupar datos (atributos o propiedades) y funciones (métodos) en un solo lugar.
OPENAI_KEY = ""
DEEPSEEK_API_KEY = ""
# Ejemplo básico de una clase
class Coche:
# atributo de clase (comparte todas las instancias)
tipo = "vehículo de cuatro ruedas"
ruedas = 4
# método especial que es el que construye el objeto
# se llama automáticamente este método cuando creas la instancia
def __init__(self, marca, modelo, color):
# atributos de la instancia
self.marca = marca
self.modelo = modelo
self.color = color
def arrancar(self):
print(f"El coche {self.marca} {self.modelo} arrancó! 🚗")
mi_coche = Coche("Toyota", "Corolla", "rojo")
mi_coche.arrancar()
print(mi_coche.marca)
coche_de_pheralb = Coche("Ford", "Fiesta", "azul")
coche_de_pheralb.arrancar()
print(coche_de_pheralb.marca)
# Encapsulación: es ocultar los detalles internos de una clase y exponer solo la interfaz pública
# Crear una clase para llamar a la AI de OpenAI, DeepSeek O LO QUE SEA
import requests
class AI_API:
def __init__(self, api_key, url, model):
self.api_key = api_key
self.url = url
self.model = model
def call(self, prompt):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {self.api_key}"
}
data = {
"model": self.model,
"messages": [{"role": "user", "content": prompt}]
}
try:
response = requests.post(self.url, json=data, headers=headers)
res_json = response.json()
print(res_json["choices"][0]["message"]["content"])
except requests.exceptions.RequestException as e:
print(f"Error en la solicitud: {e}")
return None
print("\nOPEN_AI:")
openai_api = AI_API(OPENAI_KEY, "https://api.openai.com/v1/chat/completions", "gpt-4o-mini")
openai_api.call("Escribe un breve poema sobre la programación")
print("\nDEEPSEEK:")
deepseek_api = AI_API(DEEPSEEK_API_KEY, "https://api.deepseek.com/chat/completions", "deepseek-chat")
deepseek_api.call("Escribe un breve poema sobre la programación")