برنامه نویسی اندروید و پیش‌نیازهای یادگیری آن چیست؟

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

همان طوری که بیان کردیم این زبان برنامه نویسی یک سیستم عامل متن باز است که هر کاربری در هر جای دنیا می‌تواند با کمی تغییر در سورس آن، یک برنامه و اپلیکیشن جدید با تغییرات جدید به وجود بیاورد.

مزیت‌های سیستم عامل اندروید

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

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

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

پیش نیاز برنامه نویسی اندروید

در همین ابتدای کار باید عنوان کرد که یکی از پیش‌نیازهای اصلی زبان برنامه نویسی اندروید این است که زبان برنامه نویسی جاوا را یاد بگیرید و اجازه دهید یک مقدار رُک صحبت کنیم: یکی از راه‌های نوشتن‌های اپلیکیشن‌های اندروید این است که حتماً برنامه نویسی جاوا بلد باشید و در کل این مسیری است که باید بگذرانید.

اما یک نکته ی مهم را فراموش نکنید:

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

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

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

اما اگر در همین مسیر که مفاهیم و اصول پایه‌ای زبان برنامه نویسی جاوا را فرا می‌گیرید بتوانید با زبان XML هم آشنا شوید به طور حتم وضعیت خیلی بهتری را برای ساخت اپلیکیشن خواهید داشت. باید عنوان کرد که XML یک زبان نشانه‌گذاری توسعه‌پذیر است که به وسیله آن به راحتی می‌توانید اجزاء (UI رابط کاربری) برنامه و اپلکیشن اندروید خودتان را طراحی کنید.

تا به اینجا به این موارد اشاره کردیم که پیش‌نیازهای زبان برنامه نویسی اندروید شامل چه مواردی هست و به این نکته اشاره کردیم که حتماً باید زبان برنامه نویسی جاوا حتی اگر به صورت پایه‌ای هست را فرا بگیرید تا در ادامه مسیر به مشکل بر نخورید.

اما حالا به این موضوع اشاره می‌کنید که چه مفاهیمی از زبان جاوا برای زبان برنامه نویسی اندروید کاربرد دارد:

برنامه نویسی اندروید را از کجا شروع کنیم؟

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

نکته اول: پیدا کردن مهارت و یادگیری زبان‌های برنامه نویسی مورد نیاز

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

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

نکته دوم: برای شروع به یادگیری برنامه نویسی اندروید چه کاری باید انجام داد؟

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

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

نکته سوم: مدت زمانی که طول می‌کشد تا به یک برنامه نویس اندروید تبدیل شوید

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

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

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

همان طوری که بیان کردیم این زبان برنامه نویسی یک سیستم عامل متن باز است که هر کاربری در هر جای دنیا می‌تواند با کمی تغییر در سورس آن، یک برنامه و اپلیکیشن جدید با تغییرات جدید به وجود بیاورد.

مفاهیم شی‌گرایی جاوا ویژه برنامه نویسان اندروید

به مفاهیم شی‌گرایی به صورت اختصاصی OOP گفته می‌شود که در اصل یکی از بخش‌های جداناپذیر از زبان برنامه نویسی جاوا به شمار می‌رود و به همین دلیل به هیچ عنوان نمی‌توان این مفاهیم را حذف کرد. در زیر بخش‌هایی از مفاهیم شی‌گرایی را برای شما بیان خواهیم کرد:
– اشیاء و کلاس یا به اصطلاح Object & Class

– انتزاع یا به اصطلاح Abstraction

– چند ریختی یا به اصطلاح Polymorphism

– ارث بری یا به اصطلاح Inheritance

– کپسوله‌سازی یا به اصطلاح Encapsulation

– اینترفیس‌ها

– مبحث Overriding

مبانی و مفاهیم برنامه نویسی جاوا

در مفاهیم و مبانی برنامه نویسی جاوا به تمام کلمات کلیدی جاوا از جمله کلمه کلیدی static، final، try، catch و غیره و همچنین انواع داده‌های اولیه از جمله Integers ،Floating point ، Boolean اشاره می‌شود.

