Skip to content

Commit 164cb4d

Browse files
committed
add new file
1 parent e10bb71 commit 164cb4d

File tree

2 files changed

+106
-6
lines changed

2 files changed

+106
-6
lines changed

README.md

Lines changed: 99 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,29 @@
11
# Advanced_Python
2+
23
Python-ga chuqurroq sho'ng'ing va kodlash mahoratingizni oshiring.🟢📡
4+
35
# Python generatori:
46

57
• Iterator obyektini qaytaruvchi funksiyaning maxsus turi.
68
• Qo'ng'iroq qiluvchi tomonidan so'ralganda birma-bir qiymatlar ketma-ketligini ishlab chiqaradi.
7-
• Generatorlar ijroni to'xtatib turish va ketma-ketlikda keyingi qiymatni qaytarish uchun "yield" kalit so'zi yordamida aniqlanadi.
9+
• Generatorlar ijroni to'xtatib turish va ketma-ketlikda keyingi qiymatni qaytarish uchun "yield" kalit so'zi yordamida
10+
aniqlanadi.
811
• Bu xotiradan yanada samarali foydalanish imkonini beradi va cheksiz ketma-ketlikni yaratishi mumkin.
912

1013
Ilova qilingan gif python generatorlarini ko'rsatadi,
1114

12-
1315
https://github.com/themusharraf/Advanced_Python/assets/122869450/4813cbf1-54ad-4b07-8954-4f9eea043745
1416

15-
1617
# Decorator
18+
1719
Dekoratorlar yuqori darajadagi funktsiyalarni chaqirish uchun oddiy sintaksisni ta'minlaydi .
1820

19-
Ta'rifga ko'ra, dekorator boshqa funktsiyani qabul qiladigan va ikkinchi funktsiyaning harakatini aniq o'zgartirmasdan kengaytiradigan funktsiyadir.
21+
Ta'rifga ko'ra, dekorator boshqa funktsiyani qabul qiladigan va ikkinchi funktsiyaning harakatini aniq o'zgartirmasdan
22+
kengaytiradigan funktsiyadir.
2023

2124
Bu chalkash tuyuladi, lekin aslida unday emas, ayniqsa dekorativlar qanday ishlashiga oid bir nechta misollarni
2225
ko'rganingizdan keyin. Ushbu maqoladagi barcha misollarni bu erda topishingiz mumkin .
2326

24-
2527
def hello(name):
2628
# ichki funksiya
2729
def get_name():
@@ -38,7 +40,6 @@ ko'rganingizdan keyin. Ushbu maqoladagi barcha misollarni bu erda topishingiz mu
3840

3941
Decorator funksiya argument sifatida funksiya qabul qiladi.
4042

41-
4243
def make_decorator(func):
4344
def inner():
4445
# Ichki funksiya orqali func xususiyatlarini o'zgartirishimiz mumkin
@@ -59,6 +60,7 @@ Decorator funksiya argument sifatida funksiya qabul qiladi.
5960

6061
# Dekorator ishlayapti
6162
# Dekorator uchun ishlatiladigan funksiya
63+
6264
Bitta funksiyada bir nechta decorator ishlatishimiz ham mumkin, bunda birinchisidan boshlab decoratorlar ishlab keladi.
6365

6466
def divide_decorator(func):
@@ -89,3 +91,94 @@ Bitta funksiyada bir nechta decorator ishlatishimiz ham mumkin, bunda birinchisi
8991
print(divider(10, 5)) # 2.0
9092
print(divider(10, 0)) # 10.0
9193

94+
# typing modul
95+
96+
## Asosiy turlar
97+
98+
- `int`: Butun son
99+
- `float`: O'nli son
100+
- `bool`: Mantiqiy qiymat (True/False)
101+
- `str`: Matn
102+
103+
## Ro'yxatlar va Lug'atlar
104+
105+
- `List[int]`: Butun sonlardan iborat ro'yxat
106+
- `Dict[str, int]`: Kalitlari matn, qiymatlari butun son bo'lgan lug'at
107+
108+
## Union
109+
110+
### O'zgaruvchining bir nechta turda bo'lishi mumkinligini belgilash uchun Union dan foydalaniladi.
111+
112+
```python
113+
from typing import Union
114+
115+
116+
def foo(x: Union[int, str]) -> None:
117+
print(x)
118+
```
119+
120+
## Optional
121+
122+
### O'zgaruvchi ma'lum bir turda yoki None bo'lishi mumkinligini belgilash uchun Optional dan foydalaniladi.
123+
124+
```python
125+
from typing import Optional
126+
127+
128+
def foo(x: Optional[int]) -> None:
129+
print(x)
130+
```
131+
132+
## Tuple
133+
134+
### Aniq uzunlikdagi va ma'lum turlardagi elementlardan iborat tuple belgilash uchun Tuple dan foydalaniladi.
135+
136+
```python
137+
from typing import Tuple
138+
139+
140+
def foo(x: Tuple[int, float, str]) -> None:
141+
print(x)
142+
```
143+
144+
## Any
145+
146+
### Har qanday turdagi bo'lishi mumkin bo'lgan o'zgaruvchi belgilash uchun Any dan foydalaniladi.
147+
148+
```python
149+
from typing import Any
150+
151+
152+
def foo(x: Any) -> None:
153+
print(x)
154+
```
155+
156+
## Type Aliases
157+
158+
### Murakkab turlarni o'qilishi osonroq qilish uchun tur ta'riflari ishlatilishi mumkin.
159+
160+
```python
161+
from typing import List
162+
163+
Vector = List[float]
164+
165+
166+
def foo(v: Vector) -> None:
167+
print(v)
168+
```
169+
170+
## Misol
171+
172+
```python
173+
from typing import List, Dict, Union, Optional
174+
175+
176+
def process_data(data: List[Dict[str, Union[int, float]]]) -> Optional[float]:
177+
if not data:
178+
return None
179+
return sum(item['value'] for item in data) / len(data)
180+
```
181+
182+
## Xulosa
183+
184+
### typing moduli Python kodlaringizni tushunarliroq, qulayroq va xatolarni kamaytirish uchun juda foydali. Bu modul bilan yozilgan kodlar kelajakdagi o'zgarishlar uchun yanada aniqroq tuzilmani ta'minlaydi.

tay.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from typing import List, Dict, Union, Optional
2+
3+
4+
def process_data(data: List[Dict[str, Union[int, float]]]) -> Optional[float]:
5+
if not data:
6+
return None
7+
return sum(item['value'] for item in data) / len(data)

0 commit comments

Comments
 (0)