🧑‍💻PythonDev🧑‍💻
365 subscribers
86 photos
3 videos
15 files
78 links
Python tips and tricks
The Good, Bad and the Ugly

📚توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

👨‍💻این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی این چند سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)👨‍💻


@Mtio975
Download Telegram
خب دوستان..
تا اینجا قضیه ی آقا یا خانوم پایتون رو براتون گفتم .
که چی هستش و از کجا اومده و چرا اومده و آمدنش بهر چه بود این حرفا !
ی قدم پس تا اینجا برداشتیم .
(بزن دست قشنگه رو!)
برای قدم بعدی که می خواییم باهم برداریم اینه که اصلا چجوری باید نصبش کنیم.
بالاخره باید رو سیستم عاملمون باشه که شروع کنیم دیگه ، مگه نه؟
#Fxl
#binamak!
یکم بخوام براتون باکلاس صحبت کنم اینجوری میشه که :
برای استفاده از پایتون ابتدا باید کامپایلر و محیط برنامه نویسی مربوط به اون رو نصب کنید.
حالا کامپایلر میدونی چیه؟
اگه نمیدونی از حضرت گوگل استفاده کن دوستم ! :)

حالا حواستونو بدین به من..

1.برای این کار اول باید بری تو سایت python.org.

2.سیستم عاملتو مشخص میکنی.

3.بعد دقت میکنی به ورژن .

4. یه ورژن 2 داریم ی ورژن 3 که باید بر اساس نیاز خودت ورژن مورد نظر رو دانلود کنی(ولی بهت توصیه میکنم به منظور استفاده حداکثری از قابلیت های پایتون ورژن 3 استفاده کنید که در حال حاضر آخرین ویرایش آن python3.11.4 هست)

#نصب_پایتون
#ورژن_3
#Fxl
خب تا اینجا پایتون رو نصب کردیم .
قدم دوم : دانلود یک محیط برنامه‌نویسی استاندارد برای برنامه‌نویسی با پایتون یا IDE هست.
نرم افزارهای متفاوتی برای این کار وجود داره که از محبوب‌ترین اونها میشه به Pycharm از محصولات شرکت Jetbrain و vscode است که در این دوره به علت راحت تر بودن در نصب از vscode استفاده میشه.

#vs_code
#Python
#Fxl
بعد از نصب برنامه پایتون :
1. تو قسمت run یا سرچ ویندوز گزینه Cmd.exe را وارد می کنید.
بعد وارد محیط command line ویندوز می شوید.
2.در این محیط کلمه Python رو تایپ می کنید و enter رو میزنین.
3.در صورتی که نصب شده باشه ورژن پایتون رو برای شما نمایش میده و این نمایانگر نصب درست محیط پایتون در سیستم عامل شماس.

نام کتاب تدریس شده در این دوره Python for Everybody هست که به صورت رایگان برای همه در اینترنت قابل دسترسیه :)

#ورژن_3
#کتاب
#cmd
#enter
#Fxl
خب خب دوستان سلام میفرستم خدمتتون Sxl هستم و قراره از این به بعد کلی کد و پروژه بزنیم😁✌️

اینجا خواستم 3 تا لینک برای تکمیل پست های بالا خدمتتون ارسال کنم بعد دیگه کم کم برسم سراغ کیبورد و سیستم😆


Python history:
https://www.geeksforgeeks.org/history-of-python/

Whats is python:
https://www.python.org/doc/essays/blurb/

10 best python IDEs:
https://hackr.io/blog/best-python-ide


لینک های بالا به خیلی از سوالات شما جواب میدن قبل از شروع بهتره مطالعه ای داشته باشید مهم‌ترین‌ سوالاتی که باید بدونید شامل:
تاریخچه پایتون چیه؟
پایتون چیه و به چه دردی میخوره؟
بهترین محیط های کد زنی پایتون کدوما هستن؟
و... که قراره ما بهتون بگیم😉👌

#python
#coding
#programming
#pythonism
#Sxl
خب دوستان
تا اینجا بخوام ی مروری کنم اینه که ما تا اینجا متوجه شدیم که پایتون چیه و چرا پایتون ، یاد گرفتیم که چجوری رو سیستم عامل نصبش کنیم و چجوری ورژن 3 رو فعال کنیم .
(اگه یادت نمیاد ، دوباره از اول شروع کن به مرور کردن پست ها)
مثال زدنم گل کرده ، می‌خوام براتون مثال بزنم تا بلکه شروع جذابی داشته باشیم!🦦