مفاهیم Type casting and Visibility

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

یادگیری مفاهیمی همچون آرایه‌ها و عملگرها (Arrays and Operators)

در یادگیری زبان برنامه نویسی اندروید مفاهیم آرایه و عملگر به دسته‌های زیر تقسیم‌بندی می‌شوند:

– آرایه تک بعدی (One Dimensional Array)

– آرایه دو بعدی (Multidimensional Array)

– عملگرهای محاسباتی (Arithmetic operators)

– عملگرهای انتسابی (Assignment Operators)

– عملگرهای رابطه‌ای (Relational Operators)

مفاهیم عبارات کنترلی (Control Statements)

این نوع عبارات به دو قسمت تقسیم‌بندی می‌شوند:

قسمت اول: عبارات شرطی و انتخابی جاوا مانند switch، If-else ، If

قسمت دوم: عبارات تکرار در جاوا یا همان حلقه‌ها مانند While، do-while، for

مفاهیم اصول کلاس

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

– ایجاد کلاس

– تعریف اشیاء

– متدها

– درک static و متدها

– متدهای دسترسی به کلاس

– سازنده‌ها (Constructors) و زباله روبی (Garbage collection)

مفاهیم و مبانی وراثت، اینترفیس و پکیج (Inheritance, Interface and package)

– روش ایجاد اینترفیس

– روش ایجاد پکیج در جاوا

– روش استفاده از کلمه کلیدی super

– کلاس‌های انتزاعی یا abstract

– روش به ارث بردن کلاس

مفاهیم چند نخی و مدیریت استثناءها (Multithreading and Exception Handling)

– روش ایجاد Thread در جاوا

– مدیریت Thread در جاوا

– کار با دستورهای try-catch

– روش ایجاد چند نخی

مفهوهم Java Annotations and IO

این بخش از زبان برنامه نویسی جاوا هم به بخش‌های متعددی تقسیم‌بندی می‌شود. از جمله:

Inherited
Override
Deprecated
Suppress Warnings
Reading writing Files
Streams
مفهوم Generics and Collection Classes

مورد آخر از زبان جاوا که پیش‌نیاز یادگیری اندروید است به موارد زیر ختم می‌شود:

Generic Classes
Generic Interfaces
The Array List Class
The Hash Set Class

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

منبع: https://bit.ly/3aG8PZx

«طراحی مسطح» ترند پرطرفدار برای UI و UX در سال ۲۰۲۰

وقتی سبک‌ها و ترندهای پرطرفدار در سال ۲۰۱۹ را مشاهده می‌کردیم متوجه شدیم طراحی با استفاده از عناصر انسانی (استفاده از کاراکتر انسان در طراحی) بیشتر از سایر موضوعات توجه گرافیست‌ها و مخاطبان را توانسته بود به خود جلب کند. البته استفاده از تایپوگرافیِ اصولی و راحت تر کردن دسترسی پذیری نیز در کنار طرح اصلی، بهبود تجربه کاربری را رقم زده است. حال با فرا رسیدن سال ۲۰۲۰ احساس می‌کنیم این سبک از طراحی به اوج خود برسد و از این پس در تصاویر و Illustration‌های بیشتری شاهده استفاده از این سبک باشیم.

طراحی مسطح در واقع نوعی طراحی مینیمال محسوب شده و مانند همیشه شعار «کمتر، بیشتر است» یا (less is more) بهترین توصیف برای این سبک از طراحی محسوب می‌شود. بنابراین دیگر لازم نخواهد بود تصاویر پیچیده طراحی کنید. بدون شک یک پالت رنگی محدود و ساده نیز پاسخگو خواهد بود. اما آیا اهمیت طراحی مسطح و تجربه کاربری حاصل از آن تنها به یک پالت محدود ختم می‌شود؟

چرا طراحی مسطح (Flat) اینقدر محبوب است؟

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

