مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

۲۱ مطلب با کلمه‌ی کلیدی «رادیو صدای ققنوس» ثبت شده است

Pandas vs NumPy | Top 7 Differences You Should Know

مقایسه عملکرد NumPy و Pandas در پروژه‌های بزرگ به عوامل متعددی بستگی دارد. در اینجا به چند نکته کلیدی در این زمینه اشاره می‌شود:

🔴🔴🔴 ۱. سرعت و کارایی

- NumPy:
  - عملکرد بالا: به دلیل استفاده از آرایه‌های چندبعدی و بهینه‌سازی شده برای عملیات عددی، NumPy معمولاً سرعت بسیار بالاتری در محاسبات ریاضی دارد.
  - عملیات برداری: می‌توان با استفاده از عملیات‌های برداری به جای حلقه‌های تکرار، محاسبات را به طرز چشمگیری تسریع کرد.

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

🔴🔴🔴 ۲. مدیریت داده‌ها

- NumPy:
  - مناسب برای داده‌های عددی و محاسباتی. اگر داده‌ها به صورت آرایه‌های عددی ساده باشند، NumPy بهترین گزینه است.

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

🔴🔴🔴 ۳. استفاده از حافظه

- NumPy:
  - به طور کلی از نظر مصرف حافظه بهینه‌تر است، زیرا آرایه‌های NumPy از نوع داده‌های یکسان استفاده می‌کنند و این باعث کاهش overhead حافظه می‌شود.

- Pandas:
  - مصرف حافظه ممکن است بیشتر باشد، به ویژه برای داده‌های بزرگ و مختلط، زیرا هر ستون در یک DataFrame می‌تواند نوع داده متفاوتی داشته باشد.

🔴🔴🔴 ۴. مقیاس‌پذیری

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

- Pandas:
  - می‌تواند به خوبی با داده‌های بزرگ و پیچیده کار کند، اما برای داده‌های بسیار بزرگ (مثلاً در حد ترابایت) ممکن است نیاز به استفاده از ابزارهای دیگر مانند Dask یا PySpark باشد.

🔴🔴🔴 نتیجه‌گیری

در پروژه‌های بزرگ:

- اگر تمرکز بر روی محاسبات عددی و کار با آرایه‌های عددی باشد، NumPy گزینه بهتری است.
- اگر پروژه شامل تجزیه و تحلیل داده‌ها و مدیریت داده‌های پیچیده باشد، Pandas انتخاب مناسبی خواهد بود.

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

۱ نظر موافقین ۰ مخالفین ۰ ۰۲ مهر ۰۳ ، ۰۴:۵۳
سعید دامغانیان

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

🔵🔵🔵 کد برنامه

 

import requests

def get_ip():
    try:
        response = requests.get('https://api.ipify.org?format=json')
        response.raise_for_status()  # بررسی وضعیت پاسخ
        data = response.json()
        return data['ip']
    except requests.RequestException as e:
        return f"Error: {e}"

if __name__ == "__main__":
    user_ip = get_ip()
    print(f"User Ip is: {user_ip}")

🔵🔵🔵 توضیحات کد

1. وارد کردن کتابخانه: از کتابخانه requests برای ارسال درخواست HTTP استفاده می‌کنیم.
2. **تابع get_ip**:
   - با استفاده از requests.get به API ipify درخواست ارسال می‌کند.
   - پاسخ را به فرمت JSON تبدیل کرده و آی‌پی را استخراج می‌کند.
   - در صورت بروز خطا، پیام خطا را برمی‌گرداند.
3. اجرای برنامه: در بخش اصلی برنامه، تابع get_ip فراخوانی شده و آی‌پی کاربر چاپ می‌شود.

🔵🔵🔵 نحوه اجرا

1. اطمینان حاصل کنید که کتابخانه requests نصب شده باشد. اگر نصب نیست، می‌توانید با دستور زیر آن را نصب کنید:

  
   pip install requests
   

2. سپس کد را در یک فایل با پسوند .py ذخیره کرده و اجرا کنید:

  
   python your_script.py
   

با اجرای برنامه، آی‌پی عمومی کاربر نمایش داده می‌شود.

۱ نظر موافقین ۰ مخالفین ۰ ۰۲ مهر ۰۳ ، ۰۴:۴۹
سعید دامغانیان

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

def is_prime(n):
    """بررسی اول بودن یک عدد"""
    if n <= 1:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def count_primes_between(start, end):
    """شماره‌گذاری اعداد اول بین دو عدد"""
    count = 0
    for num in range(start, end + 1):
        if is_prime(num):
            count += 1
    return count