بیایین فرض کنیم که سوار ی اتوبوسی شدیم و می خواییم بریم مسافرت .
راجع به اون شهرهایی که می خواییم بریم از قبل تحقیق کردیم و پرسیدیم از لیدر که چرا اینجا (چرا پایتون؟)
بعد رفتیم بلیط خریدیم(نصب پایتون) و خلاصه بارو بندیل و بستیم و برو که بریم !

خب بعد از کیلومترها که رفتیم میرسیم به اولین مقصدمون ، شهر متغیرها :
حالا قراره تو این شهر ببینیم چه خبره..
آماده ایین؟😁
#Fxl
⚜️فصل اول - برنامه نویسی پایتون :
🔹variables - expressions - statements

قبل از اینا ، می خوام راجع به value ها صحبت کنم ، هم به معنی ارزش هست هم به معنی مقدار .
مثل عدد 3 ، مقدار 3 چنده ؟ 3 !
مقدار 4.5 چی؟! 4.5 !

تو خیلی از زبان های برنامه نویسی ی شکلی از value داریم ، یعنی ی مقداری داریم به اسم string (str) ، یا ی کاراکتر .

برای اینکه بتونیم مشخصش کنیم از دستورامون ، تو single code (' ') ، یا dobble code ( " " ) ، قرار میدیم.

مثلا ⬅️ 'salam'

ی دستور خیلی عمومی پرکاربرد تو پایتون داریم به اسم type که به معنی نوع هستش .

مثلا⬅️ type(15) ، که یک integer یا عدد صحیح هست.
متغیر در پایتون چیست؟
اولین و پایه‌ای ترین مفهوم در یادگیری زبان برنامه نویسی پایتون آشنایی با متغیرها یا variable هاست.
متغیرها ساختارهایی هستند که برای ذخیره مقادیر در برنامه‌نویسی مورد استفاده قرار می‌گیرند.
متغیر در پایتون برای اشاره به مکان حافظه استفاده میشه.
متغیر پایتون همچنین به‌ عنوان شناسه شناخته می‌شود.

در این بخش علاوه بر یادگیری مفهوم متغیر انواع Data type‌ها نیز معرفی می‌شوند که متغیرها می‌توانند انواع این داده‌ها رو بپذیرند. این Data type ها شامل:

رشته ها یا string‌ها : به دیتاهایی گفته میشه که به صورت دنباله ای از حروف استفاده میشه ، مثل نام ها و عبارت ها و ...

اعداد صحیح یا integer‌ها : که ساده‌ترین مقادیر عددی مورد استفاده در محاسبات هستند.

اعداد اعشاری یا float : که برای محاسبات با دقت بالا در برنامه‌نویسی مورد استفاده قرار می‌گیرند.

متغیرهایی که مقادیر آنها به صورت درست یا نادرست (True /False)‌ هستند که به آن Boolean گفته میشه.

در تعریف متغیرها دو مورد باید رعایت بشه. یکی متغیرها باید با حروف آغاز بشن ،همچنین در تعریف متغیرها نباید از کلمات رزرو شده پایتون استفاده کرد.
مثلا عبارت print در پایتون برای تعریف یک تابع استفاده شده و نباید متغیری به این نام تعریف کرد.
نکته : قدرت کامپیوترها در واقع به برنامه نویسیشونه ، و برنامه نویسشون بسیار وابسته هست به چیزی به اسم متغیر ها یا همون variable ها ، چیز هایی که تغییر می کنند.

یعنی چی؟
مثلا⬅️ من ی چیزی دارم به اسم x و برابر 2 قرار میدم .
X=2
از این به بعد هروقت بگم x ، یعنی 2.
هروقت بخوام میتونم عدد x رو عوض کنم و برابر با چیز دیگه ای قرار بدم .

متغیر ها میشه مقدارشونو عوض کرد ، میشه خوند ، در واقع بزرگترین اتفاق در برنامه نویسیه که ، جذابش می کنه.

مثلا من میتونم بگم عدد pi = 3.14 و r = 50
بعد بخوام مساحت رو حساب کنم میگم pi ضربدر دوتا r
pi * r * r
و بعد run و جواب مساحت رو به ما میده.

میتونم pi = 3.1415926 قرار بدم و بعد
pi * r *r

pi رو که داریم
r هم بالا گفتیم مساوی 50 هست
و بعد run.

حالا اگه بگم masahat = pi * r * r
و مساحت رو run کنم ، جواب بالایی رو به من دوباره میده .

