Pythonism
Відкрити в Telegram
We use Python in various industries. SXL : https://www.linkedin.com/in/amirakbarisxl-py
Показати більше2 236
Підписники
Немає даних24 години
-67 днів
-4230 днів
Архів дописів
2 236
⚜فصل سوم - Web scraping
🔹requestدر پایتون
در پایتون،
request یک کتابخونه (module) هست که برای ایجاد و ارسال درخواستهای HTTP به وب سایتها استفاده میشه.
این کتابخونه امکانات مختلفی رو برای دریافت و ارسال اطلاعات از وب سایتها فراهم میکنه.
با استفاده از کتابخونه request میتونید درخواستهای GET و POST رو به وب سایتها ارسال کرده و اطلاعاتی مانند صفحات وب و دادههای JSON دریافت کنید.
برای استفاده از کتابخونه request در پایتون، ابتدا باید آن را با استفاده از دستور زیر در بالای کد خود وارد کنید:
import requests
سپس میتونید از توابع و متدهای موجود در این کتابخونه استفاده کنید.
به عنوان مثال، برای ارسال یک درخواست GET و دریافت محتوای صفحه وب، میتونید از تابع get استفاده کنید:
response = requests.get('https://example.com')
print(response.text) # نمایش محتوای صفحه وب
میتونید همچنین درخواستهای POST و دیگر متدهای HTTP را نیز با استفاده از توابع مشابهی از کتابخونه request ارسال کنید.
با استفاده از کتابخونه request میتونید به طور جامعتر درخواستهای مختلفی رو به وب سایتها ارسال کرده و با پاسخها مانند سرآیندها (headers) و کدهای وضعیت HTTP (status codes) برخورد کنید.
#FXL
#request
#POST2 236
کوییز3-Regex در پایتون :
خروجی کد زیر 5 می باشد.
import re str = 'students for passing the exam must have more than 15 grade.' result = re.findall(r'a*',str) print(result.count('a') + result.count('')) #FXL
2 236
کوییز2-Regex در پایتون:
خروجی کد زیر کدام گزینه است؟
import re str = 'i am born in 1973. i am 20 years old now.' result = re.findall(r'(\d+)',str) print(result) #FXL
2 236
کوییز1-Regex در پایتون
خروجی کد زیر چیست؟
import re str = 'Iran is in the middle-east.' result = re.findall(r'iran',str) print(result) #FXL
2 236
توضیح دوم :
و Regex یا عبارت منظم (ترجمه از اصطلاح انگلیسی Regular Expression) یک الگوی مشخصه که برای جستجو، تطابق یا تغییر متن در یک رشته متنی به کار میره.
در پایتون، شما میتونید از ماژول
re استفاده کنید تا با استفاده از Regex، الگوهایی رو بر روی رشتهها اعمال کنید.
برای استفاده از Regex در پایتون، ابتدا باید ماژول re را وارد کنید:
python
import re
بعد از وارد کردن ماژول، میتونید از توابع مختلف اون برای جستجو، جایگزینی و تجزیهوتحلیل رشتهها با استفاده از Regex استفاده کنید.
چند نمونه از توابع مهم ماژول re عبارتند از:
- re.search(pattern, string): جستجوی الگو در رشته. این تابع اولین تطبیق الگو رو در رشته برمیگرداند.
- re.match(pattern, string): بررسی تطبیق الگو با رشته در ابتدای رشته. اگر الگو با رشته تطبیق نداشته باشد، بازگشت None.
- re.findall(pattern, string): یافتن تمام تطبیقهای الگو در رشته و برگرداندن آنها به عنوان لیست.
- re.sub(pattern, repl, string): جایگزینی تمام تطبیقهای الگو در رشته با repl.
در Regex، شما میتونید از کاراکترهای واژگانی (مثل \w, \d, و \s)، کوانتیفایرها (مثل *, + و ?) و عبارتهای منظم پیچیدهتر (مثل گروهبندی و بازگرداندن مقدار تطبیق) استفاده کنید.
💥توجه💥 : مثالهای بیشتری درباره Regex در پایتون و کاربرد آنها در جستجو و تغییر رشتهها وجود دارد.
#FXL2 236
⚜فصل سوم - Web scraping
🔹Regexدر پایتون
و Regex یا عبارت منظم (Regular Expression)
یک الگوی قواعد و الزاماتی هست که برای جستجو و تطبیق الگوها در یک رشته متنی استفاده میشه.
در پایتون، ما میتونیم با استفاده از ماژول
re به regex مرتبط باشیم.
این ماژول شامل توابعی مانند search، match، findall و ... است که به ما اجازه میده با استفاده از الگوهای regex در متنها جستجو کنیم و عملیات مختلفی روی اونها انجام بدیم.
به عنوان مثال، برای جستجوی الگوی "Hello" در یک رشته میتونیم از تابع search استفاده کنیم:
import re
text = "Hello, World!"
pattern = r"Hello"
result = re.search(pattern, text)
if result:
print("Match found!")
else:
print("Match not found.")
در اینجا r قبل از رشته، رشتهای raw رو نشون میده که کاراکترهای escape رو در نظر نمیگیره.
همچنین میتونید با استفاده از regex، متن رو جدا کنید، الگوها رو جایگزین کنید و حتی به تفکیک کلمات درون متن بپردازید.
#FXL2 236
⚜فصل دوم - کار با دیتا بیس ها در پایتون
🔹Cassandra
در کتابخانهی پایتون Cassandra ، امکان اتصال به پایگاه دادهی Cassandra و انجام عملیات خوندن و نوشتن در آن وجود داره.
البته قبل از شروع، اطمینان حاصل کنید که کتابخانهی
cassandra-driver را نصب کردید.
در ادامه مثالی رو برای اتصال به پایگاه دادهی Cassandra و خوندن یک رکورد از یک جدول توضیح میدم.
همچنین به صورت گام به گام توضیحات، کدهای مربوطه و نتیجهی اجرای اون هارو نشون میدم:
۱. ابتدا کتابخانهی cassandra-driver را وارد کنید:
python
from cassandra.cluster import Cluster
۲. به پایگاه دادهی Cassandra متصل شوید:
python
cluster = Cluster(['localhost']) # آدرس میزبان Cassandra را وارد کنید
session = cluster.connect() # اتصال را برقرار کنید
۳. با استفاده از session، از جدول مورد نظر بخوانید:
python
rows = session.execute("SELECT * FROM my_table") # نمونهی SQL کوئری را وارد کنید
for row in rows:
print(row) # یا عملیات دیگری روی رکوردها انجام دهید
در مثال بالا، my_table نام جدول مورد نظرتان است. شما میتوانید نام جدول را با جدول دلخواه خود جایگزین کنید.
💡 توجه داشته باشید که این فقط یک مثال ساده برای خوندن از جدوله.
شما میتونید با استفاده از کتابخانهی cassandra-driver، عملیات اضافه کردن، ویرایش و حذف رکوردها رو نیز انجام بدین.🙃
#FXL2 236
یه تمرین دیگه نوشتم و به گیتهاب اضافه کردم میتونید از لینک زیر نگاه کنید:
https://github.com/AmirakbariSXL/Company-INFO-Finder
تو این تمرین اومدم یدونه اینپوت (شامل یک اسم مثل اسم شرکت) از یوزر میگیرم و اونو میبرم از گوگل سرچ میکنم و اطلاعات اونو میدم. مثلا توی عکس سایت ایرانسل رو سرچ کردم اطلاعات مربوط به شرکت رو برام نوشته
یکم نواقص داره روش باید کار کنم یکی دوتا موردش درست شه ولی به عنوان تمرین این هفته میتونید استفاده کنید.
**دوستانی که نمیدونن جریان چیه:یه سری تمرینات ساده و راحت رو بصورت هفتگی، ماهانه توی گیتهابم میزارم هم تفسیر کدشو اینجا میزارم هم خروجی شو که هم برای شما تمرین باشه هم برای ما بی سوادا:(
#SXL
@Pythonism_Xl
2 236
یه کتاب آوردم براتون به درخواست یکی از بچه های گروه
این کتاب دررابطه با نوشتن کد تمیز در پایتون صحبت کرده
#SXL
@Pythonism_Xl
2 236
یکم بریم درباره کلاس ها توی پایتون بخونیم
یه فایل خلاصه از مبحث کلاس ها آوردم براتون لذت ببرید.
#SXL
@Pythonism_Xl
2 236
⚜فصل دوم - کار با دیتا بیس ها در پایتون
🔹Redis
و Redis یک سیستم پایگاه داده نوع کلید-مقدار (key-value) است که معمولاً به صورت در حافظه RAM عمل می کنه و به خوبی برای کاربردهایی مانند کشینگ (Caching)، مدیریت جلسات (Session Management)، صف ها (Queues) و شمارشگرهای آماری (Counters) مناسب هست.
در پایتون، می تونید از کتابخانه
redis-py برای اتصال و تعامل با Redis استفاده کنید.
برای شروع، ابتدا کتابخانه redis-py رو نصب کنید.
میتونید این کار و با دستور زیر انجام بدین:
pip install redis
سپس، با استفاده از دستور import redis، کتابخانه Redis را در پروژه خود وارد کنید.
برای اتصال به سرویس Redis از روش redis.Redis() استفاده کنید و مقادیر لازم برای host (میزبان) و port (پورت) را تنظیم کنید. به طور پیش فرض، اگر Redis روی لوکال هاست در حال اجرا باشد، می توانید از host='localhost' و port='6379' استفاده کنید.
python
import redis
# اتصال به سرویس Redis
r = redis.Redis(host='localhost', port='6379', db=0)
اکنون می توانید اقدام به ذخیره و بازیابی داده ها در Redis کنید. برای ذخیره کردن یک مقدار با استفاده از تابع set استفاده کنید:
python
# ذخیره کردن داده در Redis
r.set('key1', 'Hello Redis!')
و برای بازیابی مقدار ذخیره شده، از تابع get استفاده کنید:
python
# دریافت داده از Redis
value = r.get('key1')
print(value) # خروجی: b'Hello Redis!'
برای حذف یک کلید از Redis، از تابع delete استفاده کنید:
python
# حذف کردن یک کلید از Redis
r.delete('key1')
همچنین، می توانید با استفاده از تابع exists بررسی کنید که آیا یک کلید در Redis وجود دارد یا خیر:
python
# بررسی وجود یک کلید در Redis
exists = r.exists('key1')
print(exists) # خروجی: False
این توضیحات مقدماتی درباره استفاده از Redis در پایتون بود.
البته، Redis از بسیاری از عملیات مانند تنظیم زمان انقضا (expiry) برای کلیدها، استفاده از لیستها، مجموعهها و مقدارهای صفحه بندی شده و غیره پشتیبانی میکنه. برای دریافت اطلاعات بیشتر و جزئیات بیشتر، به مستندات رسمی Redis و مستندات کتابخانه redis-py مراجعه کنید.
امیدوارم این توضیحات مفید بوده باشد!
#FXL
#redis
#value2 236
یک مثال ساده استفاده از پایگاه داده NoSQL MongoDB در پایتون رو برای شما آوردم :
python
from pymongo import MongoClient
# اتصال به MongoDB
client = MongoClient('mongodb://localhost:27017/')
# دریافت دیتابیس
db = client['mydatabase']
# دریافت کالکشن
collection = db['mycollection']
# اضافه کردن اسناد
document1 = {"name": "John", "age": 28, "city": "New York"}
document2 = {"name": "Emma", "age": 32, "city": "London"}
# اضافه کردن اسناد به کالکشن
collection.insert_one(document1)
collection.insert_one(document2)
# جستجو در کالکشن
result = collection.find({"city": "London"})
# چاپ نتایج
for document in result:
print(document)
در این مثال، ابتدا به MongoDB متصل میشیم و سپس دیتابیس و کالکشن موردنظر رو انتخاب میکنیم.
سپس اسنادی را به کالکشن اضافه میکنیم و با استفاده از متد find() جستجویی رو در کالکشن انجام میدیم و نتایج رو چاپ میکنیم.
به همین راحتی !
#FXL
#NoSQL
#MongoDB
#pymongo
#find2 236
⚜فصل دوم - کار با دیتا بیس ها در پایتون
🔹مقدمه ای بر NoSQL
این سیستم ها(RDBMS) یک دسته از سیستم های مدیریت پایگاه داده ست که در مقابل پایگاه های داده رابطه ای "SQL " یا غیر از NoSQL معروف هستند.
برای NoSQL از مدل های داده غیر رابطه ای استفاده می کنند و به صورت عمومی شامل انواعی از پایگاههای داده بدون ساختار متنوع هستند.
اصطلاح NoSQL برای اشاره به پایگاههای داده غیررابطهای در دهه 2000 معرفی شد.
در پایتون، برای کار با NoSQL، میتونید از کتابخانهها و فریمورکهای مختلف استفاده کنید.
چند نمونه از محبوبترین کتابخانهها عبارتند از:
1. MongoDB: یک پایگاه داده NoSQL منفرد و منبعباز است که به شما امکان ذخیره و بازیابی اسناد JSON فراهم میکند. برای کار کردن با MongoDB در پایتون، میتونید از کتابخانه pymongo استفاده کنید.
2. Redis: یک سامانه این-مموری حرفهای برای ذخیره دادههای کلید/مقدار است ، این کتابخانه علاوه بر ذخیرهسازی ساده، از ویژگیهای پیشرفتهتری مثل صفها و لیستها نیز پشتیبانی میکنه ، برای کار با Redis در پایتون، میتوانید از کتابخانه redis استفاده کنید.
3. Cassandra: یک سیستم مدیریت پایگاه داده توزیع شده و جهت بالا هست که برای مقیاسپذیری و عملکرد بالا طراحی شده . بستهی python-driver مخصوص Cassandraبرای پایتون موجوده.
این تنها چند نمونه از کتابخانهها و فریمورکهای NoSQL برای پایتون هستند.
بسته به نوع پایگاه داده NoSQL که استفاده میکنید و نیازهای خاص شما، ممکنه برای شروع بهتر باشه تا به تفصیل مطالعه کنید و بررسی کنید کدوم یک بهترین گزینه برای پروژه شما هست.
#FXL
2 236
به جمع برخی از ویژگیهای جذاب دیتابیس در پایتون خوش اومدین!!🤩
در زیر چند مثال طریقه استفاده از دیتابیس در پایتون رو براتون آوردم:
1. استفاده از SQLite با کتابخانه sqlite3:
python
import sqlite3
# ایجاد ارتباط با پایگاه داده SQLite
conn = sqlite3.connect('mydatabase.db')
# ایجاد یک cursor
cursor = conn.cursor()
# ایجاد جدول
cursor.execute('''CREATE TABLE employees
(id INT PRIMARY KEY NOT NULL, name TEXT NOT NULL, age INT NOT NULL)''')
# افزودن رکوردها
cursor.execute("INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 30)")
cursor.execute("INSERT INTO employees (id, name, age) VALUES (2, 'Jane Doe', 25)")
# ذخیره تغییرات
conn.commit()
# دریافت و نمایش رکوردها
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
# بستن ارتباط
conn.close()
2. استفاده از MySQL با کتابخانه mysql-connector-python:
python
import mysql.connector
# ایجاد ارتباط با سرور MySQL
conn = mysql.connector.connect(
host='localhost',
user='username',
password='password',
database='mydatabase'
)
# ایجاد یک cursor
cursor = conn.cursor()
# افزودن رکوردها
cursor.execute("INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 30)")
cursor.execute("INSERT INTO employees (id, name, age) VALUES (2, 'Jane Doe', 25)")
# ذخیره تغییرات
conn.commit()
# دریافت و نمایش رکوردها
cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:
print(row)
# بستن ارتباط
conn.close()
3. استفاده از MongoDB با کتابخانه pymongo:
python
from pymongo import MongoClient
# ایجاد ارتباط با سرور MongoDB
client = MongoClient('mongodb://localhost:27017/')
# انتخاب دیتابیس
db = client['mydatabase']
# انتخاب یک کلکشن (جدول)
collection = db['employees']
# افزودن رکوردها
collection.insert_one({"id": 1, "name": "John Doe", "age": 30})
collection.insert_one({"id": 2, "name": "Jane Doe", "age": 25})
# دریافت و نمایش رکوردها
documents = collection.find()
for document in documents:
print(document)
# بستن ارتباط
client.close()
#FXL2 236
⚜فصل دوم - برنامه نویسی شی گرا
🔹دیتابیس
دیتابیس مجموعهای از اطلاعات سازماندهی شده است که در یک مکان مرکزی ذخیره میشه.
دیتابیسها معمولاً شامل جداول هستند که هر جدول دارای ستونهایی با ویژگیهای مختلف است.
هر سطر درون جدول حاوی یک مجموعه اطلاعات مربوط به یک مورد خاص است.
دیتابیسها به شما اجازه میدن تا به راحتی دادهها رو ذخیره ، به اونها دسترسی پیدا کنید و عملیات مختلفی مثل جستجو، اضافه کردن، بهروزرسانی و حذف و روی دادهها انجام بدین.
همچنین، دیتابیسها میتونن اطلاعات رو به صورت پایدار ذخیره کنند و از از دست دادن دادهها جلوگیری کنند.
در برنامهنویسی، اغلب از زبانهای مختلفی برای تعامل با دیتابیسها استفاده میشه، مثل SQL (Structured Query Language).
با استفاده از SQL، میتونید پرس و جوهایی رو انجام بدین تا دادههای مورد نیازتون رو از دیتابیس به دست بیارید.
اهمیت دیتابیسها در صنعت برنامهنویسی از این روست که اکثر برنامهها برای ذخیره و مدیریت دادهها از دیتابیسها استفاده میکنند.
#FXL
2 236
میدونستین برنامه نویس ها وقتی پولشون تمومشه چه اتفاقی براشون میافته؟
به کد کشی میافتن !🥴
#FXL
#fun_time
