uz
Feedback
Pythonism

Pythonism

Kanalga Telegram’da o‘tish

We use Python in various industries. SXL : https://www.linkedin.com/in/amirakbarisxl-py

Ko'proq ko'rsatish
2 236
Obunachilar
Ma'lumot yo'q24 soatlar
-67 kun
-4230 kun
Postlar arxiv
سلام به همگی ، امیدوارم حالتون خوب باشه.. فصل سوم تموم شد و امیدوارم که مطالب مفید بوده باشه براتون ، قبل از اینکه فصل چهارم رو شروع کنم می‌خوام که چندتا کوییز ازتون بگیرم ، و سریع بریم سراغ فصل چهارم. ☺️ #Fxl

دوتا دیگه از Method ها هم بگم . یکیش pop هست ، یعنی بیرون کشیدن ، پاپ آخرین عنصر تو لیست رو بهتون میده. >>> L1 [ 1 , 2 , 2 , 5 , 6 , 7 ] >>> L1.pop( ) 7 هفت رو به من داد . وقتی دوباره بزنم L1 : >>> L1 [ 1 , 2 , 2 , 5 , 6 ] هفت دیگه داخلش نیست ، بیرونش کرده. ⭐️کاربردش چیه؟ خیلی وقتا پیش میاد که مثلا ما داریم یک چیزیو از یک جایی می‌خونیم ، و می خواییم یک کارایی روش انجام بدیم . یک لیست درست میکنم ، هر دونه ای که می‌خونم به لیستم append میکنم ، در نتیجه میره ته لیستم . یک جای دیگه از ته لیسم pop میکنم ، و روش کاری که می‌خوام رو انجام میدم . به تهش اضافه می‌کنه ⬅️ append از تهش ور میداره و برمی گردونه ⬅️ pop یعنی من اگه L1 ام این بود : >>> L1 [ 1 , 2 , 2 , 5 , 6 ] میزدم: >>> next = l1.pop( ) >>> next 6 حالا next برابر 6 شده. >>> L1 [ 1 , 2 , 2 , 5 ] مثل یکسری پوشه نگاش کنید که کاربردی هارو میذارید رو و از اونطرف برمیدارید!! خب بعدی remove هستش. من L1 ام اینه : >>> L1 [ 1 , 2 , 2 , 5 ] >>> L1.remove(2) >>> L1 [ 1, 2 , 5 ] دو اولی که دید ریمو کرد ، اگه بخوام اون یکی دو هم ریمو کنم باید دوباره بنویسم : >>> L1.remove(2) >>> L1 [ 1 , 5 ] فرقش با del چی بود؟؟ تو del می گفتم مثلا دیلیت کن از لیست یکم عنصر صفر : >>> del l1[0] >>> L1 [ 5 ] ولی توی ریمو میگم دیلیت کن از از لیست اول مقدار پنج رو : >>> L1.remove(5) >>> L1 [ ] مقدار پنج رو بر می داشت ، این متد های خیلی اصلی بود که بهتون گفتم . #Fxl #list #remove #del #pop #append #sort #extend

خب چندتا دیگه می‌خوام از Method ها مثال بزنم ، اولیش append هست . من داشتم : >>> L1 [ 1 , 2 ] بعد می‌خوام اینجا append رو وارد بازی کنم ، میگم : >>> L1.append ( ' new ' ) >>> L1 [ 1 , 2 , ' new ' ] چیکار می‌کنه append? یعنی اون کلکه یا استرینگی که بعد append ‌مینویسیم ، یعنی به ته لیست ما اضافش کن. دومی extend هست. چجوریه؟ : >>> L1.extend( [5 , 6 , 7] ) گفتم اکستندش کن با این لیست ، عین جمع هست . ران که بشه : >>> L1 [ 1 , 2 , ' new ' , 5 , 6 , 7 ] سومین متد sort هستش. >>> L1.sort( ) Error چرا ارور داد؟!؟! چون ما تو L1 ، استرینگ new داریم ، نمیدونه این new رو کجا بذاره ، پس باید چیکار کنیم؟؟پاکش میکنیم. برای پاک کردم کافیه از del استفاده کنیم ، می نویسم در ادامه : >>> del L1[2] >>> L1 [ 1 , 2 , 5 , 6 , 7 ] گفتم L1 , بخش دومشو [2] دیلیت کن. حالا میتونم بگم : >>> L1.sort( ) >>> L1 [ 1 , 2 , 5 , 6 , 7 ] به ترتیب عددی در میاره ولی خب از شانس ما قبلا به ترتیب نوشته شده بود . اگه بخوام تهش چیزی اضافه کنم اینطوری میشه : >>> L1.append(2) >>> L1 [ 1 , 2 , 5 , 6 , 7 , 2 ] حالا دوباره می‌خوام sort کنم : >>> L1.sort( ) >>> L1 [ 1 , 2 , 2 , 5 , 6 , 7 ] #FXL #list #Method #sort #append #del #extend

ما Operators هم داریم . اگه بزنم : L1 = [ 1 , 2 ] L 2 = [ ' fxl ' , ' sxl ' ] چی میشه ؟؟ >>> L1 [ 1 , 2 ] >>> L2 [ ' fxl ' , ' sxl ' ] میتونستم بگم : >>> L1 + L2 [ 1 , 2 , ' fxl ' , ' sxl ' ] وقتی جمع ببندی ، همه رو میذاره تو یک لیست. میتونم ضربش کنم : >>> L2 * 2 [ ' fxl ' , ' sxl ' , ' fxl ' , ' sxl ' ] ولی نمیشه در هم ضرب کرد ، یعنی چی؟ یعنی L1 * L2 ارور میده. 📌فقط جمع و ضربدر یک عدد ممکنه. #Fxl #list #operators

خب حرکت کردن رو لیست رو دیدین که چجوری بود ، در واقع میتونیم بگیم: for i in range(0 , len(l)): . . . print(i , l [ i ] ) . . . 0 8 1 5 2 9 3 -1 4 1.5 5 Fxl میتونستم شیوه ساده تر هم برم ، همون‌جوری که تو استرینگ ها رفتم : for item in l: . . . print ( item ) . . . 8 5 9 -1 1.5 fxl به ترتیب مینویسه. L ام چی بود؟ >>> l [ 8 , 5 , 9 , -1 , 1.5 , ' fxl ' ] #Fxl #list #len #range

نکته : یک فرقش با استرینگ اینه که . >>> l [ 4 , 5 , 9 , -1 , 1.5 , ' fxl ' ] اگر بنویسم : >>> l [0] = 8 >>> l [ 8 , 5 , 9 , -1 , 1.5 , ' fxl ' ] چیشد؟ شماره گذاری کرد ، صفر که بود چهار ، هشت رو جایگزین چهار کرد. #Fxl #list

می تونیم بنویسیم: for i in range(0 , len (l2)): . . . print ( l2[ i ] ) . . . [ 4 , 5 , 9 , -1 , 1.5 , 'fxl' ] 5 [ 1 , 2 ] #Fxl #list #for #range

خب الان می‌خوام راجع به List ها صحبت کنم ، لیست ها به ما این اجازه رو میدن که یکسری لیستی از یکسری مقدار تهیه کنیم ، لیست ها در پایتون با [ ] هستند. یعنی من اگه یک L داشته باشم و داخلش یکسری اعداد بنویسم در واقع یک لیست درست کردم : l = [ 4 , 5 , 9 , -1 , 1.5 , ' fxl ' ] اگه بنویسم : l [ 0 ] 4 دقیقا اینارو تو پست های قبل گفتم که به چه صورته . میتونم بنویسم از شروع تا چهارمی: l [ : 4 ] [ 4 , 5 , 9 , -1 ] تا سر چهارمی رو به من میده. یا مثلاً بگم دوتا مونده اخر رو به من بده : l [ -2 ] 1.5 در واقع لیست ها اینطوری کار می کنند ، می تونن شامل هرچیزی باشند. یک لیست تو پایتون می‌تونه شامل : یک عدد صحیح ، اعداد اعشاری و استرینگstr حتی لیست ها میتونن شامل لیست های دیگه هم باشن!! یعنی من میتونم یک لیست L2 درست کنم بگم عنصر اولش L1 هستش بعد یکدونه 5 داره و... l2 = [ l1 , 5 , [ 1 , 2 ]] حالا اگه بزنم L2 اینو برای من ران میکنه : [ [ 4 , 5 , 9 , -1 , 1.5 , ' fxl ' ] , 5 , [ 1 , 2 ]] حالا اگه بنویسم len(12) : 3 میده چرا؟ چون این خودش میشه یک : [ 4 , 5 , 9 , -1 , 1.5 , ' fxl ' ] این میشه دو : 5 اینم میشه سه : [ 2 ,1 ] #Fxl #list #List #str

یک بحث دیگه هم مونده اونم اینه که ، فرمت دهی داریم از طریق درصد. تو حالت عادی من چطوری پرینت می کردم؟ : print( ' hello ' ) hello اگر داشتم : name = ' fxl ' میتونستم بنویسم : print ( ' hello ' , name ) hello fxl یا : print ( ' hello ' , name , 3 ) hello fxl 3 یکی یکی می تونیم بهش اضافه کنیم. ولی اگه چیز پیچیده تری بخوام شروع می کنه به شلوغ شدن. پایتون برای شما یک مکانیزمی گذاشته که به جای اینکه شما کاما بزنید ، می تونید درصد بذارید . به این صورت : print ( ' hello ٪s ' name ) اس s ، اول استرینگ هستش ، و تهش هم یک درصد بذارید : print ( ' hello %s ' %name ) در واقع این داره میگه بیا این رو : ' hello %s ' یک استرینگ ازش درست کن ، هرجا رسیدی به درصد s ، اون ته یا name ببین چه متغیری هست ، استرینگش کن تو اینجا ' hello %s ' میشه : hello fxl این خوبیش اینه که خیلی تمیز میتونم اینطوری بنویسم : print ( ' hello %s chetori? '  %name ) hello fxl chetori? این در واقع یک مکانیزم خیلی تمیزتریه که به جای کامل میشه ازش استفاده کرد 😌 به خصوص اگر بخواییم چیز های بیشتری بنویسیم ، مثلا بخواییم سن رو هم بنویسیم: sen = 30 print ( ' hello %s chetori? midooni %s salet shode? ' % (name , sen ) ) چون چندتا شده بهترین تو پرانتز بذاریم اسم و سن رو . چیشد پس؟ ما یک استرینگی داریم توش از درصد استفاده کردیم ، چون می خواستیم این درصد هارو بهش بفهمونیم یک درصد قبل name گذاشتیم و توی دوتا پرانتز متغیرهایی که لازم بود رو قرار دادیم. اگه ران بشه : hello fxl chetori? midooni 30 salet shode? تنها نکته اینه که : درصد s یعنی استرینگ ، سن درسته که عدده ولی تبدیلش می‌کنه به str , من می تونستم درصد i بذارم که int بخونه و چیزهای دیگه... #Fxl #str #int #name

یک starts with هم داریم ، مثلا میتونم بگم : ' hello '. startswith( ' h ' ) True بهش گفتم اولش با h شروع میشه؟ گفت اره درسته خ
یک starts with هم داریم ، مثلا میتونم بگم : ' hello '. startswith( ' h ' ) True بهش گفتم اولش با h شروع میشه؟ گفت اره درسته خیلی مهم نیست همه ی متد هارو بلد باشید ، توی کار یاد میگیرین و متوجه میشین که چیو کجا و کی استفاده کنید. یک نکته هم بهتون بگم ، که می تونیم اینارو باهم ترکیب هم کنیم ، چطوری ؟ من میگم hello بعد می‌خوام بدونم اولش h داره یا نه : 'Hello' . startswith( ' h ' ) False خب اشکالش چیه؟؟ من با h کوچیک نوشته بودم این H بزرگ هست ، واسه رفع مشکل همچین چیزی میتونم بهش بگم بیا اول کوچیکش کن بعد دستور بعدی رو اجرا کن ، به این صورت میشه : ' Hello ' . lower( ) . startswith( ' h ' ) True خود Hello یک استرینگ هستش ، من اومد خود استرینگ رو ، متد lower روش اجرا کردم و به یک چیز جدید رسیدم : ' Hello ' . lower ( ) ' hello ' بعد گفت که startswith با h کوچیکه؟ که میگه بله درسته. #Fxl #lower #Hello #hello #startswith #True #False

لازم نیست که همشون رو یاد بگیرید ، من چندتا از مهمتریناشو بهتون میگم ، مثلا می نویسم : s.upper( ) ' HELLO ' باید حتما پرانتز
لازم نیست که همشون رو یاد بگیرید ، من چندتا از مهمتریناشو بهتون میگم ، مثلا می نویسم : s.upper( ) ' HELLO ' باید حتما پرانتز بذارین ، اگر نذارید میگه این یک متدی هست که برای str دارم . پس چیشد ؟ باید مثل یک فانکشن صداش کنیم. معلومه که lower هم داریم ، می تونه حروف رو کوچیک کنه: s.lower( ) ' hello ' میتونم find کنم بهش بگم L رو مثلا پیدا کن: s.find( ' l ' ) 2 دقت کنید: تعداد L رو نشمرده ، شماره گذاری کرده از صفر یک دو ، سر دومی به L رسیده. میتونستم بهش بگم از سه به بعد واسم پیداش کن : s.find( ' l ', 3 ) 3 میگه تو همون سه هستش. مثلا strip هم خیلی مرسومه ، مثلا یک چیزی بنویسم که دو طرفش فاصله داشته باشه با strip حذف میشه ، به این صورت : ' fxllllll. '.strip( ) ' fxllllll ' پس ما تا اینجا چه چیزهایی رو یاد گرفتیم؟؟ 1.find 2.upper 3.lower 4.strip #Fxl #Method #upper #strip #find #lower #hello

مثلا بگم : s = ' hello ' type(s) str اس یک استرینگ در اومد ، پس می تونم بگم : dir(s) تو اس میبینم که چه نوع Method هایی دارم.
مثلا بگم : s = ' hello ' type(s) str اس یک استرینگ در اومد ، پس می تونم بگم : dir(s) تو اس میبینم که چه نوع Method هایی دارم. #Fxl #strings #type #class #dir

مثلا میگم که : ' salam fxl ' . count('a') 2 میگه دوبار تکرار شده . دونستن اینا خیلی بهتون کمک می کنه ، بعد از مدتی که سرچ کرد
مثلا میگم که : ' salam fxl ' . count('a') 2 میگه دوبار تکرار شده . دونستن اینا خیلی بهتون کمک می کنه ، بعد از مدتی که سرچ کردین و ببیندشون کامل یاد می گیرید. #Fxl #count #salam

اگر خواستین ببینید که هرچیزی چه Method هایی داره ، می تونید ازش dir بگیرید. من میتونم dir فکسل رو بگیرم ، چون یک class str هس
اگر خواستین ببینید که هرچیزی چه Method هایی داره ، می تونید ازش dir بگیرید. من میتونم dir فکسل رو بگیرم ، چون یک class str هست ، به من میگه تو میتونی تو استرینگت این کارارو بکنی. مثلا میتونی یک چیزی رو count کنی ، مثلا میتونی doc کنی ، می تونی format کنی و ... #Fxl #dir #strings

ما در دنیای پایتون یک چیزی داریم به اسم Method ها ، در پایتون همه چیز class یا کلاس هستش. به اصلاح خیلی کلاس داره . من وقتی م
ما در دنیای پایتون یک چیزی داریم به اسم Method ها ، در پایتون همه چیز class یا کلاس هستش. به اصلاح خیلی کلاس داره . من وقتی می گفتم که تایپ hello رو به من بده ، چی می‌داد؟؟ < class ' str ' > در واقع می گفت hello یک کلاس استرینگ هستش. کلاس ها چیزهای مختلف دارن که حالا تو دوره دوم این ماجرا میبینیمش. اما فعلا این رو یاد بگیریم که کلاس یک چیزی دارن به اسم Method ، خیلی نزدیکه به همون function ها ، تقریبا شبه اونان. تفاوتشون رو بعدا بهتون میگم . اینا یا همون Method های این شکلی هستند که من بعد از یک چیزی که Method داره می تونم یک نقطه بذارم و اون متدشو صدا کنم مثل فانکشن. مثلا کلاس استرینگ یک Method داره. اگر من میگم که : ' fxl ' . upper( ) ' FXL ' آپر یعنی حروف بزرگتر . فکسل دات آپر ، FXL رو برمی گردونه ، در واقع من دارم روی یک استرینگ ، یک متد به اسم آپر کار می کنم ، درست مثل یک فانکشن. #Fxl #strings #Method #functions