if __name__ == "__main__":
    start = int(input("Enter first number: "))
    end = int(input("Enter second number: "))
    
    if start > end:
        print("First number must be less than second one.")
    else:
        prime_count = count_primes_between(start, end)
        print(f"Number of prime number between {start} و {end}: {prime_count}")

🔵🔵🔵 توضیحات کد

1. **تابع is_prime(n)**:
   - این تابع بررسی می‌کند که آیا عدد n اول است یا خیر.
   - اگر n کمتر از یا برابر با ۱ باشد، False برمی‌گرداند.
   - در غیر این صورت، با استفاده از یک حلقه، بررسی می‌کند که آیا n بر هیچ عددی از ۲ تا جذر آن تقسیم‌پذیر نیست.

2. **تابع count_primes_between(start, end)**:
   - این تابع تعداد اعداد اول بین دو عدد start و end را شمارش می‌کند.
   - از یک حلقه برای بررسی هر عدد در این محدوده استفاده می‌کند و اگر عدد اول باشد، شمارش را افزایش می‌دهد.

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

🔵🔵🔵 نحوه اجرا

1. کد را در یک فایل با پسوند .py ذخیره کنید.
2. سپس برنامه را با استفاده از دستور زیر اجرا کنید:

  
   python your_script.py
   

3. دو عدد را وارد کنید تا تعداد اعداد اول بین آن‌ها نمایش داده شود.

۰ نظر موافقین ۰ مخالفین ۰ ۰۲ مهر ۰۳ ، ۰۴:۴۴
سعید دامغانیان

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

🔴 مشخصات حداقلی

- پردازنده (CPU): 
  - حداقل: پردازنده دو هسته‌ای (Dual-core)
  - پیشنهادی: پردازنده چهار هسته‌ای (Quad-core) یا بالاتر

- حافظه (RAM): 
  - حداقل: 4 گیگابایت
  - پیشنهادی: 8 گیگابایت یا بیشتر

- فضای ذخیره‌سازی: 
  - حداقل: 20 گیگابایت فضای خالی
  - پیشنهادی: SSD با ظرفیت 256 گیگابایت یا بیشتر برای سرعت بهتر

- سیستم عامل:
  - ویندوز 10 یا 11
  - macOS (نسخه‌های جدید)
  - توزیع‌های لینوکس (Ubuntu، Fedora و ...)

🔴 مشخصات پیشنهادی برای پروژه‌های بزرگتر یا هوش مصنوعی

- پردازنده (CPU): 
  - حداقل: پردازنده چهار هسته‌ای
  - پیشنهادی: پردازنده‌های چند هسته‌ای (مثل Intel i5/i7 یا AMD Ryzen 5/7)

- حافظه (RAM): 
  - حداقل: 8 گیگابایت
  - پیشنهادی: 16 گیگابایت یا بیشتر (به ویژه برای پروژه‌های بزرگ داده یا یادگیری ماشین)

- فضای ذخیره‌سازی: 
  - SSD با ظرفیت 512 گیگابایت یا بیشتر برای ذخیره‌سازی سریع داده‌ها و پروژه‌ها.

- کارت گرافیک (GPU): 
  - برای پروژه‌های یادگیری عمیق، یک کارت گرافیک با قابلیت CUDA (مثل NVIDIA GeForce) می‌تواند بسیار مفید باشد.

🔴 نرم‌افزارها و ابزارهای لازم

- نصب پایتون: نسخه 3.x (آخرین نسخه پایدار)
- مدیر بسته: pip (به طور پیش‌فرض با پایتون نصب می‌شود)
- ویرایشگر کد یا IDE:
  - ویرایشگرهای سبک: Visual Studio Code، Sublime Text
  - IDEهای کامل: PyCharm، Jupyter Notebook (برای داده‌کاوی و یادگیری ماشین)

🔴🔴🔴 نتیجه‌گیری

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

 

Desktop Computer - Editmicro

۲ نظر موافقین ۰ مخالفین ۰ ۰۲ مهر ۰۳ ، ۰۴:۳۹
سعید دامغانیان

اعداد فیبوناچی اعدادی هستند که به صورت سری مقابل نوشته می شوند. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
در علم ریاضیات رابطه ساخت عدد n ام با استفاده از دو عدد قبل از رابطه زیر بدست می‌آید:

 

Fn = Fn-1 + Fn-2

with seed values : F0 = 0 and F1 = 1.

 

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

n = 10
num1 = 0
num2 = 1
next_number = num2  
count = 1

while count <= n:
    print(next_number, end=" ")
    count += 1
    num1, num2 = num2, next_number
    next_number = num1 + num2
print()

خروجی:

1 2 3 5 8 13 21 34 55 89 

و حالا به صورت بازگشتی کدی مینویسیم که یک عدد فیبوناچی مورد نظر (که در اینجا عدد شماره 9 است) را تولید کند:

