Bad-Coder
@Bad-Coder
Шарю в питоне как лох ой бох ой бог!

Можно считать это за тип данных?

Создал что-то на подобие char, как в других языках.
str, int, float, и так далее, это все типы данных.
Можно ли считать то что я написал, за тип данных?

char.py
from string import ascii_letters


__main__ = '__main__'


class char:
	letters = ...
	error = ...
	index_error = ...
	_version = ...
	_dev = ...
	_cache = ...

	def __init__(self, _char = ascii_letters, _char_index = 0):
		'''Create a char. \
			Returns char. \
				If no arguments given return 'a' from letters.\
					\n_char - char. \
					Default is ascii_letters.\
						\n_char_index - Choose char from string. \
						Default 0.\
							\nChar class have builtin methods.\
							\nType of data: char.\
							\nChar now in Python!\n\
							'''

		self._char_index = _char_index
		self.index_error = IndexError
		self.letters = ascii_letters
		self._cache = 'from shutil import rmtree\ntry:\trmtree(\'__pycache__\')\nexcept FileNotFoundError:\n\t...\n'
		exec(self._cache)

		try:
			if _char == '':
				self._char = self.letters[_char_index - _char_index]
			else:
				self._char = _char[_char_index]
		except self.index_error:
			_char_index -= _char_index
			self._char = _char[_char_index]

	def __str__(self):
		return self._char

	def char_upper(self):
		'''Upper char.'''
		return char(self._char.upper())

	def char_lower(self):
		'''Lower char.'''
		return char(self._char.lower())

	def chars(self):
		'''Get lenght of chars.'''
		return int(len(str(self._char)))

	def get_char(self):
		'''Get and print char.'''
		print(char(self._char))

	def is_char(self, _char):
		'''Is char.'''
		return bool(isinstance(_char, char))

	def must_be_char(self, _object, _arg):
		'''Must be char. If not char exception.'''
		if not self.is_char(_object): raise TypeError(self.error.replace('*.', str(_arg)))

	def replace(self, _on):
		'''Replace char.'''
		self.must_be_char(_on, '_on')
		self.error = 'Argument *. must be char.'
		return char(str(self._char).replace(self._char, str(_on)))

	def glue_chars(self, _first, _second):
		'''Glue chars. Allows interpolating two chars.'''
		self.must_be_char(_first, '_first')
		self.must_be_char(_second, '_second')
		return str(str(_first) + str(_second))

	def char_codes(self, _char = ...):
		'''Get char codes.'''
		codes = {}
		for enumerated, enumerated_letter in enumerate(list(self.letters)): codes.update({enumerated_letter: enumerated + 1})
		if _char == ...: return dict(codes)
		else: return codes[_char]

	def print_char(self, _char):
		'''Can only char.'''
		self.must_be_char(_char, '_char')
		print(_char)

	def _letters(self):
		'''Get letters.'''
		return str(char().letters)

	@property
	def version(self):
		'''Get version.'''
		self._version = '0.1'
		return str(self._version)

	@property
	def developer(self):
		'''Developer.'''
		self._dev = 'Ivan Perzhinsky'
		return str(self._dev)

	@property
	def __char__(self):
		'''Char at *.'''
		__CODE = __import__('random')
		_CODE = f'!{__CODE.randint(0, 9)}x{__CODE.randint(0, 9)}{__CODE.randint(0, 9)}{__CODE.randint(0, 9)}{__CODE.choice(self.letters)}{__CODE.choice(self.letters)}{__CODE.choice(self.letters)}{__CODE.randint(0, 9)}'
		_CHAR_AT = f'char at {_CODE}'
		del __CODE
		return str(_CHAR_AT)

	@property
	def __source__(self):
		'''Get source char.'''
		return char(self._char)

	@property
	def __index__(self):
		'''Index used in constructor.'''
		return int(self._char_index)

if __name__ != __main__:
	chars = {}
	for _char in list(char()._letters()): chars.update({_char: char(_char)})
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
sswwssww
@sswwssww
В Python любой класс можно считать за тип, и этот не исключение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы