Pythonism
Открыть в Telegram
We use Python in various industries. SXL : https://www.linkedin.com/in/amirakbarisxl-py
Больше2 236
Подписчики
Нет данных24 часа
-67 дней
-4230 дней
Архив постов
2 236
یک کار دیگه که میتونیم انجام بدیم چیه؟
دیدیم که فانکشن های ما یک چیزی بر میگردونن.
فانکشن های حرفه ای من مثلا میگن :
random.randint (8 , 16)
فانکشن رو روی هشت و شانزده ران کن و یک چیزی مثل عدد 11 برگردون .
اگه بخوام همین کارو انجام بدم ، یک کلمه ی کلیدی دارم به اسم return.
خب میخوام فانکشنم جمع دوتا عدد باشه :
def jam ( a , b ):
ورودی چی گرفت؟ a , b
javab = a + b
return javab
گفتم return کن یا برگردون جواب رو.
حالا میتونم بگم مثلا :
adade_aval = 4
adade_dovvom = 5
jam_2_adad = jam( adade_avval , adade dovvom )
#Fxl
2 236
اگه مثلا همینو
یک سلام بای دیگه اضافه می کردم ، اینطوری میشد :
def salambye (name) :
print ( ' salam ' )
print ( ' bye bye ' )
salambye( ' fxl ' )
salambye( ' sxl ' )
Run:
salam fxl
bye bye fxl
salam sxl
bye bye sxl
این در واقع همون مفهموم خوب فانکشن هست.
تا اینجا حله؟؟
#Fxl
2 236
حالا..
فانکشن های من اینجوری زیادی سادن ، بیایین یک فانکشن جالب تر بنویسیم..
یادتونه من تو ترمینال یک سری کتابخونه هارو صدا زدم.
مثل همون random.randint
من اینجا یک ورودی هایی بهش می دادم مثل (16 , 8) ، هشت تا شانزده.
اینارو تو پایتون میتونم از طریق متغیر به اصطلاح بفرستم تو فانکشن ، یعنی میتونم بگم:
def salambye (name):
گفتم سلام بای رو روی name اجرا کن.
هنوز نمیدونه name چیه !
ولی اگه صداش بزنم :
def salambye (name) :
print ( ' salam ' )
print ( ' bye bye ' )
salambye( ' fxl ' )
در واقع بهش گفتم سلام بای رو اجرا کن فکسل رو به جای name بفرست.
تو پرینت ها هم میتونستم اینجوری بگم :
print ( ' salam ' , name)
print ( ' bye bye ' , name)
پس چیشد؟
من یک فانکشن درست کردم که در واقع یک ورودی داره ، یک name رو میگیره و بعد پرینت می گیره ، سلام و بعد name ، بای بای و بعد name ، اونجایی که نوشتم سلام بای و بعد نوشتم فکسل .
اون فکسل همون name هستش که بعد جایگزین name میشه.
اگر ران بشه :
salam fxl
bye bye fxl
#Fxl
2 236
خب داشتم راجع به فانکشن ها بهتون می گفتم که چجوری نوشته میشه ، تو vs چیکار باید بکنیم و این چیزا.
حالا بریم ادامه درس..
اگه اینطوری می نوشتم :
1.def salambye( ) :
2. print ( ' salam ' )
3. print ( ' bye bye ' )
4.
5.
6.print ( ' Shroo ' )
7.salambye( )
8.print ( ' tamoom ' )
ران که میشد میزد :
Shroo
salam
bye bye
tamoom
این مفهوم فانکشن تو پایتونه در واقع من خودم یک سری فانکشن می نویسم .
اوکییه؟!
خب تو پایتون فهمیدیم که برنامه یا کدی که می نویسیم از بالا ران کردن شروع میشه تا به پایین.
در نتیجه اون اول یادش میمونه که سلام بای رو داشتم و میدونم باید چیکار کنم .
بعد پرینت شروع رو ران میکنه و بعد به سلام بای که میرسه ، میدونه باید چیکار کنه!
اگه من اول ( ) salambyeرو می نوشتم و بعد def رو میاوردم پایین ، متوجه نمیشد باید چیکار کنه چون میرسید به سلام بای و می گفت اوه من که نمیدونم سلام بای چیه ، اون پایین تعریفش کردی من هنوز نخوندم!!
نکته : پس از بالا به پایین ران میشه.
#Fxl
2 236
خب دوستان ، سلام ملکم ، من دوباره برگشتم تا ادامه درسمون رو باهم ادامه بدیم ، امیدوارم فرجه هایی که ما بین درسها گذاشته میشه، ازش به خوبی استفاده کنید و به درس های جدیدتر یا مطالب جدید کانال برسید.
#Fxl
2 236
بذارین یک نمونه بهتون نشون بدم چون از اونجایی که میخواییم برنامه نویس های بزرگی بشیم بذارین تو vs code بهتون بگم :
خب میرم تو vs و یادتونه که اول زبان برنامه رو مشخص میکنم ، یا به اسم function.py ذخیره میکنم ، و خود برنامه متوجه میشه که پایتونه.
تابعی بنویسیم که بگه سلام ، آسون ترین کار🤌🏻.
اسم تابع رو میذارم سلام بای مثلا :
def salambye( ):
print(' salam ')
print('bye bye')
واسه ران کردنش یادتونه میرفتیم تو Debug و start debuging رو میزنیم .
ران شد ولی هیچی نشد !!
چرا ؟؟
چون فقط یک function تعریف کردم ، فقط نون خریدن رو یاد دادم ، حالا میخوام بهش بگم که نون بخر .
چیکار میکنم؟!
def salambye():
print('salam')
print('bye bye')
salambye()
صدا میکنم function رو ، وقتی پرانتز میذارم یعنی میخوام بفهمه که دارم function صدا میزنم .
و بعد ران .
می نویسه :
salam
bye bye
#Fxl
2 236
توی پایتون تابع ها اینطوری نوشته میشن :
1.اول میزنین def ، یعنی میخوام define کنم .
2.اسم تابع() و بعد دو نقطه
def اسم تابع ( ):
و بعد مثل همیشه یک خرده یا چهار space میاییم جلو ، و میگیم که این تابع چه کارهایی می کنه .
درست مثل اون نون خریدن .
وقتی چهار space میاییم جلو یعنی دارم داخل اون تابع مورد نظرم رو تعریف میکنم .
#Fxl
2 236
کتابخونه ی مشهور دیگه که خیلیا دوستش دارند ، random هستش.
من میگم کتابخونه ی رندوم رو وارد کن ، و بعد از توی رندوم یک عدد رندوم از بین صفر تا یک به من بده .
هر دفعه ران کنید یک عدد رند و جدید بهتون میده .
تو رندوم میتونین چیز های دیگه هم پیدا کنید
مثلا randint .
کتابخونه ی رندوم یک تابعی داره به اسم randint .
یعنی میتونم بگم :
random.randint( 8 , 16 )
15
مثلا استادتون میخواد نمره بده به پایتون دستور میده که از این عدد تا اون عدد به صورت رندوم یک عددی بده .
15 داد!
#Fxl
2 236
یک سریشون function های کتابخونه ای هستند ، یعنی Library .
پایتون یک حجم زیادی کتابخونه داره ، کتابخونه یعنی چی ؟ یعنی شما به صورت اتوماتیک نمیدونین چجوری سینوس بگیرید ، ولی اگه به شما بگن که import کن math رو ، یا وارد کن math رو .
کتابخونه ی math رو وارد می کنه ، بعد میگم از کتابخونه ی math ، فلان سینوس رو به من بده .
در واقع من دارم کتابخونه ای رو وارد میکنم ، از داخلش یک function صدا میزنم.
#Fxl
2 236
حالا بذارین یک نگاه دقیق تر بهش بندازیم .
ما اصولاً تو پایتون خیلی خیلی خیلی زیاد function داریم ، خیلی از کارای ما با function انجام میشه .
مثلا وقتی میزدیم type(5) چیه؟
در واقع داریم function تایپ رو ، روی 5 اجرا می کنیم.
به من یک جوابی میده ⬅️ int
یا وقتی حتی میزنم print('hi') ، دارم function پرینت رو ، روی استرینگ hi صدا میکنم.
تو پایتون ما خیلی function صدا میزنیم.
یک مجموعه ای از این function هارو بهشون میگن فانکشن های Build in ، یعنی وقتی خود پایتون run میشه ، اینارو داره.
مثل همین مثالهایی که زدم یا مثلا :
int('545')
545
گفتم یک str رو به int تبدیل کن .
یا اینکه بگم :
str(5)
'5'
اینجور چیزها ، یا یکی دیگه از معروفاش min و max هست .
مین میتونم یک چیزی بهش بدم که کوچیکترینشو بهم بده .
مثلا اگه بهش بگم :
min (' sxl ')
' l '
min (' fxl ')
' f '
یا بزرگترینشو بهم بده :
max ( ' sxl ' )
' x '
max ( 'fatteme')
' t '
و یا هرچیز دیگه ای ..
در واقع میبینیم که function های درون ساز یا Build in هستند ، ی سریاشون تایپ عوض میکنن ، str به int یا برعکس .
#Fxl
2 236
⚜فصل دوم - برنامه نویسی
🔹کار با توابع پایتون_functions
خب سلام , Fxl هستم امیدوارم خوش و خرم باشید.
کاری که کردیم ، اومدیم متغیرهارو دیدیم ، یک سری فرمول اینا نوشتیم بعدش اومدیم if رو دیدیم و اون انحراف کوچیکمون که راجع به پایتون دو و سه بود ، دیدیم که چجوری میتونیم برنامه تو فایل بنویسیم و اجرا کنیم .
حالا یک چیز بامزه رو میخوام بگم بهتون ، در مورد function ها یا توابع .
در واقع function ها قصه ی اصلیشون اینه که من میخوام مثلا یک کدی رو چند بار بیارم وسط ، چند بار تو برناممون تکرار کنم .
نیاز دارم که چند بار ازش استفاده کنم ، به جای اینکه چند بار بنویسمش ، یک بار کدشو بنویسم و دفعات بعد فقط صداش کنم .
تا اینجا حله دوستم؟
فرض کنید می خوایین بچتون رو تربیت کنید ، بهش میگید که نون خریدن رو باید یاد بگیری ، نون خریدن چجوریه؟
پول بر میداری ، از خونه میری بیرون ، میری تو صف و نون و برمیداری ، برمیگردی خونه و ...
من میخوام چیکار کنم؟
من به جای اینکه هرروز به بچم بگم برو نون بخر و اینکارارو انجام بده ، یک function نون خریدن تعریف میکنم .
در واقع def کنم function رو و بعد نون خریدن رو صدا بزنم ، و خودش بیاد اون کارای نون خریدن رو انجام بده ، یا اگه یهو دیدم بعد از ظهر نیاز به نون دارم ، نون خریدن رو صدا بزنم.
حتی میتونم بهش یک مقداری هم بدم مثلا بگم نون خریدن 3
یعنی برو سه تا نون بخر .
اونجایی که تو صفی و نونوا بهت میگه چند تا نون میخوای بگی سه ، یا اونجایی که میخواد نون بده 3 رو ضربدر قیمت کنه.
مفهوم function برای ما اینه !
#functions
#Fxl
2 236
#4با توجه به keyword های reserved شده توسط پایتون ، می توان متغیری به نام and تعریف کرد.
2 236
#3به ترتیب عبارات زیر را در ترمینال وارد می کنیم ، آخرین مقداری که در ترمینال چاپ می شود کدام است؟
x = 5
x = x + 1 x = 5 * 2 x * 3 print(x)
2 236
#1زمانی که این عبارت رو در ترمینال تایپ می کنیم چه چیزی چاپ می شود؟⬅️type('ali')
2 236
خب دوستان ، بالاخره فصل اول به پایان رسید🍾😎
امیدوارم تا اینجا مطالب مفیدی رو در اختیارتون قرار داده باشیم ، قبل از اینکه فصل دوم رو شروع کنیم ، میخوام از مطالبی که گفته شده ازتون چندتا کوئیز بگیرم .
بریم که باهم داشته باشیم.
#پایان_فصل_اول
#Fxl
2 236
از اون طرف میتونم برم تو Debug و بزنم start debuging.
اگه دقت کنید قسمت پایین oh kocholo رو پرینت گرفته.
و یک راز هم بهتون بگم🤫:
فعلا vs code ی باگ داره ، از input پشتیبانی نمی کنه .
مثلا اگه بنویسم :
age = input( 'please give me youre age: ')
ران که کنم ، درخواست تایپ میشه ، ولی جایی نیست که من سنمو وارد کنم .
#Fxl
2 236
اگر شما تا حالا تو VS code پایتون ننوشته باشین ، ممکنه ازتون بپرسه که اوکی داری پایتون می نویسی ؟ میخوای اینو اونو برات نصب کنم که برات راحتتر کنم برنامه نویسیو؟
شما هم بهش میگین آره چرا که نه !
مثلا اگه بنویسم age. ، به من یک سری پیشنهاد میده که چه کاری میتونی انجام بدی.
حالا بعدا میبینیمش..
#Fxl
