Learn Python Coding
Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills. Admin: @HusseinSheikho || @Hussein_Sheikho
Ko'proq ko'rsatish📈 Telegram kanali Learn Python Coding analitikasi
Learn Python Coding (@pythonre) Ingliz til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 40 871 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 3 292-o'rinni va Hindiston mintaqasida 9 285-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 40 871 obunachiga ega bo‘ldi.
28 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 351 ga, so‘nggi 24 soatda esa -15 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 4.54% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 1.43% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 854 marta ko‘riladi; birinchi sutkada odatda 586 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 3 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent math, harvard, oxford, supervision, waybienad kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills.
Admin: @HusseinSheikho || @Hussein_Sheikho”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 29 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
datetime module. The now() method returns a datetime object representing the current date and time according to the system clock. The strftime() method formats the time for the desired output. This code shows how to use the datetime module together with the strftime() method to get a formatted time string in the format of hours, minutes, and seconds.
from datetime import datetime
time_now = datetime.now().strftime('%H:%M:%S')
print(f'Current time: {time_now}')
Current time: 17:37:28
What if we want to return today's date? We can use date from the datetime module. Below, the today() method is used:
from datetime import date
today_date = date.today()
print(today_date)
2023-09-20
👉 https://t.me/DataScience4calendar. We can import this module to display the calendar. There are many things you can do with the calendar.
Let's say we want to see the calendar for April 2022. We use the month class from the calendar module and pass the year and month as arguments. See below:
import calendar
month = calendar.month(2022, 4)
print(month)
There are many other things you can do with calendar. For example, you can use it to check whether a given year is a leap year or not. Let's check if 2022 is a leap year.
import calendar
month = calendar.isleap(2022)
print(month)
False
👉 https://t.me/DataScience4|) or the operator (**). Below we have two dictionaries: first_dict and second_dict. We will use these two methods to merge the dictionaries. Here's the code:
1️⃣ Using the merge operator (|)
first_dict = {"kelly": 23,
"Derick": 14, "John": 7}
second_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = first_dict | second_dict
print(combined_dict)
Output:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}
2️⃣ Method 2: using the merge operator (**)
With this operator, you need to put the dictionaries inside curly braces. In the code below, we "substitute" two dictionaries for merging using two operators *. Both dictionaries are enclosed in curly braces and separated by a comma.
first_dict = {"kelly": 23,
"Derick": 14, "John": 7}
second_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = {**first_dict, **second_dict}
print(combined_dict)
Output:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67>
👉 https://t.me/DataScience4pip install beautifulsoup4
2. Import
from bs4 import BeautifulSoup
import requests
3. Basic parsing
html_doc = "<html><body><p class='text'>Hello, world!</p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser') # or 'lxml', 'html5lib'
print(soup.p.text) # Hello, world!
4. Finding elements
# First found element
first_p = soup.find('p')
# Search by class or attribute
text_elem = soup.find('p', class_='text')
text_elem = soup.find('p', {'class': 'text'})
# All elements
all_p = soup.find_all('p')
all_text_class = soup.find_all(class_='text')
5. Working with attributes and text
a_tag = soup.find('a')
print(a_tag['href']) # value of the href attribute
print(a_tag.get_text()) # text inside the tag
print(a_tag.text) # alternative
6. Navigating the tree
# Moving to parent, children, siblings
parent = soup.p.parent
children = soup.ul.children
next_sibling = soup.p.next_sibling
# Finding the previous/next element
prev_elem = soup.find_previous('p')
next_elem = soup.find_next('div')
7. Parsing a real page
response = requests.get('https://example.com')
soup = BeautifulSoup(response.text, 'html. parser')
title = soup.title.text
links = [a['href'] for a in soup.find_all('a', href=True)]
8. CSS selectors
# More powerful and concise search
items = soup.select('div.content > p.text')
first_item = soup.select_one('a.button')
tags: #cheat_sheet #useful
➡ https://t.me/DataScience4frozendict will be "safe by design", because it prevents any unintended changes. This is useful not only for the CPython standard library, but also for third-party maintainers: you can rely on a reliable immutable dictionary type.
Why is this needed at all:
▪️Do you want to use a map as a key in another dict or put it in a set? A regular dict is not allowed, but a frozendict is (if the values are also hashable).
▪️ @functools.lru_cache() and arguments-dictionaries: it's difficult with a dict, but normal with a frozendict.
▪️Defaults in function arguments: instead of a "mutable default", you can give frozendict(...) and not get surprises.
How it looks in the API:
▪️The constructor "like a dict": frozendict(), frozendict(**kwargs), frozendict(mapping) or iterable pairs, plus you can mix with **kwargs.
▪️The order of insertion is preserved (as in a regular dict).
▪️The hash does not depend on the order of elements (logic via frozenset(items)), and the comparison is also based on the content, not on the order.
▪️There is a union via | and an "update" |= (but |= does not mutate the object, but creates a new one).
▪️.copy() in CPython essentially returns the same object (shallow), and if you need deep copying, then copy.deepcopy().
An important point: frozendict is NOT inherited from dict. This is done on purpose, so that you can't bypass the "immutability" by calling dict.__setitem__ and similar tricks.
And a bonus for the stdlib: the authors have marked places where you can replace constant/public maps with frozendict (including where MappingProxyType is now used).
👉 @DataScience4