# زبان های اسکریپتی > دیگر زبان های اسکریپتی > مبتدی: چگونه باید زبان پایتون یاد بگیرم؟

## javad75

سلام من تابحال زبان برنامه نویسی نخوندم و الان می خواهم پایتون را یا بگیرم چون شندیم خیلی قوی هست و یادگیریش هم تقریبا آسان هست می خواستم بدونم که دقیقا باید از کجا شروع کنم؟

کتاب ها و مقالات فارسی آموزشی را از کجا می تونم پیدا کنم؟

باتشکر

----------


## eshpilen

توانایی استفاده از منابع انگلیسی رو پیشنیاز برنامه نویسی واقعی درنظر بگیرید.
چون دقیقا همینطوره.
تا زمانیکه شما دنبال منابع فارسی میگردید، پایتون یاد گرفتن چندان معنایی نداره.

بنده از همون اوایل که اولین بار دستم به کیبورد PC و ویندوز رسید شروع به یادگیری زبان انگلیسی لازم برای بهره وری بهینه از کامپیوتر کردم.

دست کم نگیرید.
نداشتن این توانایی شما رو خیلی محدود و کند میکنه.

ضمنا نیازی به کلاس و این حرفها هم نیست.
صرفا معانی تمام لغات موجود در متونی که در کامپیوتر بهشون برخورد میکنید رو حفظ کنید. از منوی استارت ویندوز تا الی آخر.
اینقدر تکرار کنید تا این کار براتون عادی و راحت بشه.
معنی دو سه هزارتا لغت رو که حفظ کنید کم کم شکوفا خواهید شد.
در معنای جملات و ساختار اونها دقت کنید. یک جمله رو ممکنه دو نفر حتی 180 درجه مخالف یکدیگر معنی کنن.
در سطح پیشرفته برید و گرامر رو هم تاحد ممکن بررسی کنید. چون حیفه توانایی انگلیسی آدم ناقص بمونه.

----------


## javad75

سلام من یک محیط برنامه نویسی مثل VS برای کد نویسی می خواهم|به این صورت که برخی چیز ها را بشه به صورت آماده استفاده کرد،مثلا برای ساخت یک دکمه راحت مثل VS داخل صفحه قرارش بدم

آیا یه همچین چیزی هست؟

----------


## eshpilen

نمیدونم شاید باشه.
ولی بنظر من اگر وارد دنیای بازمتن میشی نباید به این چیزا وابسته باشی.
من یه مشکلاتی برخورد کردم که هیچکس نتونسته بقدر کافی کمکم کنه، ولی اینقدر سماجت و پشتکار به خرج دادم و شده رفتم توی سورس خود زبان دستکاری کردم تا حل شده (بعنوان نمونه یک مورد خاصی با Qt داشتم که حل کردنش واقعا فراتر از تصورم بود، اما نهایت موفق شدم و البته شاید یکسری شانسهای عجیب هم آوردم که تونستم حلش کنم).
دنیای بازمتن دنیای نرم افزارهای تجاری و میکروسافت نیست که همه چی رو مثل لقمهء جویده برات آماده کنن. باید بری توی عمقش و ازش جون سالم بدر ببری. اونوقت با یک توانایی و بینش برتر میای بیرون (ولی بحث روی صرفه و کاربرد تجاریش ندارما).
باید بتونی خودت سرچ کنی و مطلب بخونی و همه کارت رو راه بندازی. البته نه اینکه بگم در هیچ چیزی از دیگران کمک نگیری.

اگر نمیخوای این کارها رو بکنی، پس باید بچسبی به نرم افزارهای میکروسافت.

البته من که ندیدم و نمیتونم تصور کنم آدم با چنین محدودیتی چطور میتونه برنامه نویس واقعا حرفه ای بشه.
بنظر من هیچوقت با چسبیدن به یک چنین ابزارها و محیط محدودی و این همه وابستگی و ضعف نمیشه وارد سطوح برتری از توانایی شد.
نهایت آدم بلده برنامه های کلیشه ای درست (سرهم) کنه.

----------


## mr AHR

اگر به خاطر قدرت زبان میرید Ruby خیلی گزینه ی بهتریه ( Python برای کارهای دانشگاهی - اونهم نه تو ایران - متداوله) 
و البته اگر به طرف Ruby نمیرین PyDev برای Eclipse هست که خیییییلی جوابه ( حتی از VS هم بهتر - در مقایسه با IronPython)