#Flx
#variable
ی چیزی که خیلی مرسومه ، اینه که من میگم x = 1
چی میشه ؟
وقتی همچین چیزی میگیم ، ی جایی از حافظه کامپیوتر اسمش هست x ، داخلش 1 قرار داده میشه.
بعد برای برنامه نویس ها خیلی پیش میاد که بنویسن x = x + 1
چجوری حساب میشه؟
اول میاد x + 1 رو حساب می‌کنه ، پیش خودش میگه که من چیزی به اسم یا مکان x می شناسم؟ میره چک می کنه و میفهمه بله ، و در داخلش عدد 1 قرار داده شده .
پس میشه 1 + 1 که میشه 2 و x مساوی 2 میشه.
حالا هرجا بنویسیم x به ما 2 میده.
خیلی بدیهی هستش ، و ما تو جبر همچین چیزی نداریم که x = x + 1
ما می خواستیم مقداردهی انجام بدیم نه اینکه بیا ی معادله حل کن.
بلکه بهش میگم x رو برابر x + 1 قرار بده.

نکته : خوبه که برای متغیر ها اسم های خوبی انتخاب کنیم.

#Fxl
نحوه اعلام متغیر پایتون معتبر میتونه هر طولی داشته باشه که دارای حروف بزرگ، کوچک (A تا Z، a تا z)، رقم (0-9) و آندرلاین (_) باشه.

نمونه نام‌گذاری متغیر در پایتون:
نمونه‌هایی از شناسه‌های معتبر: a123، _n، n_9 و غیره.

نمونه‌هایی از شناسه‌های نامعتبر: 1a، n٪ 4، n 9 و غیره.



نام متغیرها می‌تونه گروهی از حروف و ارقام باشه، اما اونها باید با یک حرف یا آندرلاین شروع بشن. توصیه میشه برای نام متغیر از حروف کوچک استفاده کنید.
#Fxl
#name
#variable
برای تخصیص مقدار به یک متغیر از عملگر Equal (=) استفاده میشه.



وقتی ما یک متغیر رو اعلان می‌کنیم، لازمه درک کنیم که مفسر پایتون چجوری کار می‌کنه. فرایند ایجاد متغیرها تا حدودی با بسیاری از زبان‌های برنامه‌نویسی متفاوته.
پایتون زبان برنامه‌نویسی بسیار شیء گراست. به مثال توجه کنید :
آبجکت پایتون یک عدد صحیح ایجاد می کنه و اون رو روی کنسول نمایش میده ، در دستور چاپ بالا ، یک شئ رشته ایجاد کرده و نوع اون رو با استفاده از تابع type() مشخص کردیم.
#Fxl
#variable
#str
#Hello_world
در پایتون، متغیرها یک نام نمادین هستند که مرجع یا اشاره‌گر یک شیء هستند.
متغیرها برای نشون دادن اشیاء با اون نام استفاده میشن.
#Fxl
#variable
بیایید باهم چند مثال تحلیل کنیم :



در این تصویر ، متغیر a به یک شیء صحیح اشاره داره.

#Fxl
فرض کنید مقدار صحیح 70 رو به یک متغیر جدید b اختصاص میدیم.

a = 70
b = a

متغیر b به همون شیء اشاره می‌کنه که به a اشاره می‌کنه ، چون پایتون شیء دیگری ایجاد نمی‌کنه.

#Fxl
بیایید مقدار جدید رو به b اختصاص بدیم . حالا هر دو متغیر به اشیاء مختلف ارجاع داده میشن.

a =70
b =90

اگه متغیر یکسانی رو به دو مقدار متفاوت اختصاص بدیم ، پایتون به‌طور مؤثر حافظه رو مدیریت می‌کنه.

#Fxl
هویت شیء در پایتون :

در پایتون، هر شیء ایجادشده به‌طور منحصربه‌فرد مشخص میشه.
پایتون تضمین می‌کنه که هیچ دو شیء شناسه یکسانی ندارند.
تابع id () داخلی، برای شناسایی شناسه شیء استفاده میشه.
به مثال توجه کنید.

#Fxl
خروجی :

ما b = a، a و b رو هر دو به یک شیء یکسان اختصاص میدیم.
وقتی تابع id () رو بررسی می‌کنیم ، همون شماره رو برمی‌گردونه.
ما a رو به 500 واگذار می‌کنیم. و بعد به شناسه جدید شیء اشاره کرد.

#Fxl
بنظرم به جای Makefile از justfile استفاده کنید بهتره, به دو دلیل:

