Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
develop:python:docs [2024/05/20 12:38] mirocowdevelop:python:docs [2025/08/11 20:43] (текущий) 192.168.1.159
Строка 2: Строка 2:
  
 ====== Python - Документация ====== ====== Python - Документация ======
 +
 +===== Типы =====
 +
 +==== Числовые типы ====
 +
 +int (целые числа)
 +<code>
 +a = 10          # целое число
 +b = -256        # отрицательное целое
 +c = 0b1010      # двоичное число (10)
 +d = 0o12        # восьмеричное число (10)
 +e = 0xAF        # шестнадцатеричное число (175)
 +</code>
 +
 +float (вещественные числа)
 +<code>
 +x = 3.14        # обычное число с плавающей точкой
 +y = -0.001      # отрицательное число
 +z = 1.2e3       # экспоненциальная запись (1200.0)
 +</code>
 +
 +complex (комплексные числа)
 +<code>
 +c1 = 2 + 3j     # комплексное число
 +c2 = complex(1, -2)  # альтернативный способ создания
 +</code>
 +
 +==== Строковые типы ====
 +
 +str (строки)
 +<code>
 +text1 = 'Hello'     # одинарные кавычки
 +text2 = "World"     # двойные кавычки
 +text3 = '''Многострочный
 +текст'''
 +text4 = f"Имя: {name}"  # f-строка
 +text5 = r'C:\path'    # сырая строка
 +</code>
 +
 +==== Булевый тип ====
 +
 +<code>
 +is_true = True
 +is_false = False
 +</code>
 +
 +==== Коллекции ====
 +
 +
 +list (списки)
 +<code>
 +numbers = [1, 2, 3, 4, 5]
 +mixed = [1, 'text', 3.14]
 +</code>
 +
 +tuple (кортежи)
 +<code>
 +point = (10, 20)
 +colors = ('red', 'green', 'blue')
 +</code>
 +
 +dict (словари)
 +<code>
 +person = {'name': 'Анна', 'age': 25}
 +settings = dict(theme='dark', font_size=14)
 +</code>
 +
 +set (множества)
 +<code>
 +unique_numbers = {1, 2, 3, 4, 5}
 +letters = set('hello' # {'e', 'h', 'l', 'o'}
 +</code>
 +
 +==== Байтовые типы ====
 +
 +<code>
 +bytes
 +data = b'Hello'
 +binary = bytes([65, 66, 67])  # ABC в байтах
 +bytearray
 +arr = bytearray(b'Hello')
 +arr[0] = 72  # можно изменять
 +memoryview
 +mem = memoryview(b'Hello')
 +</code>
 +
 +==== Специальные типы ====
 +
 +<code>
 +NoneType
 +result = None
 +Ellipsis
 +ellipsis = ...
 +</code>
 +
 +===== Примеры операций с типами: =====
 +
 +# Преобразование типов
 +<code>
 +num = int('123'       # 123
 +float_num = float('3.14' # 3.14
 +text = str(123)         # '123'
 +</code>
 +
 +# Проверка типа
 +<code>
 +isinstance(10, int)     # True
 +type('Hello') == str    # True
 +</code>
 +
 +# Математические операции
 +<code>
 +a = 5 + 3              # 8
 +b = 10 / 2             # 5.0
 +c = 2 ** 3             # 8
 +</code>
 +
 +# Операции со строками
 +<code>
 +text = 'Hello' + 'World'  # 'HelloWorld'
 +length = len(text)       # 10
 +</code>
 +
 +# Работа со списками
 +<code>
 +numbers = [1, 2, 3]
 +numbers.append(4)       # [1, 2, 3, 4]
 +</code>
 +
 +# Работа со словарями
 +<code>
 +person = {'name': 'Анна'}
 +person['age'] = 25      # {'name': 'Анна', 'age': 25}
 +</code>
  
 ===== Логика ===== ===== Логика =====
Строка 10: Строка 144:
 </code> </code>
  
-===== Alchemy =====+===== SQLAlchemy =====
  
 <code python> <code python>
 nominations = await self._session.execute( nominations = await self._session.execute(
-            select(VotingAchievement).where( +  select(VotingAchievement).where( 
-                ~VotingAchievement.is_deleted, +    ~VotingAchievement.is_deleted, 
-                VotingAchievement.is_published, +    VotingAchievement.is_published, 
-                (VotingAchievement.uuid == nomination_id) if nomination_id else True, +    (VotingAchievement.uuid == nomination_id) if nomination_id else True, 
-            ).order_by(VotingAchievement.position).options( +  ).order_by(VotingAchievement.position).options( 
-                selectinload(VotingAchievement.icon), selectinload(VotingAchievement.preview) +    selectinload(VotingAchievement.icon), selectinload(VotingAchievement.preview) 
-            +  
-        )+)
                  
 for nomination in nominations.scalars().all(): for nomination in nominations.scalars().all():