انعطاف پذیری و قابلیت ویرایش و شخصی سازی ساده: تصاویر استوک تا ۹۰ درصد غیرقابل ویرایش و شخصی‌سازی هستند. این موضوع باعث می‌شود کسل کننده به نظر برسند. اما وکتورهایی که در طراحی رابط کاربری به کار می‌روند، قابلیت سفارشی‌سازی دارند و طراحان می‌توانند آنها را مطابق با ایده‌های خود در بیاورند و به شکل دلخواه در پروژه‌های خود استفاده کنند.

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

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

وکتور مسطح را از کجا پیدا کنم؟

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

یکی از ابزارهای پرطرفدار در این زمینه Vector Creator وب سایت icons8 می‌باشد. به کمک این ابزار شما می‌توانید وکتور مورد نظر خود را از بین ۱۲ استایل مختلف انتخاب کنید و آنرا به صورت آنلاین شخصی‌سازی کنید. همچنین می‌توانید این وکتورها را در کنار آیکون‌های متنوع و جذابی که وجود دارد میکس کنید و خروجی نهایی را با فرمت دلخواه دریافت کنید.

کتابخانه آنلاین Shape نیز با بیش از ۲۰۰۰ طرح قابل شخصی‌سازی یکی دیگر از وب‌سایت‌هایی است که باید حتما آنرا امتحان کنید. این وکتورها معمولا مناسب طراحی اینترفیس و رابط کاربری در نظر گرفته شده اند.

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

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

ساخت دستی وکتور و تصاویر مورد نیاز

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

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

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

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

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

ترجمه‌ بر اساس

“Flat Illustrations, a Design Trend for 2020 and Beyond” by Ksenia Pedchenko @ TheStartup

منبع: https://bit.ly/2FdiwQG

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

در دنیای برنامه نویسی انواع داده از مسائل پایه ای و بسیار مهم است و تقریبا تمام زبان‌های برنامه نویسی به نوعی از data type استفاده می‌کنند. متغیرها می‌توانند انواع مختلفی از داده را ذخیره کنند و این انواع مختلف می‌توانند کارهای مختلفی انجام دهند. زبان پایتون نیز از دیگر زبان‌های برنامه نویسی جدا نیست و به صورت پیش فرض از نوع داده‌های زیر پشتیبانی می‌کند:

انواع متنی: تنها یک نوع str (یعنی رشته)
انواع عددی: int (عدد صحیح) و float (عدد اعشاری) و complex (بعدا در مورد آن صحبت می‌کنیم)
انواع توالی: list و tuple و range
انواع mapping: تنها یک نوع dict
انواع دسته: set و frozenset
انواع Boolean: تنها مقدار bool
انواع باینری (دودویی): bytes و bytearray و memoryview

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

برای پیدا کردن نوع داده‌ی یک متغیر می‌توانیم از تابع ()type استفاده کنیم:

x = 5
print(type(x))

مقدار خروجی بدین شکل خواهد بود:

class 'int'

در زبان پایتون هنگامی که به متغیری مقدار بدهید، data type آن به صورت خودکار تنظیم می شود. به طور مثال:

x = "Hello World"

#display x:
print(x)

#display the data type of x:
print(type(x))

خروجی این کد عبارت <'class 'str> خواهد بود.

مثال دیگر:

x = 20

#display x:
print(x)

#display the data type of x:
print(type(x))

خروجی این کد نیز <'class 'int> خواهد بود.

ما می‌توانیم این کار را با تمامی انواع داده انجام دهیم:

x = 20.5
x = 1j
x = ["apple", "banana", "cherry"]
x = ("apple", "banana", "cherry")
x = range(6)
x = {"name" : "John", "age" : 36}
x = {"apple", "banana", "cherry"}
x = frozenset({"apple", "banana", "cherry"})
x = True
x = b"Hello"
x = bytearray(5)
x = memoryview(bytes(5))

با این حال اگر نیاز به تعیین نوع داده به صورت دستی داشته باشید، زبان پایتون توابعی با نام data type‌ها را برای شما آماده کرده است. به طور مثال:

