-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathjp_contato.py
More file actions
executable file
·59 lines (42 loc) · 1.46 KB
/
jp_contato.py
File metadata and controls
executable file
·59 lines (42 loc) · 1.46 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
import re
class Contato:
def __init__(self, nome="", telefone="", email=""):
self.nome = nome
self.telefone = telefone
self.email = email
# Se chamar print(objeto) irá imprimir conforme isso:
def __str__(self):
return "Nome: {}\nTelefone: {}\nE-mail: {}".format(self.nome,self.telefone, self.email)
def ligar(self):
print("Ligando para {} no número {}".format(self.nome,self.telefone))
# Uma função para ligar... (será q isso é tarefa do contato??)
# Se perguntar objeto.nome irá retornar isso:
@property
def nome(self):
return self._nome
# etc..
@property
def telefone(self):
return self._telefone
@property
def email(self):
return self._email
# Se fizer objeto.nome = "Bla" irá rodar isso:
@nome.setter
def nome(self, n):
self._nome = n
@telefone.setter
def telefone(self, tel):
self._telefone = tel
# Se fizer objeto.email = "email" ele irá verificar se o email é valido:
@email.setter
def email(self, em):
if not re.match(r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)", em):
self._email = ""
if em == "": # necessário caso crie um objeto vazio, para não mostrar o erro.
return False
print("Erro: E-mail inválido.")
return False
else:
self._email = em
return self._email