نکته بامزه اینه که بزرگتر کوچیکتر هم داره ، مثلا : ' bia berim ' > ' adade aval ' True چجوری حساب می کنه؟ مثل دیکشنری ، یعنی
نکته بامزه اینه که بزرگتر کوچیکتر هم داره ، مثلا : ' bia berim ' > ' adade aval ' True چجوری حساب می کنه؟ مثل دیکشنری ، یعنی فکر می کنه اگه این کلمات تو دیکشنری نوشته شده بودن ترتیبشون چجوری بود . نکته : بزرگتر ها کوچیکتر هستن ، اینجا b حروف اول بیا ، بزرگتر از عدد a هستش . بزرگ و کوچیک چجوریه؟ ' A ' > ' a ' false تو دنیای کامپیوتر ، حروف کوچیک ، بزرگترن. #Fxl #strings

از مساوی هم میشه استفاده کرد ، مثلا : name = ' dara ' name == ' dara ' True = این مقدار می داد. == این چک می کرد. اما : name
از مساوی هم میشه استفاده کرد ، مثلا : name = ' dara ' name == ' dara ' True = این مقدار می داد. == این چک می کرد. اما : name == ' daraa ' false چرا غلطه؟ چون اینجا آخر اسم دارا دوتا a داره ، name ما مساوی با dara بود. #Fxl #name #strings

توی بخش دوم استرینگ ها ، از چیزهای دیگه هم استفاده میکنیم ، اولیش : ' a ' in ' dara ' True چرا درسته؟ چون دارا a داره. شما می
توی بخش دوم استرینگ ها ، از چیزهای دیگه هم استفاده میکنیم ، اولیش : ' a ' in ' dara ' True چرا درسته؟ چون دارا a داره. شما می تونید کارکتر بیشتری هم بنویسید ، مثلا: ' da ' in dara True چرا درسته؟ چون da بخشی از استرینگ ما هستش. ولی اگه daa میذاشتم : ' daa ' in ' dara ' false یک مدلش اینه ، یعنی من یک حروفی یا چیزی رو می تونم بنویسم که ببینم در استرینگ وجود داره یانه. این مدل در in کار می کنه. #Fxl #in #strings

نکته : توی پایتون مقدار های استرینگ هارو نمیشه به سادگی عوض کنیم . مثلا اگه s شما اینه : s [ 0 ] = ' M ' Error : ' str ' obje
نکته : توی پایتون مقدار های استرینگ هارو نمیشه به سادگی عوض کنیم . مثلا اگه s شما اینه : s [ 0 ] = ' M ' Error : ' str ' object does not support item assignment میگه استرینگ آبجکت رو نمی تونین عوض کنید ، نمی تونید برابر چیزی قرار بدین. پس باید چیکار کنیم؟ می تونیم اینطوری بنویسم که s مساوی با یک چیز جدید به علاوه ی اسی که قبلا بود . s = ' M ' + s [ 1 : ] در اصل میاد چیکار می کنه؟؟ پیش خودش میگه اوکی ، s چی بوده🤔 آها ! man daram miram حالا میگه s اینجا چی میشه ؟؟ an daram miram حالا گفته که M بزرگ رو بهش اضافه کن . در نتیجه اینطوری میشه : ' Man daram miram ' #Fxl #slice #strings #s

مثلا اگه بخواییم کلمه اول یک استرینگ رو حذف کنیم ، می تونیم اینطوری بگیم : s [ 1 : ] از یک تا اخر که کلمه اول حذف میشه. #Fxl
مثلا اگه بخواییم کلمه اول یک استرینگ رو حذف کنیم ، می تونیم اینطوری بگیم : s [ 1 : ] از یک تا اخر که کلمه اول حذف میشه. #Fxl #slice #strings