• زبان برنامه نویسی پایتون یادگیری از ابتدا: ویژگی ها، قوانین و توصیه ها مروری کوتاه بر زبان پایتون

    آیا باید زبان برنامه نویسی پایتون را یاد بگیرید؟ پس از همه، شما اغلب می توانید بشنوید که این زبان در حال مرگ است. این موضوع توسط کاربران Quora مورد بحث قرار گرفت و نظرات خود را به اشتراک گذاشتند.

    بیل کارون، توسعه دهنده، مشاور، مربی و نویسنده SQL

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

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

    اکثر برنامه نویسان امروزه از زبان های سطح بالاتر استفاده می کنند - آنها باید بهره وری بیشتری داشته باشند. زبان‌های سطح بالا را می‌توان در کد ماشین (C یا C++) کامپایل کرد و می‌توان آن‌ها را در بایت کد مستقل معماری کامپایل کرد و در ماشین مجازی (جاوا) اجرا کرد یا پردازش کرد (جاوا اسکریپت، پی‌اچ‌پی، روبی، پایتون، پرل و غیره). ).

    این تصور اشتباه که یادگیری زبان اسمبلی ضروری است، زیرا «از پایتون بهتر است». این یک دیدگاه احمقانه بر اساس داده های قدیمی است.

    بیل پوچر، مدیر اجرایی، ICPC، نرم افزار انرژی، ژنتیک مصنوعی و غیره.

    پایتون را یاد بگیرید. تجربه ای در زمینه برنامه نویسی برای خود فراهم کنید. این زبان ظرافت خاص خود را دارد.

    زبان C را برای ماشین های یونیکس بیاموزید. درک یونیکس نسبتا آسان است.

    MIX را برای درک Knuth یاد بگیرید.

    جاوا را یاد بگیرید تا در کار با دیگران مشکلی نداشته باشید و همچنین برنامه نویسی شی گرا را یاد بگیرید.

    ++C را یاد بگیرید تا به هر سبکی که می خواهید برنامه نویسی کنید. نقطه قوت آن این است که زبان برنامه نویسی اصلی است. نقطه ضعف آن این است که برای برنامه ریزی روی آن باید سبک آن را درک کنید.

    برای تقویت درک خود از بازگشت، LISP را بیاموزید.

    گفتم ارزش ندارد حداقل چیزی یاد بگیرم؟ خیر زیرا تنها کاری که باید انجام دهید این است که خود را آموزش دهید تا دائماً چیزی یاد بگیرید، به ویژه یاد بگیرید چگونه مشکلاتی را که پیش می آید حل کنید.

    شیوا شینده، کدنویسی پایتون آسان است اما خواندن آن سخت است

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

    1. یادگیری آن آسان است
    • در حال حاضر، 8 برنامه از 10 برنامه محاسباتی برتر ایالات متحده از این زبان استفاده می کنند (Philip Guo، CACM)
    • برنامه‌های پایتون معمولاً دارای حداقل boilerplate هستند که معمولاً در سایر زبان‌های برنامه‌نویسی یافت می‌شود. بنابراین، می‌توانید از راه‌حل‌های غیرقابلیت بیشتر برای مشکلات استفاده کنید.
    • اگر تجربه برنامه نویسی دارید، حتی اگر به این زبان نباشید، به سرعت به پایتون مسلط خواهید شد.

    2. عملکرد کامل

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

    3. کتابخانه داده های علمی جدی

    • پایتون دارای کتابخانه های علمی قابل توجهی با حجم عظیمی از داده ها برای استفاده است.
    • ستون فقرات این کتابخانه های علمی اکوسیستم SciPy است که حتی کنفرانس های خود را نیز برگزار می کند.
    • پانداها و Matplotlib بخشی از SciPy هستند. آنها داده های عالی را در مورد طیف گسترده ای از موضوعات، مانند یادگیری ماشین، متن کاوی، و تجزیه و تحلیل شبکه ارائه می دهند.

    هرنان سولگز، برنامه نویس عملگرا

    این زبان بسیار محبوب است، اهمیت آن در محافل دانشگاهی در حال افزایش است. همچنین درست است که سودمندی یک زبان برنامه نویسی به کاری که می خواهید با آن انجام دهید بستگی دارد.

    من اصلاً PHP را دوست ندارم، اما آنقدر احمق نیستم که بتوانم تطبیق پذیری و قدرت آن و این واقعیت را که این زبان به اندازه کافی آسان برای تسلط بر آن آسان است را انکار کنم.
    در مورد یادگیری اسمبلر، این زبان به طور مستقیم به پردازنده ای که با آن کار می کنید بستگی دارد.

    اگر می دانید چگونه با یکی کار کنید، مطمئناً می توانید برای مدتی از آن در خانواده ای از پردازنده ها استفاده کنید. اما با گذشت زمان، آنها دستخوش تغییراتی می شوند. از این نظر کم دوام ترین خانواده زبان هاست.

    Magnus Lychka، توسعه دهنده و مشاور نرم افزار در گوتنبرگ

    بسیاری از کاربران پایتون را دوست دارند. برای برخی از برنامه‌ها، سرعت آن خیلی کند خواهد بود و مثلاً با زبان اسمبلی سریع‌تر کار می‌کنند، اما این برنامه‌ها به سرعت در C نیز کار می‌کنند، در حالی که کد نوشته شده در C برای هر پلتفرمی کار می‌کند.

    بسیاری از استارت‌آپ‌ها با پایتون موفق می‌شوند، پس از آن باید برخی از برنامه‌ها را به زبان جاوا، C++ یا C بازنویسی کنند. و اگر این استارت‌آپ‌ها با زبان اسمبلی شروع به کار می‌کردند، به احتمال زیاد خیلی قبل از اینکه خیلی سریع باشند، بودجه‌شان تمام می‌شد. اما به سختی خواندن کد تمام می شود.

    اما هنگام کار با زبان اسمبلی، نه تنها باید با معماری های مختلف پردازنده، بلکه با جزئیات فنی که در سیستم عامل های مختلف متفاوت است، سروکار داشته باشید.

    • هدف 1- برای کمک به پیوندها، مواد، کسانی که قصد دارند برنامه نویسی را یاد بگیرند و پایتون را به عنوان زبان اول خود بگیرند. نشان دهید که آنقدرها هم که به نظر می رسد سخت نیست.
    • هدف 2- پیوندهایی به مطالب مفید و جالب در مورد این موضوع را در نظرات جمع آوری کنید.

    0. آیا موفق خواهم شد؟

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

    بیهوده می ترسیدم و تو را نصیحت نمی کنم. برنامه نویسی احتمالا هرگز به حرفه اصلی من تبدیل نخواهد شد، اما راهی عالی برای خلاقیت است. این شطرنج و تمدن به هم تبدیل شده اند.

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

    1. ادبیات

    مارک لوتز "برنامه نویسی پایتون"- توصیه می شود در بسیاری از انجمن ها و دوره ها بخوانید. به نظر من برای یک مبتدی بسیار دقیق و بارگذاری شده بود. زیاد بخوانید، کمی برنامه ریزی کنید. خواندن آن پس از تسلط بر حداقل های پایتون بسیار مفیدتر است.

    مارک سامرفیلد "برنامه نویسی پایتون 3"- پویا، با مثال ها و تکالیف عالی. بدون تعمیق بیش از حد، که فقط در ابتدا همه چیز را پیچیده می کند. توصیه می‌کنم با این کتاب شروع کنید، این به شما کمک می‌کند تا به سرعت درک کنید، بدون اینکه شما را با پیچیدگی‌ها بترساند.

    همه کتاب های دیگر کمتر مفید و آموزنده هستند. به طور کلی، ادبیات خوب در مورد این موضوع صرفاً در فروشگاه یا در نسخه دیجیتال خرید و فروش دشوار است.

    2. آنچه در اینترنت بخوانید

    http://pythonworld.ru/ - یک زبان ساده و قابل فهم در مورد اصول اولیه زبان می گوید که اغلب به عنوان یک برگه تقلب استفاده می شود.

    دو ماه بعد، من توانستم اولین برنامه جنگو را ایجاد کنم. اما نکته اصلی این است که اکنون دانش کافی برای خودسازی و یادگیری دارم. سخت ترین قسمت رسیدن به این نقطه است.

    یک ماه بعد، به دو پروژه در GitHub پیوستم و در آنها شرکت کردم. البته کارهایی را که تاکنون ساده هستند حل می کنم، اما در عوض مشاوره و آموزش می بینم.

    برچسب ها: یادگیری پایتون ، یادگیری برنامه نویسی

    برنامه نویسی در پایتون

    بخش 1. ویژگی های زبان و نحو اساسی

    سری مطالب:

    آیا ارزش یادگیری پایتون را دارد؟

    پایتون یکی از محبوب ترین زبان های برنامه نویسی مدرن است. این برای حل انواع مشکلات مناسب است و ویژگی های مشابه سایر زبان های برنامه نویسی را ارائه می دهد: پویایی، پشتیبانی از OOP و کراس پلتفرم. توسعه پایتون توسط Guido Van Rossum در اواسط دهه 1990 آغاز شد، بنابراین تا کنون توانسته است از شر بیماری های استاندارد "کودکی" خلاص شود، به طور قابل توجهی بهترین جنبه های زبان را توسعه دهد و بسیاری از برنامه نویسان را که از پایتون برای پیاده سازی خود استفاده می کنند جذب کند. پروژه ها.

    بسیاری از برنامه نویسان احساس می کنند که لازم است فقط زبان های برنامه نویسی "کلاسیک" مانند جاوا یا C++ را یاد بگیرند، زیرا به هر حال سایر زبان ها توانایی های مشابهی را ارائه نمی دهند. با این حال، اخیراً این باور وجود داشته است که برای یک برنامه نویس مطلوب است که بیش از یک زبان بداند، زیرا این امر افق دید او را گسترده تر می کند و به او اجازه می دهد وظایف را خلاقانه تر حل کند و رقابت خود را در بازار کار افزایش دهد.

    یادگیری کامل دو زبان مانند جاوا و سی پلاس پلاس بسیار دشوار است و زمان زیادی را می طلبد. علاوه بر این، بسیاری از جنبه های این زبان ها با یکدیگر در تضاد هستند. در عین حال، پایتون برای نقش زبان دوم ایده‌آل است، زیرا به دلیل دانش موجود در OOP بلافاصله جذب می‌شود، و این واقعیت که قابلیت‌های آن در تضاد نیست، بلکه مکمل تجربه به دست آمده در حین کار با برنامه‌نویسی دیگر است. زبان

    اگر یک برنامه نویس به تازگی در زمینه توسعه نرم افزار شروع کرده است، پایتون یک زبان برنامه نویسی "مقدمه ای" ایده آل خواهد بود. به دلیل مختصر بودن، به شما امکان می دهد تا به سرعت بر نحو زبان تسلط پیدا کنید و عدم وجود "میراث" به شکل بدیهیاتی که در طول سال ها شکل گرفته است به شما کمک می کند تا به سرعت به OOP تسلط پیدا کنید. به دلیل این عوامل، منحنی یادگیری پایتون نسبتاً کوتاه خواهد بود و برنامه نویس می تواند از مطالعات موردی به پروژه های تجاری حرکت کند.

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

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

    معماری پایتون

    هر زبان، چه برای برنامه نویسی و چه برای ارتباط، حداقل از دو بخش تشکیل شده است - واژگان و نحو. زبان پایتون نیز به همین ترتیب سازماندهی شده است، و یک نحو برای تولید عباراتی که برنامه‌های اجرایی را تشکیل می‌دهند، و یک فرهنگ لغت، مجموعه‌ای از عملکردها در قالب یک کتابخانه استاندارد و افزونه‌ها ارائه می‌کند.

    همانطور که قبلا ذکر شد، سینتکس پایتون کاملا مختصر است، به خصوص زمانی که با جاوا یا C++ مقایسه شود. از یک طرف، این خوب است، زیرا هر چه نحو ساده تر باشد، یادگیری آن آسان تر است و اشتباهات کمتری می توانید در فرآیند استفاده از آن مرتکب شوید. با این حال، چنین زبان هایی دارای یک اشکال هستند - می توان از آنها برای انتقال ساده ترین اطلاعات استفاده کرد و نمی توانند ساختارهای پیچیده را بیان کنند.

    این در مورد پایتون صدق نمی کند، زیرا یک زبان ساده اما ساده است. واقعیت این است که پایتون زبانی است با سطح انتزاع بالاتر، مثلاً بالاتر از جاوا و C ++، و به شما امکان می دهد همان مقدار اطلاعات را در مقدار کمتری از کد منبع انتقال دهید.

    همچنین، پایتون یک زبان همه منظوره است، بنابراین می توان آن را در تقریباً در هر زمینه ای از توسعه نرم افزار (مستقل، سرویس گیرنده-سرور، برنامه های کاربردی وب) و در هر زمینه موضوعی استفاده کرد. علاوه بر این، پایتون به راحتی با کامپوننت های موجود ادغام می شود، که امکان تعبیه پایتون را در برنامه های از قبل نوشته شده امکان پذیر می کند.

    بخش دیگری از موفقیت پایتون ماژول های توسعه دهنده آن است، هم استاندارد و هم خاص. ماژول های برنامه افزودنی استاندارد پایتون برای حل مشکلاتی که در هر پروژه توسعه نرم افزار، پردازش رشته و متن، تعامل با سیستم عامل، پشتیبانی از برنامه های کاربردی وب به وجود می آیند، به خوبی طراحی شده و کارایی اثبات شده ای دارند. این ماژول ها همچنین به زبان پایتون نوشته شده اند، بنابراین آنها مهمترین ویژگی آن را دارند - cross-platform، که به شما امکان می دهد بدون دردسر و سریع پروژه ها را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.

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

    زمان اجرا پایتون

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

    محیط اجرای Java علاوه بر این شامل یک کامپایلر است زیرا کد منبع باید به کد بایت برای ماشین مجازی جاوا کامپایل شود. زمان اجرا پایتون فقط شامل یک مفسر است که آن هم یک کامپایلر است، اما کد منبع پایتون را مستقیماً به کد بومی پلتفرم هدف کامپایل می‌کند.

    در حال حاضر سه اجرای معروف در زمان اجرا برای پایتون وجود دارد: CPython، Jython و Python.NET. همانطور که از نامش پیداست، محیط اول در C، محیط دوم در جاوا و آخرین محیط در دات نت پیاده سازی شده است.

    زمان اجرای CPython معمولاً به سادگی Python نامیده می شود و وقتی مردم در مورد Python صحبت می کنند، اغلب به این پیاده سازی اشاره می شود. این پیاده‌سازی شامل یک مفسر و ماژول‌های پسوندی است که به زبان C نوشته شده‌اند و می‌توانند روی هر پلتفرمی که یک کامپایلر استاندارد C برای آن در دسترس است استفاده شود. علاوه بر این، نسخه‌های کامپایل‌شده زمان اجرا برای سیستم‌های عامل مختلف، از جمله نسخه‌های مختلف OC Windows وجود دارد. و توزیع های مختلف لینوکس. در این مقاله و مقاله های بعدی، CPython در نظر گرفته خواهد شد، مگر اینکه به طور جداگانه مشخص شده باشد.

    زمان اجرا Jython یک پیاده سازی پایتون برای کار با ماشین مجازی جاوا (JVM) است. هر نسخه از JVM پشتیبانی می شود، از نسخه 1.2.2 شروع می شود (نسخه فعلی جاوا 1.6 است). Jython به یک ماشین جاوا نصب شده (محیط زمان اجرا جاوا) و مقداری دانش از زبان برنامه نویسی جاوا نیاز دارد. شما نیازی به دانستن نحوه نوشتن کد منبع جاوا ندارید، اما باید با فایل‌های JAR و اپلت‌های جاوا و همچنین مستندات با فرمت JavaDOC آشنا باشید.

    اینکه کدام نسخه از محیط را انتخاب کنید تنها به ترجیحات برنامه نویس بستگی دارد، به طور کلی، توصیه می شود هر دو CPython و Jython را روی رایانه نگه دارید، زیرا آنها با یکدیگر تضاد ندارند، بلکه مکمل یکدیگر هستند. محیط CPython سریعتر است زیرا هیچ لایه میانی به شکل JVM وجود ندارد. علاوه بر این، نسخه های به روز شده پایتون ابتدا به عنوان یک محیط CPython منتشر می شود. با این حال، Jython می تواند از هر کلاس جاوا به عنوان یک ماژول افزونه استفاده کند و بر روی هر پلتفرمی که برای آن پیاده سازی JVM وجود دارد اجرا شود.

    هر دو زمان اجرا تحت مجوز سازگار با GPL معروف منتشر می شوند، بنابراین می توان از آنها برای توسعه نرم افزار تجاری و رایگان استفاده کرد. اکثر ماژول های افزونه پایتون نیز تحت مجوز GPL منتشر می شوند و می توانند آزادانه در هر پروژه ای مورد استفاده قرار گیرند، اما افزونه های تجاری یا افزونه هایی با مجوزهای دقیق تر وجود دارند. بنابراین، هنگام استفاده از پایتون در یک پروژه تجاری، باید از محدودیت‌هایی که در مجوزهای افزونه افزونه وجود دارد، آگاه باشید.

    شروع کار با پایتون

    قبل از اینکه بتوانید استفاده از پایتون را شروع کنید، باید محیط زمان اجرا آن را نصب کنید - در این مقاله CPython و بر این اساس، مفسر پایتون است. روش‌های نصب مختلفی وجود دارد: کاربران پیشرفته می‌توانند پایتون را از کد منبع عمومی آن کامپایل کنند، همچنین می‌توانید فایل‌های اجرایی آماده برای یک سیستم عامل خاص را از وب‌سایت www.python.org دانلود کنید، و در نهایت، بسیاری از توزیع‌های لینوکس با مفسر پایتون قبلاً نصب شده است. این مقاله از نسخه ویندوز Python 2.x استفاده می کند، اما نمونه های ارائه شده را می توان بر روی هر نسخه از Python اجرا کرد.

    پس از اینکه نصب کننده فایل های اجرایی پایتون را در دایرکتوری مشخص شده استقرار داد، باید مقادیر متغیرهای سیستم زیر را بررسی کنید:

    • مسیر. این متغیر باید شامل مسیر دایرکتوری که پایتون در آن نصب شده باشد باشد تا سیستم عامل بتواند آن را پیدا کند.
    • PYTHONHOME. این متغیر فقط باید حاوی مسیر دایرکتوری باشد که پایتون در آن نصب شده است. این دایرکتوری همچنین باید حاوی یک زیر شاخه lib باشد که برای ماژول های استاندارد پایتون جستجو می شود.
    • PYTHONPATH. متغیری با فهرستی از دایرکتوری‌های حاوی ماژول‌های افزونه که به پایتون متصل می‌شوند (عناصر فهرست باید با جداکننده سیستم از هم جدا شوند).
    • PYTHONSTARTUP . یک متغیر اختیاری که مسیر یک اسکریپت پایتون را تعریف می کند که باید هر بار که یک جلسه مفسر تعاملی پایتون شروع می شود اجرا شود.

    خط فرمان برای کار با مفسر ساختار زیر را دارد.

    PYTHONHOME\python (گزینه ها) [ -c command | فایل اسکریپت | - ] (استدلال)

    حالت تعاملی پایتون

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

    مقدار عبارت ارزیابی شده در یک متغیر خاص به نام Single Underscore (_) ذخیره می شود تا بتوان از آن در عبارات بعدی استفاده کرد. می توانید یک جلسه تعاملی را با فشار دادن Ctrl-Z در ویندوز یا Ctrl-D در لینوکس پایان دهید.

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

    برای تأیید اینکه پایتون به درستی نصب شده و کار می کند، می توانید دستورات زیر را اجرا کنید:

    c:\>python-v
    c:\> python –c “import time; print time.asctime()”

    گزینه -v نسخه پیاده سازی پایتون مورد استفاده را نشان می دهد و از آن خارج می شود، در حالی که فرمان دوم مقدار زمان سیستم را روی صفحه نمایش می دهد.

    شما می توانید اسکریپت های پایتون را در هر ویرایشگر متنی بنویسید، زیرا آنها فایل های متنی ساده هستند، اما محیط های توسعه خاصی برای کار با پایتون طراحی شده اند.

    اصول دستور زبان پایتون

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

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

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

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

    انواع داده های مورد استفاده در پایتون

    انواع داده های مورد استفاده در پایتون نیز مانند سایر زبان ها هستند - انواع داده های عدد صحیح و واقعی. علاوه بر این، یک نوع داده پیچیده پشتیبانی می شود - با یک بخش واقعی و خیالی (نمونه ای از چنین عددی 1.5J یا 2j است که در آن J جذر -1 است). پایتون از رشته هایی پشتیبانی می کند که می توانند در گیومه های تک، دوتایی یا سه گانه محصور شوند، در حالی که رشته ها، مانند جاوا، اشیای تغییرناپذیر هستند، به عنوان مثال. پس از ایجاد نمی تواند ارزش آنها را تغییر دهد.

    پایتون همچنین دارای یک نوع داده bool با دو مقدار True و False است. با این حال، نسخه‌های قدیمی‌تر پایتون این نوع داده را نداشتند، و علاوه بر این، هر نوع داده‌ای را می‌توان به مقدار بولی True یا False فرستاد. تمام اعداد غیر صفر و رشته ها یا مجموعه های داده غیر خالی به عنوان True و مقادیر خالی و صفر به عنوان False در نظر گرفته شدند. این ویژگی در نسخه های جدید پایتون حفظ شده است، اما برای افزایش خوانایی کدها، پیشنهاد می شود از نوع bool برای متغیرهای بولی استفاده شود. در عین حال، اگر نیاز به حفظ سازگاری با پیاده‌سازی‌های قدیمی‌تر پایتون دارید، باید از 1 (True) یا 0 (False) به عنوان متغیرهای بولی استفاده کنید.

    قابلیت کار با مجموعه داده ها

    پایتون سه نوع مجموعه را برای ذخیره مجموعه داده ها تعریف می کند:

    • چندتایی؛
    • فهرست (فهرست)؛
    • فرهنگ لغت.

    تاپل یک توالی مرتب شده غیرقابل تغییر از داده ها است. می تواند حاوی عناصری از انواع مختلف باشد، مانند تاپل های دیگر. یک تاپل در پرانتز تعریف می شود و عناصر آن با کاما از هم جدا می شوند. تابع داخلی خاص ()tuple به شما اجازه می دهد تا از یک توالی داده شده تاپل ایجاد کنید.

    لیست یک توالی مرتب شده قابل تغییر از عناصر است. عناصر لیست نیز با کاما از هم جدا می شوند، اما قبلاً در پرانتز قرار گرفته اند. تابع list() برای ایجاد لیست استفاده می شود.

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

    لیست 1 نمونه هایی از مجموعه های مختلف موجود در پایتون را نشان می دهد.

    فهرست 1. انواع مجموعه موجود در پایتون
    ('w','o','r','l','d') # تاپیک از پنج عنصر (2.62،) # چند تایی از یک عنصر ["test", "me"] # لیست دو عنصر # لیست خالی ( 5:'a', 6:'b', 7:'c' ) # فرهنگ لغت 3 عنصری با کلیدهای int

    تعریف توابع در پایتون

    اگرچه پایتون از OOP پشتیبانی می کند، اما بسیاری از ویژگی های آن به عنوان توابع جداگانه پیاده سازی می شوند. علاوه بر این، ماژول های افزونه اغلب به شکل کتابخانه ای از توابع ساخته می شوند. توابع همچنین در کلاس ها استفاده می شوند، جایی که به طور سنتی به آنها متد می گویند.

    سینتکس برای تعریف توابع در پایتون بسیار ساده است. با توجه به شرایط فوق:

    def FUNCTION_NAME(پارامترها): عبارت #1 عبارت #2 ...

    همانطور که می بینید استفاده از کلمه کلیدی def، کولون و تورفتگی ضروری است. فراخوانی یک تابع نیز بسیار ساده است:

    FUNCTION_NAME (پارامترها)

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

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

    # تابعی که تقسیم عدد صحیح را انجام می دهد - با استفاده از عملگر // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # نتیجه کار: 10 print divide(delitel=5, delimoe=50) # نتیجه کار: 10

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

    اگر تابع بسیار ساده باشد و از یک خط تشکیل شده باشد، می توان آن را درست در محل استفاده تعریف کرد، در پایتون به چنین ساختاری تابع لامبدا (لامبدا) می گویند. یک تابع لامبدا یک تابع ناشناس (بدون نام خود) است که بدنه آن یک عبارت بازگشتی است که مقدار برخی از عبارت ها را برمی گرداند. این رویکرد می‌تواند در برخی شرایط راحت باشد، اما شایان ذکر است که استفاده مجدد از چنین توابعی غیرممکن است ("جایی که متولد شدید، مفید بود").

    همچنین ارزش توصیف نگرش پایتون نسبت به استفاده از بازگشت را دارد. به طور پیش فرض، عمق بازگشت به 1000 سطح محدود شده است و با عبور از این سطح، یک استثنا پرتاب می شود و برنامه متوقف می شود. اما در صورت لزوم می توان این حد را تغییر داد.

    توابع در پایتون دارای ویژگی های جالب دیگری مانند مستندسازی یا توانایی تعریف توابع تو در تو هستند، اما این موارد در مقالات بعدی سری با مثال های پیچیده تر مورد بحث قرار خواهند گرفت.

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

    پایتون برای مبتدیان فصل اول. "در مورد چی هستیم"

    فقط در مورد، کمی "بشارت" خسته کننده. چه کسی از آن خسته شده است، می توانید چند پاراگراف را رد کنید.
    Python (تلفظ "Python" نه "python") یک زبان برنامه نویسی است که توسط Guido van Rossum به عنوان یک زبان ساده که یادگیری آن برای یک مبتدی آسان است توسعه یافته است.
    امروزه پایتون یک زبان پرکاربرد است که در بسیاری از زمینه ها استفاده می شود:
    - توسعه نرم افزارهای کاربردی (به عنوان مثال، لینوکس utilities yum، pirut، system-config-*، Gajim IM client و بسیاری دیگر)
    - توسعه برنامه های کاربردی وب (قوی ترین سرور Zope Application و CMS Plone که بر اساس آن توسعه یافته است، به عنوان مثال، وب سایت سیا بر اساس آن کار می کند، و بسیاری از چارچوب ها برای توسعه سریع برنامه های کاربردی Plones، Django، TurboGears و بسیاری دیگر)
    - به عنوان یک زبان برنامه نویسی جاسازی شده در بسیاری از بازی ها و نه تنها (در مجموعه اداری OpenOffice.org، ویرایشگر Blender 3d، Postgre DBMS) استفاده کنید.
    - استفاده در محاسبات علمی (با بسته های SciPy و numPy برای محاسبات و PyPlot برای رسم، Python تقریباً با بسته هایی مانند MatLab قابل مقایسه می شود)

    و این مطمئناً لیست کاملی از پروژه هایی نیست که از این زبان فوق العاده استفاده می کنند.

    1. خود مفسر، می توانید آن را از اینجا (http://python.org/download/) دریافت کنید.
    2. محیط توسعه. لازم نیست با آن شروع کنید، و IDLE موجود در توزیع برای یک مبتدی مناسب است، اما برای پروژه های جدی شما به چیز جدی تری نیاز دارید.
    برای ویندوز از PyScripter بسیار سبک وزن (http://tinyurl.com/5jc63t) و برای لینوکس از Komodo IDE استفاده می کنم.

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

    فقط python.exe را اجرا کنید. درخواست ورودی زیاد طول نمی کشد، به نظر می رسد:

    همچنین می‌توانید در ویرایشگر متن مورد علاقه‌تان، برنامه‌هایی را روی فایل‌هایی با پسوند py بنویسید، که کاراکترهای نشانه‌گذاری خود را به متن اضافه نمی‌کند (هیچ Word این کار را نمی‌کند). همچنین مطلوب است که این ویرایشگر بتواند "برگه های هوشمند" بسازد و فاصله ها را با کاراکتر تب جایگزین نکند.
    برای اجرای فایل ها برای اجرا می توانید 2 بار روی آنها کلیک کنید. اگر پنجره کنسول خیلی سریع بسته می شود، خط زیر را در انتهای برنامه وارد کنید:

    سپس مترجم منتظر می ماند تا enter در پایان برنامه فشرده شود.

    یا فایل های py را در Far به پایتون مرتبط کنید و با فشردن اینتر باز کنید.

    در نهایت، می‌توانید از یکی از بسیاری از IDE‌های کاربردی پایتون استفاده کنید که هم قابلیت‌های اشکال زدایی و هم برجسته‌سازی نحو و بسیاری از «راحتی‌های» دیگر را ارائه می‌کنند.

    کمی تئوری

    برای شروع، پایتون یک زبان با تایپ قوی پویا است. این یعنی چی؟

    زبان هایی با تایپ قوی (پاسکال، جاوا، سی و غیره) وجود دارند که در آنها نوع متغیر از قبل تعیین شده و قابل تغییر نیست و زبان هایی با تایپ پویا (پایتون، روبی، vb) وجود دارد. ) که در آن نوع یک متغیر بسته به مقدار تخصیص داده شده در تفسیر می شود.
    زبان های تایپ شده پویا را می توان به 2 نوع بیشتر تقسیم کرد. Strict که اجازه تبدیل نوع ضمنی (Pyton) را نمی دهد و non-strict که تبدیل نوع ضمنی را انجام می دهد (مثلا VB که در آن می توانید رشته "123" و عدد 456 را به راحتی اضافه کنید.
    پس از پرداختن به طبقه بندی پایتون، بیایید سعی کنیم کمی با مفسر "بازی" کنیم.

    >>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , b (2, 1)

    بنابراین، می بینیم که انتساب با استفاده از علامت = انجام می شود. شما می توانید یک مقدار به چندین متغیر به طور همزمان اختصاص دهید. وقتی نام یک متغیر را به صورت تعاملی به مفسر می گویید، مقدار آن را خروجی می کند.

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

    شرط با استفاده از دستور if که با ":" ختم می شود، مشخص می شود. شرایط جایگزینی که در صورت "شکست" اولین آزمون برآورده می شوند توسط عبارت elif ارائه می شوند. در نهایت، else شعبه ای را مشخص می کند که در صورتی که هیچ یک از شرایط مطابقت نداشته باشد، اجرا می شود.
    توجه داشته باشید که پس از تایپ if، مفسر با اعلان "..." نشان می دهد که منتظر ادامه ورودی است. برای اینکه به او بگویید کار ما تمام شده است، باید یک رشته خالی وارد کنید.

    (نمونه‌ای با شاخه‌ها به دلایلی نشانه‌گذاری روی هابره را می‌شکند، با وجود رقص‌هایی که با تگ‌های پیش و کد وجود دارد. ببخشید برای ناراحتی، آن را اینجا انداختم pastebin.com/f66af97ba، اگر کسی به من بگوید چه مشکلی دارد - من بسیار خواهم بود. سپاسگزار)

    چرخه ها

    ساده ترین حالت یک حلقه حلقه while است. یک شرط را به عنوان پارامتر می گیرد و تا زمانی که درست باشد اجرا می شود.
    در اینجا یک مثال کوچک است.

    >>> x = 0 >>> در حالی که x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

    توجه داشته باشید که از آنجایی که هر دو چاپ x و x+=1 با یک تورفتگی نوشته می شوند، بدنه حلقه در نظر گرفته می شوند (در مورد بلوک ها چه گفتم؟ ;-)).

    دومین نوع حلقه در پایتون حلقه for است. شبیه حلقه foreach در زبان های دیگر است. نحو آن به طور متعارف به شرح زیر است.

    برای متغیر در لیست:
    تیم ها

    متغیر به نوبه خود تمام مقادیر لیست را اختصاص می دهد (در واقع، نه تنها یک لیست می تواند وجود داشته باشد، بلکه هر تکرار کننده دیگری نیز وجود دارد، اما فعلاً با این کار زحمت نخواهیم کشید).

    در اینجا یک مثال ساده است. لیست یک رشته خواهد بود که چیزی بیش از یک لیست از کاراکترها نیست.

    >>> x = "سلام پایتون!" >>> برای char در x: ... چاپ char ... H e l ........... !

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

    در ورودی، از یک تا سه پارامتر می‌گیرد، در خروجی فهرستی از اعداد را برمی‌گرداند که می‌توانیم با دستور for از آن عبور کنیم.

    در اینجا چند نمونه از استفاده از تابع range آورده شده است که نقش پارامترهای آن را توضیح می دهد.

    >>> محدوده (10) >>> محدوده (2، 12) >>> محدوده (2، 12، 3) >>> محدوده (12، 2، -2)

    و یک مثال کوچک با یک چرخه.

    >>> برای x در محدوده (10): ... چاپ x ... 0 1 2 ..... 9

    ورودی خروجی

    آخرین چیزی که قبل از شروع استفاده کامل از پایتون باید بدانید این است که چگونه I/O را مدیریت می کند.

    برای خروجی، از دستور print استفاده می شود که تمام آرگومان های خود را به شکل قابل خواندن توسط انسان چاپ می کند.

    برای ورودی کنسول، تابع raw_input(prompt) استفاده می‌شود که یک اعلان را نمایش می‌دهد و منتظر ورودی کاربر می‌ماند و آنچه را که کاربر به عنوان مقدار وارد کرده است، برمی‌گرداند.

    X = int(raw_input ("عددی را وارد کنید:")) چاپ "مربع این عدد "، x * x است

    توجه! علیرغم وجود تابع ورودی () یک عمل مشابه، استفاده از آن در برنامه ها توصیه نمی شود، زیرا مفسر سعی می کند عبارات نحوی وارد شده با استفاده از آن را اجرا کند، که یک حفره امنیتی جدی در برنامه است.

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

    مشق شب.

    1-برنامه ای برای محاسبه افت فشار مثلث قائم الزاویه بنویسید. طول پاها از کاربر درخواست می شود.
    2-برنامه ای برای یافتن ریشه های معادله درجه دوم به صورت کلی بنویسید. ضرایب از کاربر درخواست می شود.
    3. برنامه ای بنویسید تا جدول ضرب را با عدد M نمایش دهد. جدول از M * a تا M * b کامپایل شده است، جایی که M، a، b از کاربر درخواست می شود. خروجی باید در یک ستون باشد، یک مثال در هر خط به شکل زیر (به عنوان مثال):
    5 × 4 = 20
    5 × 5 = 25
    و غیره.

    این مطالب برای کسانی است که از قبل با برنامه نویسی آشنا هستند و می خواهند زبان برنامه نویسی پایتون را یاد بگیرند. این برنامه به گونه ای طراحی شده است که ویژگی های زبان پایتون، ویژگی های نحوی و اصول اولیه کار با پایتون را در 10 دقیقه همراه با مثال به شما نشان دهد. در اینجا هیچ "آب" وجود ندارد - اطلاعاتی که مستقیماً با زبان برنامه نویسی مرتبط نیست. بیا شروع کنیم!

    زبان برنامه نویسی پایتون با تایپ قوی متمایز می شود (تایپ قوی با این واقعیت متمایز می شود که زبان اجازه اختلاط انواع مختلف در عبارات را نمی دهد و تبدیل های ضمنی خودکار را انجام نمی دهد، به عنوان مثال، نمی توانید مجموعه ای را از یک رشته کم کنید)، پویا. تایپ استفاده می شود - همه انواع از قبل در طول اجرای برنامه روشن شده اند.

    اعلان متغیر اختیاری است، نام ها به حروف بزرگ و کوچک حساس هستند (var و VAR دو متغیر متفاوت هستند).

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

    کمک بگیر

    راهنما (راهنما) در پایتون همیشه درست در مفسر موجود است. اگر می خواهید بدانید یک شی چگونه کار می کند، با help تماس بگیرید( ). همچنین یک دستور مفید dir() است که تمام متدهای یک شی و ویژگی اشیاء را نشان می دهد. .__doc__، که رشته مستند را به شما نشان می دهد:

    >>> help(5) Help on int object: (و غیره) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number قدر مطلق استدلال را برگردانید."

    سینتکس پایتون

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

    در حالی که rangelist == 1: پاس

    نظرات تک خطی با علامت پوند (#) شروع می شوند، نظرات چند خطی از ("") در ابتدا و انتهای نظر استفاده می کنند.

    مقادیر با استفاده از علامت مساوی ("=") تخصیص داده می شوند (در واقع، اشیاء در فرآیند نام گذاری می شوند).

    بررسی تفاوت با دو کاراکتر مساوی ("==") انجام می شود.

    می توانید مقدار را با استفاده از عملگر += افزایش دهید و با -= کاهش دهید، که نشان دهنده متغیر سمت چپ و مقدار افزایش / کاهش در سمت راست است. این با بسیاری از انواع داده ها در پایتون کار می کند، از جمله رشته ها.

    می توانید یک مقدار را به چندین متغیر در یک خط اختصاص دهید. مثال ها:

    >>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """این یک نظر چند خطی است. خطوط زیر دو رشته را به هم متصل می کنند.""" >>> mystring = "سلام" >>> mystring += "جهان." >>> print mystring Hello world. # این متغیرها را در یک خط (!) تعویض می کند. # تایپ قوی را نقض نمی کند زیرا مقادیر در واقع # اختصاص داده نمی شوند، اما اشیاء جدید به # نام های قدیمی محدود می شوند. >>> myvar, mystring = mystring, myvar

    انواع داده ها در پایتون

    در پایتون انواع داده ها مانند لیست ها (لیست ها)، تاپل ها (تاپل ها) و دیکشنری ها (دیکشنری ها) در دسترس هستند. مجموعه‌ها نیز در دسترس هستند، با استفاده از ماژول sets در نسخه‌های قبل از پایتون 2.5 و در نسخه‌های بعدی به زبان ساخته شده‌اند.

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

    دیکشنری ها آرایه های انجمنی هستند که در آنها داده ها با کلید قابل دسترسی هستند.

    تاپل ها آرایه های تک بعدی غیرقابل تغییر هستند.

    «آرایه‌ها» در پایتون می‌توانند از هر نوع باشند، به این معنی که می‌توانید اعداد، رشته‌ها و دیگر انواع داده‌ها را در فهرست‌ها/لغت‌نامه‌ها/تاپلی‌ها ترکیب کنید.

    شاخص اولین عنصر 0 است. یک مقدار شاخص منفی از آخرین به اولین شروع به شمارش می کند، [-1] به آخرین عنصر اشاره می کند.

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

    >>> sample = , ("a", "tuple")] >>> mylist = ["List item 1", 2, 3.14] >>> mylist = "List item 1 again" # ما در حال تغییر مورد هستیم >>> mylist[-1] = 3.21 # در اینجا، به آخرین مورد اشاره می کنیم >>> mydict = ("کلید 1": "مقدار 1"، 2: 3، "pi": 3.14) >>> mydict[ "pi"] = 3.15 # به این ترتیب مقادیر فرهنگ لغت را تغییر می دهید >>> mytuple = (1، 2، 3) >>> myfunction = len >>> print myfunction(mylist) 3

    شما می توانید یک آرایه (فهرست یا تاپل) را با استفاده از دو نقطه (:) برش دهید. خالی گذاشتن مقدار اولیه شاخص به شما می گوید که از اولین مقدار شروع کنید، مقدار خالی انتهای شاخص آخرین عنصر آرایه را فرض می کند. شاخص های منفی از انتهای آرایه به عقب شمارش می شوند (-1 نشان دهنده آخرین عنصر است).

    نمونه ها را ببینید:

    >>> mylist = ["List item 1", 2, 3.14] >>> print mylist[:] ["List item 1", 2, 3.1400000000000001] >>> print mylist ["List item 1", 2] > >> print mylist[-3:-1] ["List item 1"، 2] >>> print mylist # با افزودن یک پارامتر سوم، "step" به جای 1، مرحله Python را در # N مورد افزایش خواهد داد. # به عنوان مثال. ، این اولین مورد را برمی گرداند، سپس به سومین مورد بروید و # آن را برمی گرداند (بنابراین، موارد 0 و 2 در نمایه سازی 0). >>> print mylist[::2] ["List item 1"، 3.14]

    رشته ها در پایتون

    برای نشان دادن یک رشته می توان از آپستروف (‘) یا گیومه های دوگانه (نقل قول دوگانه - «) استفاده کرد. به همین دلیل، می‌توانید نقل قول‌هایی در داخل یک رشته داشته باشید که با آپاستروف مشخص شده‌اند (مثلاً «او گفت «سلام» یک رشته معتبر است).

    رشته های چند خطی با استفاده از یک آپوستروف سه گانه یا علامت نقل قول ("") مشخص می شوند. پایتون از یونیکد خارج از جعبه پشتیبانی می کند. پایتون 2 از کاراکتر (u) برای نشان دادن رشته ای حاوی یونیکد استفاده می کند: u"این یک رشته یونیکد است". Python3. همه رشته ها یونیکد هستند اگر در Python3 دنباله ای از بایت ها را می خواهید که در نسخه های قبلی اساساً یک رشته بود، از کاراکتر (b) استفاده کنید: b"This is a byte string".

    عملگر (%) و یک تاپل برای جایگزینی مقادیر پارامتر در یک رشته استفاده می شود. هر %s با عنصری از تاپل، از چپ به راست جایگزین می‌شود. همچنین می توانید از یک فرهنگ لغت برای جایگزینی پارامترهای نامگذاری شده استفاده کنید:

    >>>چاپ "Name: %s\ Number: %s\ String: %s" % (myclass.name, 3, 3 * "-") نام: Poromenos Number: 3 String: --- String = """ این یک رشته چند خطی است.""" # اخطار: مراقب s های انتهایی در "%(key)s" باشید. >>> چاپ "این %(فعل)s یک %(اسم)s." % ("اسم": "تست"، "فعل": "است") این یک تست است.

    دستورالعمل های کنترل جریان - if, for, while

    دستورات if، for و while برای کنترل ترتیب اجرای برنامه استفاده می شود. هیچ سوئیچ یا کیس در پایتون وجود ندارد، اگر به جای آن استفاده شود. For برای تکرار از طریق عناصر یک لیست (یا تاپل) استفاده می شود. برای بدست آوردن دنباله ای از اعداد، از range( ) . Break برای شکستن اجرای حلقه استفاده می شود.

    نحو این سازه به صورت زیر است:

    Rangelist = range(10) >>> print rangelist for number in rangelist: # بررسی کنید که آیا عدد یکی از # اعداد در تاپل است. اگر عدد در (3، 4، 7، 9): # "Break" یک for را بدون # اجرای عبارت "else" خاتمه می دهد. break else: # "Continue" تکرار بعدی # حلقه را شروع می کند. در اینجا "بی فایده است، #" زیرا آخرین عبارت حلقه است. ادامه دیگر: # عبارت "else" اختیاری است و فقط در صورتی اجرا می شود که حلقه "شکن" نشده باشد. pass # هیچ کاری نکنید اگر rangelist == 2: print "مورد دوم (لیست ها بر اساس 0 هستند) 2 است. " elif rangelist == 3: print "مورد دوم (لیست ها بر اساس 0 هستند) 3 است" دیگری: چاپ "Dunno" در حالی که rangelist == 1: پاس

    توابع در پایتون

    توابع با استفاده از کلمه کلیدی "def" اعلام می شوند. آرگومان های اختیاری از آرگومان های اجباری در اعلان تابع پیروی می کنند و یک مقدار پیش فرض به آنها اختصاص داده می شود. هنگام فراخوانی یک تابع، می‌توانید آرگومان‌ها را با تعیین نام و مقدار آن‌ها ارسال کنید، در حالی که برخی از آرگومان‌های اختیاری را نادیده می‌گیرید یا آنها را به ترتیبی متفاوت از آنچه در تابع اعلام می‌شود قرار دهید.

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

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

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

    نمونه کد:

    # همانند def funcvar(x): بازگشت x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int و a_string اختیاری هستند، آنها مقادیر پیش‌فرض # دارند در صورت عدم ارسال ( 2 و به ترتیب "یک رشته پیش فرض"). def passing_example(a_list, an_int=2, a_string="یک رشته پیش فرض"): a_list.append("یک آیتم جدید") an_int = 4 a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > print passing_example(my_list, my_int) (, 4, "یک رشته پیش فرض") >>> my_list >>> my_int 10

    کلاس های پایتون

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

    متغیرها و متدهای خصوصی را می توان با استفاده از دو خط زیر خط در ابتدا و بیش از یک در انتهای نام (به عنوان مثال: "__spam") اعلام کرد (به طور قراردادی، این مورد توسط مفسر بررسی نمی شود).

    همچنین می‌توانیم نام‌های دلخواه را به نمونه‌های کلاس اختصاص دهیم. مشاهده نمونه ها:

    کلاس MyClass(object): common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # این نمونه کلاس است >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # این متغیر توسط همه کلاس ها مشترک است. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # توجه داشته باشید که چگونه به جای نمونه از نام کلاس # استفاده می کنیم. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # این متغیر را در کلاس به روز نمی کند، # در عوض یک شی جدید را به نام متغیر # قدیمی متصل می کند. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # این تغییر نکرده است، زیرا "common" اکنون یک متغیر نمونه است. >>> classinstance.common 10 >>> classinstance2.common 50 # این کلاس از MyClass به ارث می برد. کلاس # مثال بالا از "object" ارث می برد، که # آن را به نام "کلاس سبک جدید" می سازد. # آرگومان "self" به طور خودکار ارسال می شود # و به نمونه کلاس اشاره می کند، بنابراین می توانید # متغیرهای نمونه را مانند بالا تنظیم کنید، اما از داخل class.def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("hello") hello >>> classinstance.myfunction(1, 2) 3 # این کلاس عضو .test ندارد، اما به هر حال می‌توانیم یکی را به نمونه اضافه کنیم. توجه داشته باشید # که این فقط عضو classinstance خواهد بود. >>> classinstance.test = 10 >>> classinstance.test 10

    استثنا در پایتون

    استثناها در پایتون در بلوک های try-except مدیریت می شوند:

    Def some_function(): try: # تقسیم بر صفر یک استثنا 10 / 0 را به جز ZeroDivisionError: چاپ "اوه، نامعتبر" است. else: # استثنا رخ نداد، ما خوب هستیم. passfund: # این پس از اجرای بلوک کد # اجرا می‌شود و همه استثناها مدیریت می‌شوند، حتی اگر یک استثنای جدید در حین مدیریت # مطرح شود. چاپ "ما با آن تمام شد." >>> some_function() اوه، نامعتبر است.

    وارد کردن ماژول ها در پایتون

    کتابخانه های خارجی پس از وارد کردن با استفاده از کلمه کلیدی import استفاده می شوند. همچنین می توانید از import برای وارد کردن توابع جداگانه استفاده کنید.

    وارد کردن تصادفی از زمان وارد کردن ساعت تصادفی = random.randint(1, 100) >>> print randomint 64

    کار با فایل ها در پایتون

    پایتون تعداد زیادی کتابخانه برای کار با فایل ها دارد. به عنوان مثال، سریال سازی (تبدیل داده ها به رشته ها با کتابخانه pickle):

    Import pickle mylist = ["This", "is", 4, 13327] # فایل C:\\binary.dat را برای نوشتن باز کنید. حرف r قبل از رشته نام فایل # برای جلوگیری از فرار بک اسلش استفاده می شود. myfile = open(r"C:\\binary.dat"، "w") pickle.dump(mylist، myfile) myfile.close() myfile = open(r"C:\\text.txt، "w" ) myfile.write("این یک رشته نمونه است") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "این یک رشته نمونه است" myfile .close() # فایل را برای خواندن باز کنید. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> print loadedlist ["This"، "is"، 4، 13327]

    متفرقه

    • شرایط می توانند به هم بچسبند، برای مثال 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
    • می توانید از del برای حذف متغیرها یا عناصر در آرایه ها استفاده کنید.
    • لیست ها قابلیت های بسیار قدرتمندی برای دستکاری داده ها ارائه می دهند. می توانید با استفاده از for و سپس if یا for یک عبارت بنویسید:
    >>> lst1 = >>> lst2 = >>> print >>> print # بررسی کنید که آیا یک شرط برای هر موردی صادق است یا خیر. # "any" اگر هر موردی در لیست درست باشد، true را برمی‌گرداند. >>> any(]) True # این به این دلیل است که 4 % 3 = 1 و 1 درست است، بنابراین any() # True را برمی گرداند. # بررسی کنید که چند مورد یک شرط درست است. >>> sum (1 برای i در اگر i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
    • متغیرهای سراسری خارج از توابع اعلان می شوند و می توان آنها را بدون اعلان های خاص در داخل خواند، اما اگر می خواهید آنها را بنویسید، باید از ابتدای تابع با استفاده از کلمه کلیدی ویژه "global" اعلان کنید، در غیر این صورت پایتون یک مقدار جدید را تعیین می کند. به متغیر محلی:
    number = 5 def myfunc(): # این 5 را چاپ می کند. print number def Anotherfunc(): # این یک استثنا ایجاد می کند زیرا متغیر قبل از چاپ # محدود نشده است. پایتون می‌داند که یک شی # بعداً به آن متصل می‌شود و به جای دسترسی به شی جهانی، یک شی # محلی جدید ایجاد می‌کند. شماره چاپ = 3 def yeanotherfunc(): عدد جهانی # این به درستی جهانی را تغییر می دهد. عدد = 3

    نحوه یادگیری زبان برنامه نویسی پایتون

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

    اگر اطلاعات بالا برای شما کافی نیست - مطالب توسعه یافته را که زبان برنامه نویسی پایتون را توصیف می کند، بررسی کنید - اطلاعات بیشتری در مورد زبان ارائه می دهد.

    در میان سایر مواد، یادگیری Python The Hard Way را توصیه می کنم. و البته آموزش پایتون 2 و آموزش پایتون 3.

    با تشکر فراوان از Stavros Korokithakis برای آموزش عالی "یادگیری پایتون در 10 دقیقه".

    اگر می خواهید چیزی را در این مطالب بهبود بخشید - لطفاً در نظرات بنویسید.