برنامه نویسی

آموزش برنامه نویسی

برنامه نویسی

آموزش برنامه نویسی

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

بایگانی

۲ مطلب با موضوع «پایتون (Python)» ثبت شده است

آموزش پایتون در یک پست

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

 

مفسر پایتون

تنها زبانی که کامپیوتر آن را متوجه می شود زبان ماشین است. یادگیری و کار کردن با زبان ماشین بسیار سخت است به خاطر همین زبانهای سطح بالا به وجود آمده اند(مانند پایتون). زبانهای سطح بالا توسط مترجم به زبان ماشین تبدیل می شوند. مترجم های به روشهای مختلفی پیاده سازی می شوند. مترجم پایتون به روش مفسری پیاده سازی شده است. یک مفسر برنامه ای است که کدهای زبان سطح بالا را خط به خط به زبان ماشین تبدیل می کند. مفسر رسمی زبان پایتون CPython نام دارد که اولین بار توسط Guido van Rossum نوشته شده و سپس توسط جامعه اوپن سورس توسعه داده شده و در حال نیز توسعه داده می شود.

 

تابع print

تابع print مقدار یا مقادیری را دریافت کرده و آن را در صفحه کنسول نمایش می دهد.

print(‘Hello, World!’)
# خروجی ---> Hello, World!

 

تعریف متغییر

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

num = 42

می توان در یک خط چندین متغییر تعریف کرد:

a, b, s = 0, 1, ‘hi’

می توان مقدار دو متغییر را در یک خط دستور با یکدیگر جابجا کرد:

a, b = b, a

برای تعریف رشته می توان از جفت کوتیشن و یا تک کوتیشن استفاده کرد:

name = "John Doe"
country = 'US'


می توان با استفاده از تابع print مقدار متغییرها را نمایش داد:

print(name, country, num)
# output -->
John Doe 42

ساختار شرط

در پایتون برای شرط گذاری از دستور if استفاده می شود.

if name == ‘John Doe’:
print(‘Hi, John!’)
else:
print(‘Who are you?’)
# خروجی -->
Hi, John!

بخش شرط نیازی به پرانتز ندارد، البته گذاشتن پرانتز اختیاری است و فقط اگر منجر به خوانایی کد می شود استفاده از پرانتز توصیه می شود. بدنه شرط یا هر بلاک در پایتون با استفاده از علامت کولن ‘:’ و خط فاصله مشخص می شود، گذاشتن یک فاصله بعد از علامت کولن بیانگیر این هست که دستور به بلاک بالایی خود تعلق دارد مثلا در کد بالا خط دوم متعلق به بلاک if و خط ۴  متعلق به بلاک else می باشد. توصیه می شود از ۴ برای جداسازی دستورات مربوط به بدنه یک بلاک استفاده شود.

کد بالا را در پایتون می توان در یک خط نوشت که به عبارت شرط یا Conditional Expression  معروف است.

print('Hi, John!') if name == 'John Doe' else print('Who are you?')

 

حلقه ها

دو ساختار برای ایجاد حلقه در پایتون وجود دارد، ساختار while و for

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

x = 0
while x < 5:
print(‘x is’, x) x += 1
print('while loop terminated')

# خروجی -->
x is 0
x is 1
x is 2
x is 3
x is 4
while loop terminated

حلقه for بعد از کالکشن ها توضیح داده شده.

 

کالکشن ها

کاکلشن ها مجموعه های هستند که می تواند بیش از یک مقدار داشته باشند. کالکشن های اصلی پایتون عبارتند از list, tuple, dict و set

یک لیست می تواند دارای هر نوع آبجکتی باشد یعنی هر نوع داده ای. یک لیست یک کالکشن مرتب است یعنی عناصر آن از صفر شماره گذاری شده اند که با این شماره می توانیم به آنها دسترسی داشته باشیم. برای تعریف لیست از علامت براکت'[ ]' استفاده می کنیم.

person = [‘Kate Doe’, 42, 1.9, ‘M’]


برای چاپ اولین عنصر از لیست person می توانیم به صورت زیر عمل کنیم.

