Forwarded from Python заметки
--list и append()--
Списки являются изменяемыми, об изменяемых и неизменяемых данных поговорим позже.
А раз списки изменяемы, значит есть функция добавить, называется она append().
Пример:
mylist = [] # создаем пустой список.
print(mylist.append('s')) # выводим в консоль список, при этом добавляя элемент 's'.
Консоль:
>>> ['s']
Также можем добавлять несколько элементов.
Списки являются изменяемыми, об изменяемых и неизменяемых данных поговорим позже.
А раз списки изменяемы, значит есть функция добавить, называется она append().
Пример:
mylist = [] # создаем пустой список.
print(mylist.append('s')) # выводим в консоль список, при этом добавляя элемент 's'.
Консоль:
>>> ['s']
Также можем добавлять несколько элементов.
Forwarded from Python заметки
--Создание списка--
В предыдущих примерах мы создавали список, но одним способом, сегодня я расскажу 2 способа создать список.
1 способ:
mylist = []
Этим способом мы пользовались в предыдущих примерах. Этот способ заключается в том что, мы создаем список просто присвоив ему такие скобки [] .
2 способ:
mylist = list()
Этот способ заключается в том что, мы создаем список с использованием ключевого слова list. Тоесть мы создаем некую переменную (можно так сказать) и ее переделываем в список, сразу же на месте.
Образец:
mylist1 = ['abs']
mylist1 = list('abs')
Это два одинаковых списка.
Сами списки можно даже назвать так:
__ = []
Знак подчеркивания можно использовать в названии переменной, списка, словаря и т.д.
Но надо помнить что список и не только его, нельзя называть ключевыми словами: True, False, else, elif, finally, if, while, list и т.д. Также нельзя называть начиная с цифры, но можно называть начиная со знака подчеркивания - _ .
В предыдущих примерах мы создавали список, но одним способом, сегодня я расскажу 2 способа создать список.
1 способ:
mylist = []
Этим способом мы пользовались в предыдущих примерах. Этот способ заключается в том что, мы создаем список просто присвоив ему такие скобки [] .
2 способ:
mylist = list()
Этот способ заключается в том что, мы создаем список с использованием ключевого слова list. Тоесть мы создаем некую переменную (можно так сказать) и ее переделываем в список, сразу же на месте.
Образец:
mylist1 = ['abs']
mylist1 = list('abs')
Это два одинаковых списка.
Сами списки можно даже назвать так:
__ = []
Знак подчеркивания можно использовать в названии переменной, списка, словаря и т.д.
Но надо помнить что список и не только его, нельзя называть ключевыми словами: True, False, else, elif, finally, if, while, list и т.д. Также нельзя называть начиная с цифры, но можно называть начиная со знака подчеркивания - _ .
Forwarded from Python заметки
--модуль math и gcd()--
Модуль math это встроенная библиотека python, для вычислений простых и сложных.
Сегодня покажу как найти наибольший общий делитель, а выполняет эту команду функция gcd().
Пример:
import math
print(math.gcd(65, 780))
Консоль:
>>> 65
Нам сначала надо импортировать модуль а затем вывести нод, указав два числа в самой функции.
Модуль math это встроенная библиотека python, для вычислений простых и сложных.
Сегодня покажу как найти наибольший общий делитель, а выполняет эту команду функция gcd().
Пример:
import math
print(math.gcd(65, 780))
Консоль:
>>> 65
Нам сначала надо импортировать модуль а затем вывести нод, указав два числа в самой функции.
Forwarded from Python заметки
--Календарь--
Хотите вывести календарь опреденного месяца в консоль?
Если да, тогда я открою вам трюк!)
Самый простой способ!
1 шаг: импортировать библиотеку calendar.
2 шаг: в переменные указать год и номер месяца (сразу скажу, не обязательно в переменные).
3 шаг: вывести этот месяц года.
Пример:
import calendar
year = 2021
month = 12
print(calendar.month(year, month))
Вывод будет очень крутой, попробуйте! Всего три строчки кода не считая импортирование библиотеки.
Хотите вывести календарь опреденного месяца в консоль?
Если да, тогда я открою вам трюк!)
Самый простой способ!
1 шаг: импортировать библиотеку calendar.
2 шаг: в переменные указать год и номер месяца (сразу скажу, не обязательно в переменные).
3 шаг: вывести этот месяц года.
Пример:
import calendar
year = 2021
month = 12
print(calendar.month(year, month))
Вывод будет очень крутой, попробуйте! Всего три строчки кода не считая импортирование библиотеки.
Forwarded from Python заметки
--Сколько букв в строке--
Хотите посчитать сколько букв в строке, например букв 'а' в строке 3 штук, букв 'п' 5 штук и т.д.?
Тогда я покажу трюк, вы пишите всего одну строчку, не считая импорт библиотеки!)
Пример:
from collections import Counter
print(Counter('aabbdd'))
Вывод будет таким:
Counter({'a' : 2, 'b' : 2, 'd' : 2})
Отлично теперь мы знаем сколько определенных букв в строке.
'a' : 2 - это значит что букв 'а' в строке две
'b' : 2 - это значит что букв 'b' в строке две
И так далее...
Хотите посчитать сколько букв в строке, например букв 'а' в строке 3 штук, букв 'п' 5 штук и т.д.?
Тогда я покажу трюк, вы пишите всего одну строчку, не считая импорт библиотеки!)
Пример:
from collections import Counter
print(Counter('aabbdd'))
Вывод будет таким:
Counter({'a' : 2, 'b' : 2, 'd' : 2})
Отлично теперь мы знаем сколько определенных букв в строке.
'a' : 2 - это значит что букв 'а' в строке две
'b' : 2 - это значит что букв 'b' в строке две
И так далее...
Forwarded from Python заметки
--Текст в речь--
Привет всем! Наверное вам интересно преобразовать текст в речь и сохранить в файл с расширением .mp3
Давайте начнем!
Сначала нужно установить через командную строку модуль gtts
gtts в развернутом варианте - Google - Text - To - Speech
В командную строку пишем :
pip install gtts
И выполняем, после того как все установилось без ошибок мы приступаем к коду.
Код таков:
from gtts import gTTS
text = 'hello'
record = gTTS(text, lang='ru')
record.save('mynewaudio.mp3') # сохраняем в новый файл
Мы можем сохранить новый файл под любым именем.
Привет всем! Наверное вам интересно преобразовать текст в речь и сохранить в файл с расширением .mp3
Давайте начнем!
Сначала нужно установить через командную строку модуль gtts
gtts в развернутом варианте - Google - Text - To - Speech
В командную строку пишем :
pip install gtts
И выполняем, после того как все установилось без ошибок мы приступаем к коду.
Код таков:
from gtts import gTTS
text = 'hello'
record = gTTS(text, lang='ru')
record.save('mynewaudio.mp3') # сохраняем в новый файл
Мы можем сохранить новый файл под любым именем.
Forwarded from Python заметки
--Скриншоты--
Скрины это круто, но как сделать его?
Об этом я и расскажу.
Для начала проинсталлируем модуль pyscreenshot
Для этого открываем командную строку и пишем:
pip install pyscreenshot
Затем в редакторе кода пишем код:
from pyscreenshot import *
image = grab()
image.save('my_image.png')
В конце мы сохранили этот скрин в формате '.png'
Можно сохранять новый скрин под любым именем, но главное в конце оставить '.png'.
После выполнения этого кода, скрин сохраниться в папке где у вас расположен этот файл с этим кодом!
Скрины это круто, но как сделать его?
Об этом я и расскажу.
Для начала проинсталлируем модуль pyscreenshot
Для этого открываем командную строку и пишем:
pip install pyscreenshot
Затем в редакторе кода пишем код:
from pyscreenshot import *
image = grab()
image.save('my_image.png')
В конце мы сохранили этот скрин в формате '.png'
Можно сохранять новый скрин под любым именем, но главное в конце оставить '.png'.
После выполнения этого кода, скрин сохраниться в папке где у вас расположен этот файл с этим кодом!
Forwarded from Python заметки
--Замена в строках--
Чтобы заменить в строке определенный элемент на что-то, существует команда replace().
Давайте проверим:
linestr = 'Привет мир!'
newline = linestr.replace('Привет', 'Пока')
print(newline)
Вывод:
Пока мир!
В функции replace мы заменили 'Привет' на 'Пока' указав два параметра в этой функции.
Потренируйтесь...
Также можно в этой функции задать третий параметр, но об этом чуть позже.
Чтобы заменить в строке определенный элемент на что-то, существует команда replace().
Давайте проверим:
linestr = 'Привет мир!'
newline = linestr.replace('Привет', 'Пока')
print(newline)
Вывод:
Пока мир!
В функции replace мы заменили 'Привет' на 'Пока' указав два параметра в этой функции.
Потренируйтесь...
Также можно в этой функции задать третий параметр, но об этом чуть позже.
Forwarded from Python заметки
--Замена в строках 2--
Помните я обещал рассказать в предыдущем посту 'замена в строках' об 3 аргументе, который принимает функция replace().
И так replace() принимает третий аргумент а именно сколько таких слов заменить на это слово ( <= если переводить более точно).
Пример:
linestr = 'run run run'
newline = replace('run', 'no')
Но результат будет таким:
>>> no no no
Но если мы добавим третий аргумент, определение которого я дал чуть выше этого поста, то мы исправим это.
Например мы хотим чтобы только два слова 'run' в строке изменились а последнее осталось.
Тогда:
linestr = 'run run run'
newline = replace('run', 'no', 2)
Результат:
>>> no no run
Поясню:
Мы добавили третий аргумент а именно цифру 2, и таким образом изменили только 2 слова 'run' на 'no'.
Что видно из примера выше.
Помните я обещал рассказать в предыдущем посту 'замена в строках' об 3 аргументе, который принимает функция replace().
И так replace() принимает третий аргумент а именно сколько таких слов заменить на это слово ( <= если переводить более точно).
Пример:
linestr = 'run run run'
newline = replace('run', 'no')
Но результат будет таким:
>>> no no no
Но если мы добавим третий аргумент, определение которого я дал чуть выше этого поста, то мы исправим это.
Например мы хотим чтобы только два слова 'run' в строке изменились а последнее осталось.
Тогда:
linestr = 'run run run'
newline = replace('run', 'no', 2)
Результат:
>>> no no run
Поясню:
Мы добавили третий аргумент а именно цифру 2, и таким образом изменили только 2 слова 'run' на 'no'.
Что видно из примера выше.
Forwarded from Python заметки
--Заглушка в коде--
В ходе выполнения процесса
pass игнорируется, а значит его можно использовать в качестве заглушки.
Например:
def fun():
pass
Это очень помогает когда мы хотим навремя 'забыть' об функции как в нашем примере и запустить код без ошибки.
В ходе выполнения процесса
pass игнорируется, а значит его можно использовать в качестве заглушки.
Например:
def fun():
pass
Это очень помогает когда мы хотим навремя 'забыть' об функции как в нашем примере и запустить код без ошибки.
Forwarded from Python заметки
--Tkinter окно--
Tkinter - это библиотека, с помощью которой можно создать графический интерфейс, например: для игры или мессенджера.
Но всегда сначала нужно создать окно, где будет что-то происходить.
Для этого пишем импортируем саму библиотеку:
>>> from tkinter import *
>>> root = Tk() # создаем окно
>>>
>>> root.mainloop() # это обязательно пишем, иначе окно после запуска кода сразу закроется...
Вот мы и создали окно, можно задать размеры окна, вот так:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300') # задаем размеры окна**
>>>
>>> root.mainloop()
**в данном случае мы задали 300 на 300, а значит у нас будет квадратное окошко.
Tkinter - это библиотека, с помощью которой можно создать графический интерфейс, например: для игры или мессенджера.
Но всегда сначала нужно создать окно, где будет что-то происходить.
Для этого пишем импортируем саму библиотеку:
>>> from tkinter import *
>>> root = Tk() # создаем окно
>>>
>>> root.mainloop() # это обязательно пишем, иначе окно после запуска кода сразу закроется...
Вот мы и создали окно, можно задать размеры окна, вот так:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300') # задаем размеры окна**
>>>
>>> root.mainloop()
**в данном случае мы задали 300 на 300, а значит у нас будет квадратное окошко.
Forwarded from Python заметки
--Tkinter текст в окне--
Мы научились создавать окно, давайте теперь научимся отображать текст в окне.
Приступим, сначала как всегда создаем окно:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>>
>>>
>>> root.mainloop()
Теперь нам нужно нарисовать текст, но для этого нам понадобится холст.
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> root.mainloop()
И так мы добавили функцию Canvas().
Положив ее в переменную для удобства в использовании.
Теперь создадим сам текст на холсте.
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100,100,text='Hello world!')
>>>
>>>
>>> root.mainloop()
Поздравляю мы нарисовали текст в окне! Также можно задать шрифт и размер, но об этом чуть позже...
Мы научились создавать окно, давайте теперь научимся отображать текст в окне.
Приступим, сначала как всегда создаем окно:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>>
>>>
>>> root.mainloop()
Теперь нам нужно нарисовать текст, но для этого нам понадобится холст.
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> root.mainloop()
И так мы добавили функцию Canvas().
Положив ее в переменную для удобства в использовании.
Теперь создадим сам текст на холсте.
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100,100,text='Hello world!')
>>>
>>>
>>> root.mainloop()
Поздравляю мы нарисовали текст в окне! Также можно задать шрифт и размер, но об этом чуть позже...
Forwarded from Python заметки
--Задержка--
Задержка в коде - эту тему должен знать каждый питонист!
Для этого мы импортируем библиотеку time
>>> from time import *
А затем указываем функцию sleep()
Например:
>>> sleep(2)
Но запустив этот код программа будет ждать 2 секунды и закончиться...
Давайте рассмотрим настоящий пример:
>>> from time import *
>>> sleep(2)
>>>
>>> print('2 сек. прошло!')
Когда запустим этот код то программа подождет 2 секунды и только потом напечатает в консоль '2 сек. прошло!'
Задержка в коде - эту тему должен знать каждый питонист!
Для этого мы импортируем библиотеку time
>>> from time import *
А затем указываем функцию sleep()
Например:
>>> sleep(2)
Но запустив этот код программа будет ждать 2 секунды и закончиться...
Давайте рассмотрим настоящий пример:
>>> from time import *
>>> sleep(2)
>>>
>>> print('2 сек. прошло!')
Когда запустим этот код то программа подождет 2 секунды и только потом напечатает в консоль '2 сек. прошло!'
Forwarded from Python заметки
--Tkinter текст в окне 2--
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100,100,text='Hello world!')
>>>
>>>
>>> root.mainloop()
Выше фрагмент кода, который мы использовали в предыдущей части этой темы.
Теперь научимся менять шрифт, размер и тип нарисованного на холсте текста.
Для этого достаточно дописать этот фрагмент внутрь функции create_text().
>>> font=('Sans Serif', 10, 'bold')
Допишем его:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100, 100, text='Hello world!', font = ('Sans Serif', 10, 'bold'))
>>> canvas.pack()
>>>
>>> root.mainloop()
Первый аргумент это название шрифта, в нашем примере это Sans Serif, но можно поменять на другой.
Второй аргумент это размер, в нашем примере это 10.
Третий аргумент это тип, в нашем примере это bold**.
**bold - жирный шрифт, а normal - обычный, и его можно использовать вместо bold.
Ура! Мы научились хорошо работать с текстом в окне tkinter!
В следующий раз рассмотрим: как изменить цвет текста, а также создание кнопок и вызов функции нажав на них.
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100,100,text='Hello world!')
>>>
>>>
>>> root.mainloop()
Выше фрагмент кода, который мы использовали в предыдущей части этой темы.
Теперь научимся менять шрифт, размер и тип нарисованного на холсте текста.
Для этого достаточно дописать этот фрагмент внутрь функции create_text().
>>> font=('Sans Serif', 10, 'bold')
Допишем его:
>>> from tkinter import *
>>> root = Tk()
>>> root.geometry('300x300')
>>>
>>> canvas = Canvas(root, width=300, height=300)
>>>
>>> canvas.create_text(100, 100, text='Hello world!', font = ('Sans Serif', 10, 'bold'))
>>> canvas.pack()
>>>
>>> root.mainloop()
Первый аргумент это название шрифта, в нашем примере это Sans Serif, но можно поменять на другой.
Второй аргумент это размер, в нашем примере это 10.
Третий аргумент это тип, в нашем примере это bold**.
**bold - жирный шрифт, а normal - обычный, и его можно использовать вместо bold.
Ура! Мы научились хорошо работать с текстом в окне tkinter!
В следующий раз рассмотрим: как изменить цвет текста, а также создание кнопок и вызов функции нажав на них.
Forwarded from Python заметки
--2 лайфхака--
В этом посте я расскажу об
двух лайфхаках который вам не
расскажут на курсах!
_1_
И так в python есть встроенная
функция, а именно istitle(), которая возвращает True если первая буква
в строке заглавная, и аналогично
возвращает False, если первая буква в строке не заглавная.
Рассмотрим пример:
>>> a = 'This is a string'
>>> print(a.istitle())
>>>
Вывод таков:
>>> True
_2_
Функция isdigit(), возвращает True,
если все символы в строке
являются цифрами, возвращает
False если есть цифра и буква.
Пример:
>>> a = 'python3'
>>> print(a.isdigit())
>>>
Вывод:
>>> False
Можно попробовать наоборот
например задать строку '123', тогда конечно будет True, так
как все символы это цифры.
И так мы рассмотрели 2 лайфхака которые не рассказывают на
большинства курсах и вебинарах.
В этом посте я расскажу об
двух лайфхаках который вам не
расскажут на курсах!
_1_
И так в python есть встроенная
функция, а именно istitle(), которая возвращает True если первая буква
в строке заглавная, и аналогично
возвращает False, если первая буква в строке не заглавная.
Рассмотрим пример:
>>> a = 'This is a string'
>>> print(a.istitle())
>>>
Вывод таков:
>>> True
_2_
Функция isdigit(), возвращает True,
если все символы в строке
являются цифрами, возвращает
False если есть цифра и буква.
Пример:
>>> a = 'python3'
>>> print(a.isdigit())
>>>
Вывод:
>>> False
Можно попробовать наоборот
например задать строку '123', тогда конечно будет True, так
как все символы это цифры.
И так мы рассмотрели 2 лайфхака которые не рассказывают на
большинства курсах и вебинарах.
Forwarded from Python заметки
--Код моей игры Кликер--
from tkinter import Tk, Canvas, PhotoImage, Button, Label
from tkinter import ttk
class Root(Tk):
def __init__(self):
super().__init__()
self.i = 0
self.canvas = Canvas(bg='red')
self.canvas.place(relx=0,rely=0)
self.b1 = PhotoImage(file='coin_PNG36868-removebg-preview___копия-removebg-preview.png')
self.button = Button(self, image=self.b1, bd=0, command=self.animation, bg='red')
self.button.pack()
self.label = Label(text="Вы еще не нажимали кнопку")
self.label.place(relx=0.5, rely=0.3, anchor='c')
self.label['bg'] = 'blue'
self.pb = ttk.Progressbar(orient='horizontal', mode="determinate", length=300)
self.pb.place(relx=0.5, rely=0.4,anchor='c')
self.pb["value"] = 0
def animation(self):
self.i += 1
if self.i > 100:
self.label["text"] = f'Вы нажали кнопку 100 раз. Вы выиграли!.'
return
self.pb["value"] = self.i
self.label["text"] = f'Вы нажали кнопку {self.i} раз.'
root = Root()
root.title('Game_clicker_python')
root.geometry("300x300")
root.configure(background='red')
root.mainloop()
from tkinter import Tk, Canvas, PhotoImage, Button, Label
from tkinter import ttk
class Root(Tk):
def __init__(self):
super().__init__()
self.i = 0
self.canvas = Canvas(bg='red')
self.canvas.place(relx=0,rely=0)
self.b1 = PhotoImage(file='coin_PNG36868-removebg-preview___копия-removebg-preview.png')
self.button = Button(self, image=self.b1, bd=0, command=self.animation, bg='red')
self.button.pack()
self.label = Label(text="Вы еще не нажимали кнопку")
self.label.place(relx=0.5, rely=0.3, anchor='c')
self.label['bg'] = 'blue'
self.pb = ttk.Progressbar(orient='horizontal', mode="determinate", length=300)
self.pb.place(relx=0.5, rely=0.4,anchor='c')
self.pb["value"] = 0
def animation(self):
self.i += 1
if self.i > 100:
self.label["text"] = f'Вы нажали кнопку 100 раз. Вы выиграли!.'
return
self.pb["value"] = self.i
self.label["text"] = f'Вы нажали кнопку {self.i} раз.'
root = Root()
root.title('Game_clicker_python')
root.geometry("300x300")
root.configure(background='red')
root.mainloop()
Forwarded from Python заметки
--random--
Модуль random генирирует случайные величины.
random.random - генерируем число с плавающей точкей от 0.0 до 1.0
random.randint - гененерируем целое число в заданном диапазоне.
random.randrange - генерируем целое числов в диапазоне, при этом можем задавать шаг генерации.
random.uniform - генерируем случайное число с плавающей точкой в диапазоне.
Примеры:
>>> from random import *
>>>
>>> print(random())
>>> print(randint(1, 4))
>>>print(randrange(2, 10, 2))
>>> print(uniform(1.0, 2.0))
>>>
Вывод будет случайный...
Модуль random генирирует случайные величины.
random.random - генерируем число с плавающей точкей от 0.0 до 1.0
random.randint - гененерируем целое число в заданном диапазоне.
random.randrange - генерируем целое числов в диапазоне, при этом можем задавать шаг генерации.
random.uniform - генерируем случайное число с плавающей точкой в диапазоне.
Примеры:
>>> from random import *
>>>
>>> print(random())
>>> print(randint(1, 4))
>>>print(randrange(2, 10, 2))
>>> print(uniform(1.0, 2.0))
>>>
Вывод будет случайный...
Forwarded from Python заметки
--format()--
Метод format() форматирует строки python
Формат читает тип переданных аргументов и форматирует строку в соответствии с кодами форматирования в строке.
Несколько примеров:
print('Hello {}{}'.format('world', '!'))
print('Hello {1}{0}'.format('!', 'world'))
print('Hello {a}{b}'.format(a='world', b='!'))
>>>
Hello world!
Hello world!
Hello world!
Метод format() форматирует строки python
Формат читает тип переданных аргументов и форматирует строку в соответствии с кодами форматирования в строке.
Несколько примеров:
print('Hello {}{}'.format('world', '!'))
print('Hello {1}{0}'.format('!', 'world'))
print('Hello {a}{b}'.format(a='world', b='!'))
>>>
Hello world!
Hello world!
Hello world!
Forwarded from Python заметки
-- f-строки --
f-строки являются строковыми литералами с «f» в начале и фигурные скобки, содержащие выражения, которые в дальнейшем будут заменены своими значениями.
например:
name = 'Eric'
age = 25
print(f'Hello, {name}. You are {age}.')
>>>
Hello, Eric. You are 25.
f-строки являются строковыми литералами с «f» в начале и фигурные скобки, содержащие выражения, которые в дальнейшем будут заменены своими значениями.
например:
name = 'Eric'
age = 25
print(f'Hello, {name}. You are {age}.')
>>>
Hello, Eric. You are 25.
Forwarded from Python заметки
Используйте f-строки.
Во первых, они делают конкатенацию на несколько мс быстрее чем знак +.
Во вторых, пишется быстрее и код выглядет понятнее.
Во первых, они делают конкатенацию на несколько мс быстрее чем знак +.
Во вторых, пишется быстрее и код выглядет понятнее.
Forwarded from Python заметки
Наверное надоело
прописывать длинную строку, проверяя каждый раз...
Почему бы не использовать
упрощенный вариант?
прописывать длинную строку, проверяя каждый раз...
Почему бы не использовать
упрощенный вариант?