Skip to content

Commit 1280f9c

Browse files
committed
add first example in farsi
1 parent ed79efd commit 1280f9c

1 file changed

Lines changed: 31 additions & 29 deletions

File tree

translations/fa-farsi/README.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@
4242
- [فهرست مطالب](#فهرست-مطالب)
4343
- [ساختار مثال‌ها](#structure-of-the-examples)
4444
- [استفاده](#استفاده)
45-
- [👀 Examples](#-examples)
46-
- [Section: Strain your brain!](#section-strain-your-brain)
47-
- [First things first! \*](#-first-things-first-)
48-
- [💡 Explanation](#-explanation)
45+
- [👀 مثال‌ها](#-مثال‌ها)
46+
- [بخش: ذهن خود را به چالش بکشید!](#بخش-ذهن-خود-را-به-چالش-بکشید)
47+
- [اول از همه! \*](#-اول-از-همه-)
48+
- [💡 توضیحات](#-توضیحات)
4949
- [▶ بعضی وقت‌ها رشته‌ها می‌توانند دردسرساز شوند](#-بعضی-وقتها-رشتهها-میتوانند-دردسرساز-شوند)
5050
- [💡 Explanation:](#-explanation-1)
5151
- [▶ Be careful with chained operations](#-be-careful-with-chained-operations)
@@ -234,16 +234,16 @@
234234
- اگه می‌دونید، به افتخار خودتون یه دست محکم بزنید و برید سراغ مثال بعدی.
235235
---
236236
237-
# 👀 Examples
237+
# 👀 مثال‌ها
238238
239-
## Section: Strain your brain!
239+
## بخش: ذهن خود را به چالش بکشید!
240240
241-
### ▶ First things first! *
241+
### ▶ اول از همه! *
242242
243243
<!-- Example ID: d3d73936-3cf1-4632-b5ab-817981338863 -->
244244
<!-- read-only -->
245245
246-
For some reason, the Python 3.8's "Walrus" operator (`:=`) has become quite popular. Let's check it out,
246+
به دلایلی، عملگر "Walrus" (`:=`) که در نسخه ۳.۸ پایتون معرفی شد، خیلی محبوب شده. بیاید بررسیش کنیم.
247247
248248
1\.
249249
@@ -260,7 +260,7 @@ File "<stdin>", line 1
260260
^
261261
SyntaxError: invalid syntax
262262
263-
>>> (a := "wtf_walrus") # This works though
263+
>>> (a := "wtf_walrus") # ولی این کار می‌کنه
264264
'wtf_walrus'
265265
>>> a
266266
'wtf_walrus'
@@ -280,19 +280,19 @@ SyntaxError: invalid syntax
280280
>>> a
281281
6
282282

283-
>>> a, b = 6, 9 # Typical unpacking
283+
>>> a, b = 6, 9 # باز کردن معمولی
284284
>>> a, b
285285
(6, 9)
286-
>>> (a, b = 16, 19) # Oops
286+
>>> (a, b = 16, 19) # آخ آخ
287287
File "<stdin>", line 1
288288
(a, b = 16, 19)
289289
^
290290
SyntaxError: invalid syntax
291291

292-
>>> (a, b := 16, 19) # This prints out a weird 3-tuple
292+
>>> (a, b := 16, 19) # این یه تاپل ۳تایی چاپ می‌کنه رو صفحه
293293
(6, 16, 19)
294294

295-
>>> a # a is still unchanged?
295+
>>> a # هنوز تغییر نکرده؟
296296
6
297297

298298
>>> b
@@ -301,61 +301,63 @@ SyntaxError: invalid syntax
301301

302302

303303

304-
#### 💡 Explanation
304+
#### 💡 توضیحات
305305

306-
**Quick walrus operator refresher**
306+
**مرور سریع بر عملگر Walrus**
307307

308-
The Walrus operator (`:=`) was introduced in Python 3.8, it can be useful in situations where you'd want to assign values to variables within an expression.
308+
عملگر Walrus همونطور که اشاره شد، در نسخه ۳.۸ پایتون معرفی
309+
شد. این عملگر می‌تونه تو مقعیت‌هایی کاربردی باشه که شما می‌خواید داخل یه عبارت، مقادیری رو به متغیرها اختصاص بدید
309310

310311
```py
311312
def some_func():
312-
# Assume some expensive computation here
313+
# فرض کنید اینجا یک سری محاسبه سنگین انجام میشه
313314
# time.sleep(1000)
314315
return 5
315316

316-
# So instead of,
317+
# پس به جای اینکه این کارو بکنید:
317318
if some_func():
318-
print(some_func()) # Which is bad practice since computation is happening twice
319+
print(some_func()) # که خیلی راه نادرستیه چون محاسبه دوبار انجام میشه
319320

320-
# or
321+
# یا حتی این کارو کنید (که کار بدی هم نیست)
321322
a = some_func()
322323
if a:
323324
print(a)
324325

325-
# Now you can concisely write
326+
# می‌تونید از این به بعد به طور مختصر بنویسید:
326327
if a := some_func():
327328
print(a)
329+
328330
```
329331

330-
**Output (> 3.8):**
332+
**خروجی (+۳.۸):**
331333

332334
```py
333335
5
334336
5
335337
5
336338
```
337339

338-
This saved one line of code, and implicitly prevented invoking `some_func` twice.
340+
این باعث میشه که یک خط کمتر کد بزنیم و از دوبار فراخوندن `some_func` جلوگیری کرد.
339341

340-
- Unparenthesized "assignment expression" (use of walrus operator), is restricted at the top level, hence the `SyntaxError` in the `a := "wtf_walrus"` statement of the first snippet. Parenthesizing it worked as expected and assigned `a`.
342+
- "عبارت اختصاص‌دادن مقدار" بدون پرانتز (نحوه استفاده عملگر Walrus)، در سطح بالا محدود است، `SyntaxError` در عبارت `a := "wtf_walrus"` در قطعه‌کد اول به همین دلیل است. قرار دادن آن داخل پرانتز، همانطور که می‌خواستیم کار کرد و مقدار را به `a` اختصاص داد.
341343

342-
- As usual, parenthesizing of an expression containing `=` operator is not allowed. Hence the syntax error in `(a, b = 6, 9)`.
344+
- به طور معمول، قرار دادن عبارتی که دارای `=` است داخل پرانتز مجاز نیست. به همین دلیل ‍عبارت `(a, b = 6, 9)` به ما خطای سینتکس داد.
343345

344-
- The syntax of the Walrus operator is of the form `NAME:= expr`, where `NAME` is a valid identifier, and `expr` is a valid expression. Hence, iterable packing and unpacking are not supported which means,
346+
- قائده استفاده از عملگر Walrus به صورت `NAME:= expr` است، به طوری که `NAME` یک شناسه صحیح و `expr` یک عبارت صحیح است. به همین دلیل باز و بسته کردن با تکرار (iterable) پشتیبانی نمی‌شوند. پس،
345347

346-
- `(a := 6, 9)` is equivalent to `((a := 6), 9)` and ultimately `(a, 9) ` (where `a`'s value is 6')
348+
- عبارت `(a := 6, 9)` معادل عبارت `((a := 6), 9)` و در نهایت `(a, 9)` است. (که مقدار `a` عدد 6 است)
347349

348350
```py
349351
>>> (a := 6, 9) == ((a := 6), 9)
350352
True
351353
>>> x = (a := 696, 9)
352354
>>> x
353355
(696, 9)
354-
>>> x[0] is a # Both reference same memory location
356+
>>> x[0] is a # هر دو به یک مکان در حافظه دستگاه اشاره می‌کنند
355357
True
356358
```
357359

358-
- Similarly, `(a, b := 16, 19)` is equivalent to `(a, (b := 16), 19)` which is nothing but a 3-tuple.
360+
- به طور مشابه، عبارت `(a, b := 16, 19)` معادل عبارت `(a, (b := 16), 19)` است که چیزی جز یک تاپل ۳تایی نیست.
359361

360362
---
361363

0 commit comments

Comments
 (0)