print(‘First element in person list is’,(person[0])
# خروجی ---> First element in person list is Kate Doe


برای به دست آوردن طول یک لیست می توانیم از تابع len استفاده کنیم

print(len(person)  
# خروجی -->
4

کالکشن بعدی tuple است. توپل ها عین لیست ها هستند با این تفاوت که بعد از تعریف آن نمی توانیم مقداری به آن اضافه کنیم یا مقداری از آن حذف کنیم. این ویژگی توپل باعث می شود که مفسر پایتون حافظه را به صورت استاتیک تعریف کند که به طبع باعث بهبود مصرف حافظه می شود. توپل ها برای تعریف مقادیر ثابت مثل روزهای هفته مفید هستند. یک توپل مانند لیست می تواند دارای هر نوع داده ای باشد. برای تعریف توپل از پرانتز استفاده می شود.

days_of_week = (‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’,‘Sat’, ‘Sun’)
print(days_of_week[2])
# خروجی --> Wed

کالکشن بعدی dict یا دیکشتری هست. دیکشنری بر خلاف لیست و توپل یک کالکشن مرتب نیست و دارای شاخص نیست یعنی با عدد شماره گذاری نشده اند. یک دیکشنری با کلید و مقدار تعریف می شود. می تواند با کلید به مقدار یک دیکشنری دسترسی داشت

fav_tv_series = {     
'title': ‘True Detective’,
'director': 'Vince Vaughn',
'year': 2014,
'imdb_rank': 9.0,
'your_rank': 10
}

print(‘Your rank to’, move[‘title’], ‘is’, move[‘your_rank’])

# خروجی ---> Your rank to True Detective is 10

set نوع داده است که مثل لیست بوده اما یک ست نمی تواند دارای مقدار تکراری باشد. تمام عملیات مربوط به یک مجموعه مانند اجتماع، اشتراک و ... بر روی یک set قابل اجرا است.  یک set با استفاده از علامت کروشه ‘{}’ تعریف می شود.

numbers = {1, 2, 2, 3}
print(numbers)
print(numbers[0])
# خروجی
{1, 2, 3}
1


حلقه for برای روی کالکشن ها استفاده می شود. حلقه for را می توان بر روی تمام کالکشن ها اجرا کرد. فقط کافی است یک تکرار کننده (iterator) تعریف کنیم که در واقع یک متغییر است در مثال پایین item یک iterator است.

for item in person:
print(item)
# output -->
Kate Doe
42
1.9
M

برای استفاده از حلقه for بر روی دیکشنری می توانیم از دو تکرار کننده استفاده کنیم که در هر بار چرخش حلقه for اولی به کلید دیکشنری و دومی به مقدار آن کلید اشاره می کند:
for key, value in fav_tv_series:
print(key.title(), ‘:’, value)
# output -->
Title : True Detective
Year : 2014
Directors : Vince Vaughn
Imdb_Rank : 9.0
Your_Rank : 10

 نکته: متد title که بر روی کلید فراخوانی کردیم باعث می شود محتوای keyها که رشته هستند اولین کارکتر آنها به حرف بزرگ تبدیل شود. مثلا title به Title تبدیل می شود.


تابع

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

def add(x, y):
print(x, '+', y, '=', x + y)

add(2 + 3)
# output
2 + 3 = 5

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

def area(width, height):
return width * height
 

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

آرگومان: مقدار یا مقادیری که یک تابع هنگامی فراخوانی برای اجرا نیاز دارد.

 

result = 2 + area(5, 9)
print('The result is ', result)
۰ موافقین ۰ مخالفین ۰ ۰۶ شهریور ۹۷ ، ۲۰:۰۷
سعید غلامی

لوگوی پایتون


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

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


 مستقل از پلتفرم است (Cross Platform)

مستقل از پلتفرم بودن پایتون به این معنی است که پایتون بر روی بسیاری از سیستم عامل های محبوب و پر استفاده مثل: لینوکس، ویندوز، مک، اندورید،‌ آی او اس و ... قابل نصب و استفاده است.

لیست پلتفرم های که به صورت رسمی توسط بنیاد نرم افزار پایتون پشتیبانی می شود

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


قابلیت حمل (Portable)

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

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


رایگان و اوپن سورس است

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

دانلود پایتون


کتابخانه استاندارد غنی و پکیج های مختلف

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

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

پکیج های ثانویه پایتون 

لیستی از محبوبترین پکیج های پایتون که بعضی از آنها هنوز به پایتون ۳ پورت نشده اند

لیستی از پکیج های محبوب پایتون



یادگیری آسان

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


بازی حدس عدد در Java

public class Game {
    public static void main(String[] args){
        System.out.println("Hello and welcome to my number guessing game.");
        System.out.println("Pick a number: ");
        Scanner inputnum = new Scanner(System.in);  //This number will be the max number the player has to guess too.
        int maxnum;
        maxnum = inputnum.nextInt();
        Random rand = new Random();
        int number = rand.nextInt(maxnum);
        int tries = 0; //Will increase depending on how many tires it takes
        Scanner input = new Scanner(System.in);
        int guess;
        boolean win = false;
        while (win == false){  //This while loop false the code with in it repeat until win === true
            System.out.println("Guess a number between 1 and "+ maxnum +": ");
            guess = input.nextInt();
            tries++; //Increasing the number set in the variable tries by 1
            if (guess == number){
                win = true; //Since the number is correct win == true then ending the loop
                //First thing the guess is compared too
            }
            else if(guess < number){
                System.out.println("Number is to low, tray again");
                //2nd thing guess is compared too.
            }
            else if(guess > number){
                System.out.println("Number is to high, try again");
                //3rd thing guess is compared too.
            }
        }
        System.out.println("You win!");
        System.out.println("It took you "+ tries + " tries.");
    }
}



بازی حدس عدد در ++C

#include <cstdlib>
#include <time.h>
#include <iostream>
 
using namespace std;
 
int main() {
      srand(time(0));
      int number;
      number = rand() % 1000 + 1;
      int guess;
      do {
            cout << "Enter your estimate: ";
            cin >> guess;
            if (guess < number)
                  cout << "Your estimate is less, than the secret number" << endl;
            else if (guess > number)
                  cout << "Your estimate is more, than the secret number" << endl;
            else
                  cout << "Your guess is right!" << endl;
      } while (guess != number);
      system("PAUSE");
      return 0;
}


بازی حدس عدد با پایتون


import random
the_number = random.randrange(0, 1000)
print("I'm a number between 0 to 999, Guess Me.")
while True:
guess = int(input())
if guess == the_number:
print("You Win")
break
elif guess > the_number:
print("I'm lower than that")
else:
print('I am bigger than that.')

۱ موافقین ۱ مخالفین ۰ ۰۶ شهریور ۹۷ ، ۱۲:۱۱
سعید غلامی