__rtruediv__ или __truediv__

rud.vadim

Новичок
Пользователь
Дек 1, 2020
2
0
1
Доброго времени суток, господа!

Разбирался я с библиотекой pathlib, и там увидел очень интересный кусок кода:

Python:
from pathlib import Path
outpath = Path.cwd() / 'assets' / 'fonts' / 'arrial' / 'ArialMT.ttf'
current_dir = Path.cwd()



Как такое, через слеш в своем классе забабахать? Курение исходников ничего не дало. Спасибо, за ответы.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Как такое, через слеш в своем классе забабахать?
Вот пример:
Python:
import os


class Example:
    def __init__(self):
        self.path = os.getcwd()
        self.delimetr = '/' if os.name == 'posix' else '\\'

    def cwd(self):
        return self

    def __truediv__(self, arg):
        self.path += self.delimetr + arg
        return self

    def __str__(self):
        return self.path


e = Example()
x = e.cwd() / 'assets' / 'fonts' / 'arrial' / 'ArialMT.ttf'
print(x)
 
  • Мне нравится
Реакции: rud.vadim

rud.vadim

Новичок
Пользователь
Дек 1, 2020
2
0
1
Вот пример:
Python:
import os


class Example:
    def __init__(self):
        self.path = os.getcwd()
        self.delimetr = '/' if os.name == 'posix' else '\\'

    def cwd(self):
        return self

    def __truediv__(self, arg):
        self.path += self.delimetr + arg
        return self

    def __str__(self):
        return self.path


e = Example()
x = e.cwd() / 'assets' / 'fonts' / 'arrial' / 'ArialMT.ttf'
print(x)
Спасибо.
 

Форум IT Специалистов