x = str("Hello World")
x = int(20)
x = float(20.5)
x = complex(1j)
x = list(("apple", "banana", "cherry"))
x = tuple(("apple", "banana", "cherry"))
x = range(6)
x = dict(name="John", age=36)
x = set(("apple", "banana", "cherry"))
x = frozenset(("apple", "banana", "cherry"))
x = bool(5)
x = bytes(5)
x = bytearray(5)
x = memoryview(bytes(5))

اگر روی هر کدام از مثال‌های بالا از تابع ((print(type(x استفاده کنیم حتما نتیجه همان نوع داده‌ای خواهد بود برایش تعیین کرده ایم.

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

در زبان پایتون سه نوع عدد وجود داریم:

int
float
complex

با int شروع می‌کنیم؛ int مخفف integer و به معنای عدد صحیح است، یعنی عدد مثبت یا منفی و بدون اعشار تا بی‌نهایت. چند مثال را در کد زیر می‌بینید:

x = 1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))

خروجی این کد به صورت زیر خواهد بود:

class 'int'
class 'int'
class 'int'

نوع دوم اعداد float است که با نام floating point number هم شناخته می‌شوند و در فارسی معادل اعداد اعشاری هستند؛ بنابراین اعداد منفی یا مثبت با اعشار و تا بی‌نهایت. چند مثال را در کد زیر مشاهده می‌کنید:

x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))

خروجی این کد به شکل زیر خواهد بود:

class 'float'
class 'float'
class 'float'

نکته: اعداد float می‌توانند نماد e را نیز قبول کنند (به معنای «به توان ۱۰»):

x = 35e3
y = 12E4
z = -87.7e100
print(type(x))
print(type(y))
print(type(z))

خروجی این کد ها به شکل زیر است:

class 'float'
class 'float'
class 'float'

نوع سوم اعداد complex می‌باشد. complex در لغت به معنی «پیچیده» یا «چند وجهی» است. به این نوع اعداد در ریاضیات «عدد مختلط» یا «عدد هم‌تافت» گفته می‌شود. چنانچه با این مبحث آشنایی ندارید می توانید به صفحه ی ویکی پدیای آن مراجعه کنید اما به زبان ساده:

“عدد مختلط یا عدد هم‌تافت عددی به شکل a + bi است که a و b اعداد حقیقی‌اند و i یکهٔ موهومی با خصوصیت i2 = -1 است. عدد a قسمت حقیقی و عدد b قسمت موهومی نامیده و نوشته می‌شود. اعداد حقیقی را می‌توان به عنوان اعداد مختلط با قسمت موهومی صفر در نظر گرفت، یعنی عدد حقیقی a معادل است با عدد مختلط a+0i.” منبع: ویکی پدیا

در زبان پایتون حرف j به عنوان قسمت فرضی عدد در نظر گرفته می‌شود. چند مثال را مشاهده کنید:

x = 3+5j
y = 5j
z = -5j
print(type(x))
print(type(y))
print(type(z))

خروجی:

class 'complex'
class 'complex'
class 'complex'

تبدیل نوع (type conversion)

شما می‌توانید اعداد را با استفاده از توابع ()int و ()float و ()complex به نوع داده‌ی مورد نظر خود تبدیل کنید:

#convert integer to float
x = float(1)
#convert float to integer
y = int(2.8)
#convert integer to complex
z = complex(x)
print(x)
print(y)
print(z)

خروجی:

۱.۰
۲
(۱+0j)
تولید عدد تصادفی

زبان پایتون تابعی به نام ()random برای تولید اعداد تصادفی ندارد اما module ای به نام random دارد که می‌ از آن برای تولید اعداد تصادفی استفاده کنیم. ابتدا باید این module را import کرده و سپس از آن استفاده کنیم. در کد زیر می‌خواهیم یک عدد تصادفی بین ۱ و ۹ تولید کنیم:

import random
print(random.randrange(1,10))

خروجی این عدد در هر بار یک مقدار تصادفی بین ۱ و ۹ خواهد بود. در جلسات پایانی این دوره در مورد این module توضیحات بیشتری خواهیم داد.

منبع: https://bit.ly/2YRj3kl

Create A product first!

Create a product first please!