----------


## MSK

سلام؛
من خودم سایتون رو از اینجا: http://docs.python.org/3/tutorial/ یاد گرفتم. و هنوزم هر از چند گاهی بهش سر می زنم.
اما در مورد محیط برنامه نویسی هم من خودم این محیط رو ترجیح میدم: http://eric-ide.python-projects.org/
اما باید در نظر داشته باشید که پایتون بصورت استاندارد از برنامه نویسی گرافیکی مثل ویندوز پشتیبانی نمی کنه. واسه همین هم چیزی مثل VC واسش پیدا نمی کنید. البته اگه توی پایتون بخواید با Qt یا gtk کار کنید، اینها طراح پنجره دارند و همین اریک که بالا معرفی کردم واسه Qt این رو پشتیبانی میکنه، اما به اون راحتی VC نیست. هرچی باشه VC کار میکروسافت ه و این برنامه ها برنامه های متن باز هستند.

----------


## armanmaz1373

لطفا برنامه های آزاد را با برنامه های باز متن اشتباه نگیرید. برنامه های آزاد از نظر فلسفه ایجاد و مجوز ها تفاوت های اساسی با برنامه های بازمتن دارند و تمام برنامه های یاد شما هم آزاد هستند.

----------


## eshpilen

> برنامه های آزاد از نظر فلسفه ایجاد و مجوز ها تفاوت های اساسی با برنامه های بازمتن دارند و تمام برنامه های یاد شما هم آزاد هستند.


 خیر از نظر مجوزها اونقدر تفاوت ندارن.
نهایت شاید بازمتن ها بیشتر از نرم افزار آزاد از مجوزهای غیرکپی لفت استفاده کنن، ولی از GPL و مابقی مجوزهای کپی لفت هم زیاد استفاده میکنن.
در تقریبا تمام موارد، نرم افزارهای آزاد و بازمتن در عمل تفاوت مهمی ندارن.
تقریبا تمام یا حداقل بیشتر مجوزهای نرم افزار آزاد و بازمتن اگر دقیقا با هم یکسان هم نباشن، با هم سازگار هستن.
نرم افزار آزاد و بازمتن از اسمشون گذشته، بیشتر در بعد فلسفی هست که با هم فرق میکنن.
درواقع میشه بازمتن رو یک انشعاب غیرسیاسی/غیر فلسفی از نرم افزار آزاد دونست.

----------


## armanmaz1373

دوست عزیز باز متن بودن یک پیش نیاز هست بار آزاد بودن. برای همین هر نرم افزار آزادی در قدم اول بازمتن هست. 



> خیر از نظر مجوزها اونقدر تفاوت ندارن.
> نهایت شاید بازمتن ها بیشتر از نرم افزار آزاد از مجوزهای غیرکپی لفت استفاده کنن، ولی از GPL و مابقی مجوزهای کپی لفت هم زیاد استفاده میکنن.


پس اگه نرم افزاری تحت GPL منتشر شود بهتر است به آن آزاد بگویم تا باز متن.




> در تقریبا تمام موارد، نرم افزارهای آزاد و بازمتن در عمل تفاوت مهمی ندارن.
> تقریبا تمام یا حداقل بیشتر مجوزهای نرم افزار آزاد و بازمتن اگر دقیقا با هم یکسان هم نباشن، با هم سازگار هستن.
> نرم افزار آزاد و بازمتن از اسمشون گذشته، بیشتر در بعد فلسفی هست که با هم فرق میکنن.
> درواقع میشه بازمتن رو یک انشعاب غیرسیاسی/غیر فلسفی از نرم افزار آزاد دونست.


اول از هم عرض کنم من منظور شما رو از در عمل تفاوت اساسی ندارند متوجه نشدم و اگه منظور شما اینه که از جفتشون می شه به یک صورت استفاده کرد باید بگم خیر!
مثلا هر نرم افزار باز متن به شما این اجازه رو نمی ده که سورسش رو دستکاری کنید و یا یک نسخه از نرم افزار خودتون رو به دوستان بدهید یا از آن بدتر نسخه دستکاری شده خودتون رو منتشر کنید. ولی در صورتی که این ۳مورد ۳تا از ۴مورد شروط آزاد بودن نرم افزار هست. پس این نرم افزار ها علاوه در اسم و فلسفه تفاوت های دیگه هم با هم دارند.

