Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
278 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
Отрисовка виджетов Tkinter методами .place() и .pack()


➡️ Метод pack()

Метод pack() используется для организации виджетов в блоках перед размещением их в родительском виджете. Когда виджеты упакованы, они автоматически изменяют размеры, чтобы поместиться в доступном пространстве. Метод pack() принимает несколько параметров, таких как side, fill, expand и anchor, которые можно использовать для управления позиционированием виджетов.

Вот пример использования метода pack() для позиционирования виджета кнопки:

import tkinter as tk

root = tk.Tk()

button = tk.Button(root, text="Нажми меня!")
button.pack(side="left", fill="both", expand=True, padx=10, pady=10)

root.mainloop()


В приведенном выше примере мы создаем виджет кнопки и упаковываем его слева в родительском виджете. Мы также устанавливаем параметры fill на both и expand на True, чтобы позволить виджету заполнить доступное пространство. Опции padx и pady добавляют отступы к виджету.

➡️ Метод place()

Метод place() используется для позиционирования виджетов в конкретных координатах внутри родительского виджета. В отличие от pack(), метод place() не автоматически изменяет размеры виджетов, что может усложнить создание отзывчивых макетов. Метод place() принимает несколько параметров, таких как x, y, width, height и anchor, которые можно использовать для управления позиционированием виджетов.

Вот пример использования метода place() для позиционирования виджета метки:

import tkinter as tk

root = tk.Tk()

label = tk.Label(root, text="Привет, мир!")
label.place(x=50, y=50)

root.mainloop()


В приведенном выше примере мы создаем виджет метки и размещаем его в координатах (50, 50) внутри родительского виджета.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Аналогично прошлому разбору: создаем класс A, который наследуем от типа str.
Соответственно, при создании объекта передаем туда текст, который хотим, чтобы был в нашем объекте (он будет являться строкой).

В нашем нашем случае будет: Python top

p.s. Если бы мы при создании объекта не передали текст, то а объекте/строке a лежал бы пустой текст "".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
5%
ab
62%
25
24%
a + b
7%
Error
2%
Не знаю
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Функция eval() получает на вход выражение, а возвращает результат этого выражения.
Сегодня постараюсь сделать пост на эту тему.

У нас идет вывод суммы а и b, а они были объявлены заранее обычным кодом.

a + b —> 5 + 20 —> 25
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

В переменную a заносим список из двух слов (разбили split'ом по пробелам) —> ['hello', 'world']

Далее берем a[0] —> 'hello'
Прибавляем a[1].capitalize() —> 'World'. (capitalize повышает регистр первой буквы, делая ее заглавной).

Не забываем соединить их и вывести —> helloWorld
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Функция eval() в Python


Функция eval() принимает строку, содержащую код Python, и выполняет его. Результат выполнения кода возвращается в качестве результата функции:

x = eval("2 + 2")
print(x) # Output: 4


Функция eval() может принимать переменные и использовать их в выражении:

x = 2
y = 3
print(eval("x + y")) # Output: 5
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Что выдаст код выше?
Anonymous Quiz
48%
1
26%
2
12%
a
14%
Error
0%
Не знаю
👍4
Где можно писать код на Python?


Ответ вас удивит, но везде, где можно писать!
Главное расширение потом поменять на .py ☺️

Ну а теперь разберем топ 3 популярных среди для разработки на Пайтоне.

➡️ PyCharm

PyCharm - это одна из самых популярных и мощных сред программирования для Python. Она разработана компанией JetBrains и доступна в двух версиях: бесплатной и платной. Бесплатная версия PyCharm Community Edition позволяет создавать проекты на Python, автоматически заполнять код, отлаживать приложения и многое другое. Платная версия PyCharm Professional Edition предоставляет дополнительные функции, такие как инструменты для разработки веб-приложений, машинного обучения и научных вычислений.

➡️ Jupyter Notebook

Jupyter Notebook - это интерактивная среда программирования, которая позволяет создавать и выполнять код в браузере. Она поддерживает различные языки программирования, в том числе Python. Jupyter Notebook позволяет создавать документы, которые содержат код, текст, изображения и графики, что делает ее отличным выбором для научных вычислений и визуализации данных.

➡️ Visual Studio Code

Visual Studio Code - это бесплатная среда программирования, которая поддерживает различные языки программирования, в том числе Python. Она разработана компанией Microsoft и имеет множество функций, таких как автозаполнение кода, отладка приложений, интеграция с системами контроля версий и многое другое. Visual Studio Code также имеет множество расширений, которые позволяют настроить среду программирования под ваши потребности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻


Вызываем функцию b, которая в return'e возвращает вызов функции a (то, что вернет функция a).

Функция a вернет 1 так как условие if 1 равносильно if True.

Ответ: 1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Сначала мы создаем кортеж в переменную b. (2, 3, 5, 6)
Далее мы кортеж приводим к типу кортежа (tuple) —> ничего не меняется.

Мы пытаемся удалить из кортежа элемент через метод .pop, НО кортеж не изменяется.
Должна была бы быть ошибка, но удаление находится внутри конструкции try-except, которая отлавливает ошибки и не дает коду "сломаться".

Далее мы просто выводим исходный кортеж.
Ответ: (2, 3, 5, 6)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2