چرا پایتون

اصلاح شده

2026-04-18

چه زبان برنامه نویسی را باید اول یاد بگیریم؟

نقشه راه برنامه نویسی‌های مختلف

شاید دلیل ما برای شروع یادگیری پایتون این باشد که ن یاز به آنالیز داده‌های زیادی داریم، یا برای امرار معاش به این راه وارد شده‌ایم. همچنین اگر در حوزه علم داده (Data Science) و یا هوش مصنوعی (Artificial Intelligence) مشغول به فعالیت هستیم، زبان برنامه‌نویسی پایتون، گزینه بسیار مناسبی برای ما خواهد بود.

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

1- اسکریپت و اتوماسیون در پایتون

2- استفاده از پایتون برای داده‌های بزرگ (Big Data)

3- پشتیبانی پایتون از تست (Testing)

4- گرافیک کامپیوتری در پایتون

5- استفاده از پایتون در توسعه وب

6- سازگار و قابل انتقال بودن

7- تفسیر داده‌های تصویربرداری عصبی

8- بهره‌مندی از پایتون در طراحی Task در نرم‌افزارهایی مانند Psychopy

مثال حل فیزیک

در ادامه یک مثال فیزیک دبیرستانی همراه با کدنویسی با استفاده از پکیج SymPy در پایتون آورده شده است. مثال مربوط به حل یک مسئله‌ی حرکت در خط راست است:

x(t)=12at2+v0t+x0 x(t) = \frac{1}{2}at^2 + v_0t + x_0

یک جسم با سرعت اولیه v0=10msv_0 = 10 \frac{m}{s} و شتاب a=2ms2a = 2 \frac{m}{s^2} شروع به حرکت می‌کند. مکان جسم در لحظه t=0t=0 برابر x0=5mx_0 = 5m ​است. مکان جسم را در لحظه t=4st=4s بیابید.

  • استفاده از SymPy
# pip install sympy
from sympy import *

init_printing()
  • تعریف متغیرها
a = symbols("a")  # شتاب
v_0 = symbols("v_0")  # سرعت اولیه
x_0 = symbols("x_0")
t = symbols("t")  # زمان
x = symbols("x")  # مکان
x_t = symbols("x_t")

# t, x, x_t, v_0 a x_0 = symbols('t x x_t v_0 a x_0')
  • معادله مکان بر حسب زمان
x_eq = 1 / 2 * a * t**2 + v_0 * t + x_0
display(x_eq)

0.5at2+tv0+x0\displaystyle 0.5 a t^{2} + t v_{0} + x_{0}

  • داده‌های مسئله
v0 = 10  # سرعت اولیه (m/s)
a = 2    # شتاب (m/s^2)
x0 = 5   # مکان اولیه (m)

# v0, a, x0 = 10, 2, 5
  • معادله مکان بر حسب زمان
x_eq = (1 / 2) * a * t**2 + v0 * t + x0
display(x_eq)

1.0t2+10t+5\displaystyle 1.0 t^{2} + 10 t + 5

  • مکان در لحظه t = 4
t_value = 4
x_at_t = x_eq.subs(t, t_value)
display(x_at_t)

61.0\displaystyle 61.0

# pip install matplotlib
# pip install numpy

import matplotlib.pyplot as plt
import numpy as np

x_func = lambdify(t, x_eq, "numpy")
t_values = np.linspace(0, 5, 10)
x_values = x_func(t_values)

# Create the plot
plt.plot(t_values, x_values, label=str(x_eq))
plt.xlabel("Time (s)")
plt.ylabel("Position (m)")
plt.title("Position vs. Time")
plt.legend()
plt.grid()
plt.show()