۱. مولتی پلتفورمه
۲. خیلی سینتکس بهتری داره

تو هر پروژه ای, بنظرم باید کامندی وجود داشته باشه که:
۱. دیتا سپل جنریت کنه برای تست دستی
۲. دیتابیس رو ریست کنه با دیتای جدید
۳. تیبلا رو مجدد بسازه
۴. ماگریتی که نوشتین رو بتونه تست کنه
۵. اینستال پروژه هندل شه
۶. برای ران تست هم کامند جدا باید باشه

همیشه ترجیح میدم از poetry استفاده کنم چون خودش پکیج میسازه برام و lockfile داره و میتونم توش خودم پکیج بسازم که به صورت live از روش بخونه و آپدیتش کنه (مثل shared library بین سرویسا)

Justfile: https://github.com/casey/just


برای تست ماگریشنتون:
۱.  باید تیبل هاتون رو پاک کنید
۲. باید برید برنچی که ازش برنچ میگیرین مثلا dev
۳. دیتابیس رو بسازید با اون برنچ و migration هایی که بوده اونجا رو اسکیپ کنید
۴. برگردین برنچی که کار میکردین روش
۵. ماگریشن رو حالا ران کنید تا اخرین نسخه
۶. دیتابیسو چک کنید ببینید چه بلایی اوردین سره دیتابیس :))

بهتره خودکار انجام شه کل این پروسس با یک کامند
🥚 ایسترگ‌ها (Easter egg) و سیکرت‌های جالب پایتون!

1️⃣ - توی ترمینال یا CMD، واسه تست پایتونتون، کامند زیر رو ران کنید و پروگرم hello world اجرا میشه.

$ python -m hello
Hello World!

2️⃣ - برای چاپ کردن ذن پایتون، کافیه ماژول this رو ایمپورت کنید و یه لیست از استعاره‌های بامفهوم برنامه‌نویسی رو واستون چاپ می‌کنه.

$ python -c 'import this'

👈
ماژول ذن this.py در ریپازیتوری CPython

3️⃣ - اگه حوصلتون سر رفته و می‌خواید چند تا کامیک ساینس-طور ببینید، کامند زیر رو ران کنید. بهتون دسترسی به آرشیو xkcd میده که محفلیه پر از میم‌ها و جک‌های دنیای خودمون.

$ python -c 'import antigravity'

4️⃣
- اگه می‌خواید از فیچر‌هایی که قراره در آینده به پایتون اضافه شه استفاده کنید، می‌تونید از future استفاده کنید. مثلا توی پایتون۲، پرینت یه تابع نبود ولی اگه ماژول زیر رو ایمپورت می‌کردید، مفسر پایتون۲ از این به بعد به دید یه فانکشن به print نگاه می‌کرد و باید از پرانتز جلوی پرینت استفاده می‌کردید.

#!/usr/bin/python2
from future import print_function

حالا نکته جالبش اینجاس که ما توی تقریبا تمام زبان هایی که بیسشون C هست، از {} بعنوان تعیین اسکوپ فانکشن، شروط، کلس‌ها و.. استفاده می‌کنیم که توی پایتون به این شکل نیست و block-indentation مهمه. حالا اگه سعی کنید braces رو از future ایمپورت کنید میاد و اینجوری بهتون تیکه میندازه..

>>> from future import braces
SyntaxError: not a chance

5️⃣ - می‌دونستید میشه هش بی‌نهایت و Not-a-numbert رو توی پایتون نشون داد..؟! جالبه نه؟

>>> hash(float('inf'))
314159
>>> hash(float('nan'))
0

👈 اینجا جاییه که بعنوان دوتا ثابت در کدبیس CPython تعریف شدن

6️⃣ - میدونستید یه جایگزین جالب واسه آپریشن =! (نامساوی) توی پایتون هست؟!

>>> 1 != 0
True
>>> from future import barry_as_FLUFL
>>> 1 != 0
SyntaxtError: with Barry as BDFL, use '<>' instead of '!='
>>> 1 <> 0
True
>>> 2 <> 2
False

شاید واستون جالب باشه ولی این قضیه بعد از اینکه Maintain پروژه پایتون توسط Guido به Barry داده شد، رواج پیدا کرد. واسش حتی PEP401 هم نوشتن که من (شخصا) موجودیتش رو درک نکردم ولی ارزش خوندن داره و نکات جالبی درباره تاریخچه پایتون میگه. :)

=> منبع اصلی این پست در Medium