ODBC Driver 18 for SQL Server.server = 'Serv'
database = 'resource'
username = ''
password = ''
connectionString = f'DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={server};DATABASE={database};UID={username};PWD={password}'
cnxn = pyodbc.connect(connectionString)N = 18
R = 200
for _ in range(N):
turtle.circle(R, 360 / N)
time.sleep(0.1)turtle.pencolor("white").try:
from .wtf import stuff
except ImportError:
from wtf import stufffrom __init__ import *class Parent:
known_children = [] # список классов-потомков Parent
@staticmethod
def register(klass): # декоратор для регистрации классов-потомков
Parent.known_children.append(klass)
return klass
@classmethod
def can_handle(cls, data): # "эй, потомок, ты можешь себя создать из этих данных?"
raise NotImplementedError()
@staticmethod
def make(data): # создаёт экземпляр одного из потомков
for child in Parent.known_children:
if child.can_handle(data): # потомок согласился обработать данные?
return child(data) # вызываем конструктор класса-потомка
else: # относится к for ... in !
raise TypeError(f'Никто не знает, что делать с этим:\n{data!r}')
# тут остальная начинка класса
...
# а это пример потомка
@Parent.register # явная регистрация потомка через декоратор
# так удобнее, потому что так можно создавать промежуточных потомков,
# которые не будут реально использоваться - только в наследовании
class SomeChild(Parent):
@classmethod
def can_handle(cls, data):
return data.get('name', None) == 'SomeChild' # критерий для определения - наш случай или нет?
def __init__(self, data):
self.x = data['x']
self.y = data['y']
c = Parent.make({'name': 'SomeChild', 'x': 42, 'y': 69}) # создаст экземпляр SomeChild
print(c)
try:
Parent.make({'name': 'invalid'}) # потерпит неудачу
except TypeError as err:
print(err) import re
pattern = re.compile(r'^\d+\.\s+') # начало строки, 1+ цифра, точка, 1+ пробел
# re.compile() можно сделать один раз, а потом переиспользовать полученный pattern
text = '1. Салат 1'
result = pattern.sub('', text) # заменяем пустой строкой подходящие под шаблон части text
print(result) def setting(self):
self.server.check_currency()
...
self.setting()window1 = Kurz(), так как приложение уйдёт в рекурсивный вызов self.setting() и из него уже не вернётся.python3 bot.py, без activate и прочего, использует системное окружение.simpleDividers(n)[len(simpleDividers(n))+1]sets = [set() for _ in range(3)]
for s in sets:
print(id(s))1) Как мне использовать питон код в javascript коде сайта
2) Как я могу вносить изменения на работающую html страницу, аналогично работе javascript кода, написанного выше