----------


## eshpilen

> اول از هم عرض کنم من منظور شما رو از در عمل تفاوت اساسی ندارند متوجه نشدم و اگه منظور شما اینه که از جفتشون می شه به یک صورت استفاده کرد باید بگم خیر!
> مثلا هر نرم افزار باز متن به شما این اجازه رو نمی ده که سورسش رو دستکاری کنید و یا یک نسخه از نرم افزار خودتون رو به دوستان بدهید یا از آن بدتر نسخه دستکاری شده خودتون رو منتشر کنید. ولی در صورتی که این ۳مورد ۳تا از ۴مورد شروط آزاد بودن نرم افزار هست. پس این نرم افزار ها علاوه در اسم و فلسفه تفاوت های دیگه هم با هم دارند.


 اشتب کردی دیگه.
ببین اصطلاح بازمتن (Open source) مبهم هست.
مثل اصطلاح آزاد (Free) در نرم افزار آزاد البته در زبان انگلیسی.
چون در زبان انگلیسی Free به معنای مجانی هم بکار میره.
همونطور که منظور از نرم افزار آزاد مجانی بودن نیست (گرچه تقریبا تمام نرم افزارهای آزاد مجانی هم هستند، ولی این یک شرط نرم افزار آزاد بودن نیست و صرفا یک اثر جانبی است)، منظور از بازمتن هم فقط در دسترس بودن کدمنبع نیست.
منتها ممکنه در قبل یا حتی الان بعضیها منظورشون از بازمتن فقط شرط در دسترس بودن کدمنبع باشه.
اما موضوع اینه که این تعریف عمومی ای که امروزه برای بازمتن استفاده میشه نیست.
امروزه بازمتن به معنی نرم افزاری هست که اون حقوق دیگر رو هم که گفتیم میده.
خیلی وقته این معنی هست و کم و بیش تعریف رسمیه که 90% افراد منظورشون همینه. بیشتر اونایی هم که منظورشون از اصطلاح بازمتن (Open source) فقط در دسترس بودن کدمنبع هست (بدون حقوق دیگری که نرم افزار آزاد میده) احتمالا اطلاعات کامل و دقیق در این مورد ندارن و بنابراین مثل شما از اصطلاح اشتباه و گمراه کننده ای دارن استفاده میکنن (نمیدونن که معنی متداولش چیز دیگریست).
یه نگاهی به این مقالهء بنده درمورد تفاوت نرم افزار آزاد و بازمتن بکن: http://www.hamidreza-mz.tk/?p=487
در انتهاش هم لینک مقالات ویکیپدیا هست.
مثلا در این منبع: http://en.wikipedia.org/wiki/Open_source_definition
نقل قولی از بنیاد نرم افزار آزاد آورده:
The term “open source” software is used by some people to mean more or  less the same category as free software. It is not exactly the same  class of software: they accept some licenses that we consider too  restrictive, and there are free software licenses they have not  accepted. However, the differences in extension of the category are  small: nearly all free software is open source, and nearly all open  source software is free.

ترجمه: اصطلاح بازمتن بوسیلهء بعضی از افراد کم و بیش به معنای مقولهء یکسانی با نرم افزار آزاد استفاده میشود. آن دقیقا کلاس یکسانی از نرم افزار نیست: آنها بعضی مجوزهایی را قبول میکنند که ما بیش از حد محدودکننده میدانیم، و مجوزهای نرم افزار آزادی وجود دارند که آنها قبول نکرده اند. اما تفاوتها در توسعهء مقوله ها کوچک هستند؛ تقریبا تمام نرم افزارهای آزاد بازمتن هستند، و تقریبا تمام نرم افزارهای بازمتن آزاد هستند.

اصل این نقل قول رو هم میتونید عینا از سایت رسمی پروژهء GNU بخونید: http://www.gnu.org/philosophy/categories.html

Despite the fundamental philosophical differences between the free software movement and the open source movement, the official definitions of free software by the Free Software Foundation and of open source software by the Open Source Initiative basically refer to the same software licenses, with a few minor exceptions.

