Cześć mam mega newbie pytanie , ale .. czuję że coś mi się miesza
mam klasę w pythonie:
class Foo(object):
atrybut1 = []
dict_file_details = {}
file_name = ()
file_type = ()
def Bar(self):
tmp_list={}
file_name = ("file_name","/etc") # tutaj jest przypisywany wynik funkcji
file_type = ('file_type', 'directory') # jak ww
...
tmp_list['file_details'] = [file_name, file_type]
Pytanie:
-
Chciałbym żeby funkcja Bar zwracała listę i troszkę miesza mi się temat hermetyzacji .. wiem, to podstawy, ale wydaję mi się, że potrzebuję krótkiej i zwięzłej informacji jaką zasadą się kierować podczas pisania klas/metod. Powinienem zrobić tak?:
```python
def Bar(self):
tmp_list={}
file_name = ("file_name","/etc") # tutaj jest przypisywany wynik funkcji
file_type = ('file_type', 'directory') # jak wwtmp_list['file_details'] = [file_name, file_type] return tmp_list ```
czy tak:
```python
def Bar(self):
self.file_name = file_name_a = ("file_name","/etc") # tutaj jest przypisywany wynik funkcji
self.file_type = file_type_b = ('file_type', 'directory') # jak wwself.dict_file_details['file_details'] = [file_name_a, file_type_b] # czy może zamiast file_name_a, file_type_b, powinienem uzyć bezpośrednio self.file_name,self.file_type return self.dict_file_details ```
2.Jaką zasadą się kierować , gdy inicjalizacje puste zmienne. Na razie kieruje się tym, jaki typ danych ma tam ostatecznie trafić czyli jak wiem, ze będzie lista , to tworze listę itd.