Python заметки
70 subscribers
70 photos
7 files
35 links
Download Telegram
Forwarded from Python заметки
--Создание списка--

В предыдущих примерах мы создавали список, но одним способом, сегодня я расскажу 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

Нам сначала надо импортировать модуль а затем вывести нод, указав два числа в самой функции.
Forwarded from Python заметки
--Календарь--

Хотите вывести календарь опреденного месяца в консоль?

Если да, тогда я открою вам трюк!)

Самый простой способ!

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' в строке две

И так далее...
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') # сохраняем в новый файл

Мы можем сохранить новый файл под любым именем.
Forwarded from Python заметки
--Скриншоты--

Скрины это круто, но как сделать его?
Об этом я и расскажу.

Для начала проинсталлируем модуль 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 мы заменили 'Привет' на 'Пока' указав два параметра в этой функции.

Потренируйтесь...

Также можно в этой функции задать третий параметр, но об этом чуть позже.
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'.
Что видно из примера выше.
Forwarded from Python заметки
--Заглушка в коде--

В ходе выполнения процесса
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, а значит у нас будет квадратное окошко.
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()

Поздравляю мы нарисовали текст в окне! Также можно задать шрифт и размер, но об этом чуть позже...
Forwarded from Python заметки
--Задержка--

Задержка в коде - эту тему должен знать каждый питонист!

Для этого мы импортируем библиотеку 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!
В следующий раз рассмотрим: как изменить цвет текста, а также создание кнопок и вызов функции нажав на них.
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 лайфхака которые не рассказывают на
большинства курсах и вебинарах.
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()
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))
>>>

Вывод будет случайный...
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!
Forwarded from Python заметки
-- f-строки --

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 заметки
Наверное надоело
прописывать длинную строку, проверяя каждый раз...
Почему бы не использовать
упрощенный вариант?