if ... if ... if ... print()
, а if ... elif ... elif ... else: print()
if c != "множення" and "додавання" and "віднімання" and "ділення" :
if x != 2 or 3:
эквивалентен if (x != 2) or (3 != 0):
, что, в свою очередь даёт if (x != 2) or True:
. А что угодно or True даст True, т.е. условие будет всегда выполняться.if x != 2 and x != 3:
или if x not in (2, 3):
Max number of daily application command creates has been reached
# import required libraries
from vidgear.gears import ScreenGear
import cv2
# open video stream with default parameters
stream = ScreenGear().start()
while True:
# read frames from stream
frame = stream.read()
# check for frame if Nonetype
if frame is None:
break
# {do something with the frame here}
# Show output window
cv2.imshow("Output Frame", frame)
# check for 'q' key if pressed
key = cv2.waitKey(1) & 0xFF
if key == ord("q"):
break
# close output window
cv2.destroyAllWindows()
# safely close video stream
stream.stop()
a = (sum(new_matrix[i]) for k in range(matrix_1_height))
for i in a
, и значения будут сгенерированы и получены - но если попробуешь тут же прогнать цикл ещё раз на том же выражении, то не получишь ничего.b = [sum(new_matrix[i]) for k in range(matrix_1_height)]
a = (sum(new_matrix[i]) for k in range(matrix_1_height))
b = list(a) # прогоняем генератор и превращаем его в список
tarot_list = [
('image1.jpg', 'Текст 1'),
('image2.jpg', 'Текст 2'),
]
image, text = random.choice(tarot_list)
await Bot.send_message(message.from_user.id, message.text)
class Test:
def test(self, x):
print(f"Я {self} и я получил {x}")
t = Test() # создаём экземпляр
t.test(42) # Я <__main__.Test object at 0x000001BB195CBC70> и я получил 42
# это тоже сработает, и это практически эквивалентно вызову выше
Test.test(t, 42) # Я <__main__.Test object at 0x000001BB195CBC70> и я получил 42
# а это - то, что попытался сделать ты:
Test.test(42) # TypeError: Test.test() missing 1 required positional argument: 'x'
# потому что вызван метод класса, а не объекта, и его первый параметр (42) интерпретирован как self
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True - списки имеют одинаковое содержимое
print(a is b) # False - a и b ссылаются на разные объекты-списки, а не на один и тот же.
a = 1
b = 1.0
print(isinstance(a, int), isinstance(a, float)) # True False - a это int, но не float
print(isinstance(b, int), isinstance(b, float)) # False True - b это не int, это float
print(isinstance(a, (int, float))) # True - a является чем-то из двух: или int, или float
photo=message.photo[0].file_id
поэтому о статическом литерале речи не идет
bot.send_photo(message.chat.id, photo, " Выберите нужную функцию:",
parse_mode="html", reply_markup=tg, info)
reply_markup=tg
- аргумент, переданный по имениinfo
- аргумент, переданный позиционно.reply_markup=
или parse_mode=
. text = """Текст слово Текст
Новая строка
Ещё новее строка"""
N = 12
start, rest = text[:N], text[N:] # отделяем ту часть текста, где мы ищем перевод строки, от остатка
first, _, second = text.rpartition('\n') # ищем последний перевод строки в этой части - до него "начало"
last = (second + rest) if second else rest # "конец" собираем из того что после перевода строки и остатка
print('-'*10)
print(first)
print('-'*10)
print(last)
print('-'*10)