def Fibonacci(n):

    # Check if input is 0 then it will
    # print incorrect input
    if n < 0:
        print("Incorrect input")

    # Check if n is 0
    # then it will return 0
    elif n == 0:
        return 0

    # Check if n is 1,2
    # it will return 1
    elif n == 1 or n == 2:
        return 1

    else:
        return Fibonacci(n-1) + Fibonacci(n-2)


# Driver Program
print(Fibonacci(9))

 

خروجی:

34

کد بهینه شده سری اعداد فیبوناچی:

# Function for nth fibonacci number 
def fibonacci(n):
    a = 0
    b = 1
    
    # Check is n is less
    # than 0
    if n < 0:
        print("Incorrect input")
        
    # Check is n is equal
    # to 0
    elif n == 0:
        return 0
      
    # Check if n is equal to 1
    elif n == 1:
        return b
    else:
        for i in range(1, n):
            c = a + b
            a = b
            b = c
        return b

# Driver Program
print(fibonacci(9))

 

۲ نظر موافقین ۰ مخالفین ۰ ۳۰ شهریور ۰۳ ، ۱۵:۴۸
سعید دامغانیان

جهت اجرای برنامه پایتون زیر می بایست با کتابخانه tkinter آشنایی داشته باشید.

ساعت دیجیتال با پایتون

 

#import all the required libraries first
import sys
from tkinter import *
#import time library to obtain current time
import time

#create a function timing and variable current_time
def timing():
    #display current hour,minute,seconds
    current_time = time.strftime("%H : %M : %S")
    #configure the clock
    clock.config(text=current_time)
    #clock will change after every 200 microseconds
    clock.after(200,timing)

#Create a variable that will store our tkinter window
root=Tk()
#define size of the window
root.geometry("600x300")
#create a variable clock and store label
#First label will show time, second label will show hour:minute:second, third label will show the top digital clock
clock=Label(root,font=("times",60,"bold"),bg="blue")
clock.grid(row=2,column=2,pady=25,padx=100)
timing()

#create a variable for digital clock
digital=Label(root,text="My Python's Digital Clock",font="times 24 bold")
digital.grid(row=0,column=2)

nota=Label(root,text="hours        minutes        seconds",font="times 15 bold")
nota.grid(row=3,column=2)

root.mainloop()

 

 

۲ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۰۳ ، ۲۱:۵۳
سعید دامغانیان

برنامه زیر یک عدد از ورودی خوانده و در خزوجی چاپ می کند که آیا آن عدد اول است یا خیر!

 

num = int(input("Please Enter A Number: "))
# Negative numbers, 0 and 1 are not primes
if num > 1:
  
    # Iterate from 2 to n // 2
    for i in range(2, (num//2)+1):
      
        # If num is divisible by any number between
        # 2 and n / 2, it is not prime
        if (num % i) == 0:
            print(num, "is not a prime number")
            break
    else:
        print(num, "is a prime number")
else:
    print(num, "is not a prime number")


 

۱ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۰۳ ، ۲۱:۳۳
سعید دامغانیان

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

۲ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۰۳ ، ۲۱:۱۰
سعید دامغانیان

Tuple ها به لیستها بسیار شبیه هستند، به جز اینکه Tuple ها غیرقابل تغییر هستند .
همچنین، آنها با استفاده از پرانتز، به جای براکت مربعی، ایجاد می شوند.
مثال:

words = ("spam", "eggs", "sausages",)

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

print(words[0])

تلاش برای تخصیص یک مقدار در یک Tuple، یک TypeError را ایجاد می کند.

words[1] = "cheese"

خروجی:

>>>
TypeError: 'tuple' object does not support item assignment
>>>

نکته:مانند لیست ها و dictionary ها، tuple ها را می توان در داخل یکدیگر قرار داد.

tuple ها را می توان فقط با جدا کردن مقادیر با کاما و بدون پرانتز ایجاد کرد.
مثال:

my_tuple = "one", "two", "three"
print(my_tuple[0])

خروجی:

>>>
one
>>>

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

tpl = ()

نکته:tuple ها سریعتر از لیست ها هستند اما قابل تغییر نیستند.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۰۳ ، ۲۱:۰۴
سعید دامغانیان

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

به زبان انگلیسی #درخواستی_شما

به درخواست شما دوستان و همراهان عزیز رادیو صدای ققنوس

کتاب آموزش زبان برنامه نویسی پایتون نسخه پنجم (جدیدترین نسخه)

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

همیشه در حال یادگیری و پیروز باشید. #سعید_دامغانیان

 

رادیو صدای ققنوس | زبان برنامه نویسی پایتون

لینک دسترسی به کتاب

۲ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۰۳ ، ۲۰:۵۳
سعید دامغانیان