ترجمه: علیرغم  تفاوتهای بنیادین فلسفی بین جنبش نرم افزار آزاد و جنبش بازمتن، تعاریف  رسمی نرم افزار آزاد بوسیلهء بنیاد نرم افزار آزاد و نرم افزار بازمتن  بوسیلهء Open Source Initiative اساسا به مجوزهای نرم افزاری یکسانی اشاره میکنند، همراه با تعداد معدودی استثناهای کوچک.

اگر بازم شک داشتی بگو تا منابع دیگری هم برات بیارم.

----------


## Bug***

> سلام من تابحال زبان برنامه نویسی نخوندم و الان می خواهم پایتون را یا بگیرم چون شندیم خیلی قوی هست و یادگیریش هم تقریبا آسان هست می خواستم بدونم که دقیقا باید از کجا شروع کنم؟
> 
> کتاب ها و مقالات فارسی آموزشی را از کجا می تونم پیدا کنم؟
> 
> باتشکر


اگه تا حالا هیچ زبان برنامه نویسی ای یاد نگرفته اید من به شما توصیه می کنم که به هیچ وجه سراغ پایتون برای گام اول نرید به دلایل زیر: 1-شما رو تنبل می کند و کار با زبان های دیگه رو برای شما سخت می کنه 2-قدرتمند هست ولی نه به اندازه سی پلاس پلاس و جاوا به طور کلی خیلی نسبت به اونها کند تر هست که خوب کاملا مشخص هست که چرا من خودم خیلی با این زبان حال می کنم ولی به شما توصیه می کنم که فعلا اول از سی پلاس پلاس شروع کنید

----------


## haman1490

> سلام؛
> من خودم سایتون رو از اینجا: http://docs.python.org/3/tutorial/ یاد گرفتم. و هنوزم هر از چند گاهی بهش سر می زنم.
> اما در مورد محیط برنامه نویسی هم من خودم این محیط رو ترجیح میدم: http://eric-ide.python-projects.org/
> اما باید در نظر داشته باشید که پایتون بصورت استاندارد از برنامه نویسی گرافیکی مثل ویندوز پشتیبانی نمی کنه. واسه همین هم چیزی مثل VC واسش پیدا نمی کنید. البته اگه توی پایتون بخواید با Qt یا gtk کار کنید، اینها طراح پنجره دارند و همین اریک که بالا معرفی کردم واسه Qt این رو پشتیبانی میکنه، اما به اون راحتی VC نیست. هرچی باشه VC کار میکروسافت ه و این برنامه ها برنامه های متن باز هستند.


اقا من این اریک رو دانلود کردم اما نمیدونم چجوری اونو تو ویندوز ران کنم ممنون میشم کمکم کنید

----------


## ehsan1362

> سلام من یک محیط برنامه نویسی مثل VS برای کد نویسی می خواهم|به این صورت که برخی چیز ها را بشه به صورت آماده استفاده کرد،مثلا برای ساخت یک دکمه راحت مثل VS داخل صفحه قرارش بدم
> 
> آیا یه همچین چیزی هست؟


سلام دوست عزیز .
برای این کار شما باید از نرم افزار Qt استفاده کنید و یک ماژول به نام pyQt بر روی پایتون خودتون سوار کنید.
توی نت هم میتونید راجع به نرم افزار مذکور آموزش موردنیازت رو پیدا کنید.

این نرم افزار رو میتونید به صورت رایگان از اینترنت دریافت کنید. :لبخند:

----------


## ehsan1362

> سلام من تابحال زبان برنامه نویسی نخوندم و الان می خواهم پایتون را یا بگیرم چون شندیم خیلی قوی هست و یادگیریش هم تقریبا آسان هست می خواستم بدونم که دقیقا باید از کجا شروع کنم؟
> 
> کتاب ها و مقالات فارسی آموزشی را از کجا می تونم پیدا کنم؟
> 
> باتشکر


سلام دوست عزیز . تبریک میگم به خاطرانتخاب زبان پایتون .

برای یادگیری زبان برنامه نویسی پایتون شما میتونی از کتاب "ازاین پس پایتون" استفاده کنید.
این کتاب به زبان فارسی آموزش میده و ازمباحث پایه تا شی گرایی داخل این کتاب آموزش داده شده است . 

این کتاب رو ازاین لینک میتونید دانلود کنید .
http://p30download.com/fa/entry/39110/

----------

