Python/ django
по всем вопросам @workakkk @itchannels_telegram - 🔥 все ит каналы @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - 📚 @pythonlbooks РКН: clck.ru/3FmxmM
Ko'proq ko'rsatish📈 Telegram kanali Python/ django analitikasi
Python/ django (@pythonl) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 58 385 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 2 244-o'rinni va Rossiya mintaqasida 10 292-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 58 385 obunachiga ega bo‘ldi.
03 Noyabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -242 ga, so‘nggi 24 soatda esa -32 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 6.00% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 3.06% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 3 501 marta ko‘riladi; birinchi sutkada odatda 1 784 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 18 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent github, claude, контекст, архитектура, api kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“по всем вопросам @workakkk
@itchannels_telegram - 🔥 все ит каналы
@ai_machinelearning_big_data -ML
@ArtificialIntelligencedl -AI
@datascienceiot - 📚
@pythonlbooks
РКН: clck.ru/3Fm...”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 04 Noyabr, 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.
# a
# / \
# b c
# / \
# d e
edges = {"a": ["c", "b"], "b": ["d", "e"], "c": [], "d": [], "e": []}
vertices = ["a", "b", "c", "d", "e"]
def topological_sort(start, visited, sort):
current = start
visited.append(current)
neighbors = edges[current]
for neighbor in neighbors:
if neighbor not in visited:
sort = topological_sort(neighbor, visited, sort)
sort.append(current)
if len(visited) != len(vertices):
for vertice in vertices:
if vertice not in visited:
sort = topological_sort(vertice, visited, sort)
return sort
if __name__ == "__main__":
sort = topological_sort("a", [], [])
print(sort)
▪Topological sorting
▪Топологическая сортировка
@pythonlsquares = []
for x in range(10):
squares.append(x**2)
print(squares)
2. Using Generators
with open('example.txt') as f:
for line in (line.strip() for line in f):
print(line)
3. Using the zip() function
names = ['Pippo', 'Pluto', 'Paperino']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f'{name} is {age} years old')
4. Using DefaultDict
from collections import defaultdict
s = 'hello world'
d = defaultdict(int)
for c in s:
d[c] += 1
print(d)
5. Using enumerate()
fruits = ['apple', 'banana', 'cherry']
for i, fruit in enumerate(fruits):
print(f'{i}: {fruit}')
▪Techniques to Write Better Python Code
▪Улучшение Python-кода
@pythonl# Using global variables
my_var = 42
def my_function():
global my_var
my_var += 1
return my_var
# Using local variables
def my_function2(my_var):
my_var += 1
return my_var
2. Avoid blocking I/O operations
Избегайте блокировки операций ввода/вывода
# Blocking I/O
import requests
response = requests.get('https://example.com')
print(response.text)
# Non-blocking I/O using asyncio
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
html = await fetch(session, 'https://example.com')
print(html)
asyncio.run(main())
3. Avoid using eval() and exec()
избегайте использования eval() и exec()
# Using eval() to execute code
my_var = '1 + 1'
result = eval(my_var)
# Using ast.literal_eval() to safely evaluate literals
import ast
my_var = '[1, 2, 3]'
result = ast.literal_eval(my_var)
4. Avoid using mutable default arguments
Избегайте использования изменяемых аргументов
# Using mutable default arguments
def my_function(my_list=[]):
my_list.append(1)
return my_list
result1 = my_function() # [1]
result2 = my_function() # [1, 1]
# Using immutable default arguments
def my_function2(my_list=None):
if my_list is None:
my_list = []
my_list.append(1)
return my_list
result3 = my_function2() # [1]
result4 = my_function2() # [1]
5. Avoid using *args and **kwargs excessively
Избегайте частого использования *args и **kwargs
def my_function(*args, **kwargs):
arg1 = args[0]
arg2 = kwargs.get('arg2', 'default_value')
return arg1, arg2
result = my_function('value1', arg2='value2')
# Using named arguments and default values
def my_function2(arg1, arg2='default_value'):
return arg
▪Article
▪10 самых распространенных ошибок Python
@pythonl$ pip install redis
import redis
# Create a Redis client
r = redis.Redis(host='localhost', port=6379, db=0)
# String Operations
r.set('mykey', 'Hello Redis!')
value = r.get('mykey')
print(value) # Output: b'Hello Redis!'
# List Operations
r.lpush('mylist', 'element1')
r.lpush('mylist', 'element2')
r.rpush('mylist', 'element3')
elements = r.lrange('mylist', 0, -1)
print(elements) # Output: [b'element2', b'element1', b'element3']
# Set Operations
r.sadd('myset', 'member1')
r.sadd('myset', 'member2')
r.sadd('myset', 'member3')
members = r.smembers('myset')
print(members) # Output: {b'member2', b'member1', b'member3'}
# Hash Operations
r.hset('myhash', 'field1', 'value1')
r.hset('myhash', 'field2', 'value2')
value = r.hget('myhash', 'field1')
print(value) # Output: b'value1'
# Sorted Set Operations
r.zadd('mysortedset', {'member1': 1, 'member2': 2, 'member3': 3})
members = r.zrange('mysortedset', 0, -1)
print(members) # Output: [b'member1', b'member2', b'member3']
# Delete a key
r.delete('mykey')
# Close the Redis connection
r.close()
▪Github
@pythonlstr_val = 'apples'
num_val = 42
print(f'{num_val} {str_val}') # 42 apples
2. Variable names
Apart from getting a variable's value, you can also get its name alongside the value.
str_val = 'apples'
num_val = 42
print(f'{str_val=}, {num_val = }') # str_val='apples', num_val = 42
3. Mathematical operations
Not syntactically unlike variable names, you can also perform mathematical operations in f-strings.
num_val = 42
print(f'{num_val % 2 = }') # num_val % 2 = 0
4. Printable representation
Apart from plain string interpolation, you might want to get the printable representation of a value.
str_val = 'apples'
print(f'{str_val!r}') # 'apples'
5. Number formatting
Numbers are a great candidate for this. If, for example, you want to trim a numeric value to two digits after the decimal, you can use the .2f format specifier.
price_val = 6.12658
print(f'{price_val:.2f}') # 6.13
6. Date formatting
Finally, dates can also be formatted the same way as numbers, using format specifiers. As usual, %Y denotes the full year, %m is the month and %d is the day of the month.
from datetime import datetime;
date_val = datetime.utcnow()
print(f'{date_val=:%Y-%m-%d}') # date_val=2021-07-09
▪String Formatting Best Practices
▪F-strings или как сделать код чуть более быстрым
@pythonl
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
user = User(name='John Doe', age=30)
2. Default Values
Define default values for your model fields.
class User(BaseModel):
name: str
age: int = 18 # Default value
3. Optional Fields
Mark fields as optional using the Optional type.
from typing import Optional
class User(BaseModel):
name: str
age: Optional[int] = None
4. Custom Validators
Create custom validators with the @validator decorator.
from pydantic import validator
class User(BaseModel):
name: str
age: int
@validator('age')
def validate_age(cls, value):
if value < 18:
raise ValueError('User must be 18+')
return value
5. Nested Models
Use Pydantic models to validate nested data structures.
class Address(BaseModel):
street: str
city: str
class User(BaseModel):
name: str
age: int
address: Address
6. Lists of Models
Handle lists of a specific model.
from typing import List
class User(BaseModel):
name: str
age: int
class UserList(BaseModel):
users: List[User]
7. Union Fields
Use Union to allow a field to be one of several types.
from typing import Union
class User(BaseModel):
identifier: Union[str, int]
8. Value Constraints
Impose constraints on values using Field.
from pydantic import Field
class User(BaseModel):
name: str
age: int = Field(..., gt=0, lt=120) # Greater than 0, less than 120
9. Aliases for Fields
Define aliases for model fields, which can be useful for fields that are Python keywords.
class User(BaseModel):
name: str
class_: str = Field(alias='class')
10. Recursive Models
Make models that can contain themselves.
from typing import Optional
class TreeNode(BaseModel):
value: int
left: Optional['TreeNode'] = None
right: Optional['TreeNode'] = None
TreeNode.update_forward_refs() # Resolve string annotations
@pythonlimport numpy as np
a = np.array([[1, 2, 1], [2, 2, 5]])
# get the rows whose all values are fewer than 3
mask_all = (a<3).all(axis=1)
print(a[mask_all])
"""
[[1 2 1]]
"""
mask_any = (a<3).any(axis=1)
print(a[mask_any])
"""
[[1 2 1]
[2 2 5]]
"""
▪Numpy docs
@pythonl$ pip install PyGithub
🖥 Github
📌 Документация
@pythonl