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
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть класс a и функция a. Функция была создана позже, поэтому переменная была переопределена на функцию.

Но! В строке b = a(), мы присваиваем в переменную то, что функция вернет. А вернет она None.

Соответственно, ответ: NoneType
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
2%
30
45%
327
4%
3b
45%
Error
4%
Не знаю
👍4🤣1
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Говорим, что теперь тип данный str будем именовать еще и как a.
Дальше заводим переменную b со значением 27.

Ну и вывод a(3) + a(b) —> str(3) + str(b) —> '3' + '27' —> '327'

При сложении строк, они склеиваются.
Ответ: 327
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
18%
int
29%
class A
27%
0
20%
Error
6%
Не знаю
👍5
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Унаследовали в класс A класс int.

Далее создали объект, в который ничего не передали.
Если бы мы передали туда какое-то число, то на выходе получили бы это число.

Но так как ничего не передали —> получили 0.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Отрисовка виджетов 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