آشنایی
پایتون زبان خوبی است!
پایتون زبان خوبی است!
بر اساس اطلاعات به دست آمده از ویکی پدیا و سایت اصلی پایتون از این زبان در شرکت های زیر استفاده شده: - Google - Yahoo - CERN - NASA
پایتون زبانی انعطافپذیر است که به علت مفسری بودن آن برنامههای نوشته شده به این زبان براحتی در بسیاری از پلتفرمها قابل استفاده است. لیستی از پلتفرمهایی که پایتون در آنها قابل استفاده است:
همچنین با این زبان در محیطها زیر کاربرد دارد:
به عقیده ی نویسنده ی یکی از کتاب های پایتون, برنامه نویس کسی است که از برنامه نویسی لذت می برد و با استفاده از هر ابزاری این کار را انجام می دهد. در نتیجه کاری را انجام دهید که از آن لذت می برید.
زبان پایتون یک زبان آزاد و متن باز است؛ پس برای استفاده ی بدون محدودیت به راحتی در دسترس است.
اگر می خواهید یک جستجوی ساده انجام دهید و یا با تعداد زیادی فایل مثل عکس های یادگاریتان کار کنید؛ نیاز به یک دیتابیس ساده و رابط کاربری آسان دارید می توانید از پایتون به عنوان زبان اسکریپت نویسی استفاده کنید. این امکان حتی برای انجام کارهای SysAdmin هم می تواند بسیار مفید باشد.
اگر یک برنامه نویس حرفه ای هستید و از زبانها و ماژولهای مختلفی برای انجام کارهایتان استفاده می کنید. می توانید از این زبان بر طیف گسترده ای از سیستمها استفاده کنید و حتی می توانید از پایتون به صورت یک زبان (به صورت embedded ) در برنامه خود استفاده کنید و جهت توسعه آنرا بکار ببندید.
پایتون زبانی است که از تعداد زیادی ساختار, پشتیبانی می کند. شما می توانید به راحتی از ابزارهای مختلف آن سود ببرید. حتی در صورتی که هنوز از C استفاده می کنید و یا می خواهید قدرت آن را هم, در دستان خود داشته باشید! می توانید قسمتهایی از برنامه را به کمک زبان C بنویسید و از آنها در برنامه خود استفاده کنید. بعضی از ساختارهای زبان پایتون باعث شده است که, بعضی آن را بهتر از Perl بدانند و در حل مشکلات بزرگ از آن استفاده کنند.
پایتون امکان تقسیم بندی برنامه به ماژول های مختلف را دارد. شما می توانید از این ماژول ها مثل کار با فایلها ، ورودی و خروجی ها، سوکت ها و رابطهای متفاوت ( حتی گرافیکی) در برنامه های دیگر خود به راحتی استفاده کنید.
پایتون یک زبان تفسیری است این موضوع به شما این امکان را می دهد تا برنامه خود را در سیستمهای دیگر تنها با وجود یک مفسر پایتون اجرا کنید (همین قابلیت است که توانایی اجرای برنامه را در طیف وسیعی از سیستمها برای شما فراهم می دهد.) در صورتی که در بسیاری از زبانها نتنها مجبورید به صورت خاص برنامه نویسی کنید بلکه باید آن برنامه را به صورت مجزا بر روی سیستم جدید کامپایل کنید.
Readability یا خوانا بودن. نوع مفسری که پایتون دارد برنامه نویس را مجبور می کند که بصورتی کد نویسی کند که در پایان خواندن برنامه بسیار آسان باشد. در صورتی که در خیلی از زبانهای دیگر شما به راحتی می توانید چندین خط را در یک خط ادغام کرده و یا همه خطهای برنامه را در یک ستون بنویسید! ( این امر خواندن برنامه را بسیار سخت می کند)
Why such popularity with Python?
Why was Python's popularity so sudden?
5 Reasons Why You Should Learn Python Programming
10 Reasons Python Rocks for Research (And a Few Reasons it Doesn’t)
پایتون ۳ یا ۳۰۰۰ یا py3k نسخه ای از پایتون است که تغییرات زیاد و پایه ای دارد و در کل backward compatibilly ندارد.
فهرست برخی از تغییرات عمده پایتون ۳ به نقل از ویکیپدیا
تغییر پرینت چون یک تابع غیر قابل انتقال است نه یک توضیح. این باعث میشود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم تر میشود. در پایتون ۲٫۶ این امکان با تایپ کردن from – future – import print – function فراهم شد. اضافه شدن حمایت از یادآوری تابع انتخابی که میتواند برای معرفی تایپ خصوصی یا اهداف دیگر استفاده شود. یکسان کردن تایپ str/Unicode، به نمایندگی از یک متن، و معرفی یک تایپ byte تغییر ناپذیر؛ با یک تایپ مطابق با bytearray تغییر پذیر، که هر دو آرایه از بایت را ارائه میکنند. از بین بردن خصوصیات سازگاری معکوس، شامل کلاسهای به فرم قبل، قسمت کردن اعداد صحیح، استثناءهای رشتهای، و گزارشهای نسبتاً نا آشکار.
در سایت اصلی پایتون اینگونه نوشته شده است که اگر کارتونو توانستنید با پایتون ۳ انجام دهید. دمتون گرم. ادامه بدهید.
در کل پایتون ۳ با مشکل پشتیبانی محدود کتابخانه ها مواجه است. هنوز کتابخانههایی هستند که به پایتون ۳ port نشدهاند. از طرفی اکثر سرور ها از سری python 2.x پشتیبانی می کنند. در کل پایتون ۳ زبان کاملی است و پشتیبانی خیلی بهتری از unicode دارد. از طرفی ابزار هایی مثل 2to3 کمک می کند کد های قدیمیتان را به پایتون ۳ تبدیل کنید (البته نه خیلی راحت)
2to3 - Automated Python 2 to 3 code translation
چه کتابخانه هایی هنوز به پایتون ۳ منتقل نشده اند؟
gevent - Python networking library
البته یک سری از کتابخانه ها به صورت غیر رسمی port شدهاند:
Some unofficial binaries are available for Python 3 PIL
کتابخانه مهمی که به پایتون ۳ منتقل شدهاند:
CherryPy — A Minimalist Python Web Framework
مقایسه در کد
قدیمی:
print "The answer is", 2 * 2 print x, # Trailing comma suppresses newline print # Prints a newline print >> sys.stderr, "fatal error" print (x, y) # prints repr((x, y))
جدید:
print("The answer is", 2 * 2) print(x, end=" ") # Appends a space instead of a newline print() # You must call the function! print("fatal error", file=sys.stderr) print((x, y)) # Not the same as print(x, y)!
نتیجه گیری
در کل پایتون ۲ با پایتون ۳ تفاوت خیلی زیادی در کد ندارند و برنامه نویس پایتون ۲ به راحتی می تواند پایتون ۳ را یاد بگیرد. اما منابع آموزشی مربوط به پایتون ۲ بسیار زیاد تر. ابزار بیشتر و ... دارند. توصیه آخرم این است که تازه وارد ها با پایتون ۲ کار کنند و فقط از پایتون ۳ استفاده کنند که دقیقا می دانند می خواهند چه استفاده ای از پایتون ۳ بکنند. یعنی تمامی نیاز مندی کارشان را در نظر بگیرند.
مقالات مرتبط
How to support both Python 2 and 3
How CherryPy supports Python 2 and 3
($) Porting to Python 3 - The Book Site
Python 2 vs Python 3 and Tutorial
Should I learn Python 2 before 3, or start directly from Python 3?
یکی از سوالاتی که همواره در ذهن افراد تازه کار وجود دارد این است که از کدام آی دی ای استفاده کنند و مدت زمان زیادی از وقت خود را برای یافتن یه آی دی ای صرف می کنند گرچه وجود یک آی دی ای خوب در برنامه نویسی راحت تر موثر است ولی نباید آنچنان در گیر یافتن یک آی دی ای شد که خود برنامه نویسی را فراموش کرد برنامه نویسان همواره باید این نکته را مد نظر داشته باشند که تغییر از یک آی دی ای به یک آی دی ای دیگر چندان سخت نیست و بهتر است با هر آنچه در اختیار دارند برنامه نویسی و و یاد گیری را آغاز کنند و به مرور زمان هر گاه احساس نیاز به یک آی دی ای و ویراستار دیگر پیدا کردند به آن کوچ کنند با این حال معمولا توصیه می شود در شروع یادگیری یک زبان برنامه نویسی ازویراشتارهای ساده تر استفاده شود و زمانی که تسلط کافی در برنامه نویسی به دست آمد از ویراستارهای پیشرفته تری نیز بهره مند شوند در این جا چند آی دی ای که مشهور تر است معرفی می شود
ویرایشگرهای ساده
به جز IDLE که یک ویراستار میانه در بین ویراستار های ساده و ویراستار های پیشرفته است باقی این ویراستار ها تنها امکانات ساده و اولیه مانند رنگ بندی و حد اکثرفرمت بندی کد ها را فراهم می کنند
ویرایشگرهای پیشرفته
در این بین ویژوال استادیو مایکروسافت تنها بر روی ویندوز قابل استفاده است ولی دیگر ویراستار ها هم بر روی ویندوز و هم بر روی لینوکس قابل استفاده هستند
Comparison of integrated development environments for Python
پایتون زبان به شدت راحتی است و بسیار خوش ساخت و منطقیست. برای همین یادگیری اش هم بسیار راحت و لذت بخش است.
یک کتاب بخوانید. کلا کتاب ها خیلی ساده همه چیز رو توضیح داده اند.
مقاله
مجموعه آموزشهای برنامه نویسی در پایتون
The Hitchhiker's guide to Python
Python Tips, tools and resources
کتاب
Some list of paid books on python
Data Structures and Algorithms with Object-Oriented Design Patterns in Python
Python programming on wikibooks
Programming Computer Vision with Python
Program Arcade Games With Python And Pygame
The Python Standard Library by Example (Developer's Library)
Pro Python (Expert's Voice in Open Source)
Beginning Python: From Novice to Professional
Python Algorithms: Mastering Basic Algorithms in the Python Language
Python for Unix and Linux System Administration
البته اینجا یک سری منبع آزاد خوب گذاشته اس
من که انگلیسی بلد نیستم؟
در اولین فرصت یا زبان انگلیسی تان را باید قوی کنید یا کلا بی خیال برنامه نویسی و ... شوید. :D هزار تا کار بهتر هست، مثلا برید شرکت تولیدی بزنید یا کار هایی که هم پولش بهتره، هم نیاز به این همه سوسول بازی نداره :D را انجام بدید. این جواب نبود فقط یک نکته کلی بود :D
سایت های مرجع فارسی:
لیست کاملی از وب سایت های دیگر آموزش پایتون هم دارد. البته کتاب های زیادی هم به فارسی ترجمه کرده اند که بسیار جای تقدیر دارد.
فيلم آموزش برنامه نويسي پایتون
آموزش پایتون قسمت های ۱-۳ تا ۵-۳
برگرفته شده از http://blog.efazati.org/post/how-learn-python
به نظر می رسد آموزش پایتون ساده تر از آن باشد که نیاز به کلاس حس شود ولی ممسلما خوانندگان در صورت احساس نیاز با همی صبر و حوصله و جستجو آموزشگاه های معتبری را خواهند یافت که در آنها این زبان شیرین تدریس می شود
به عنوان مثال مشاهده می شود که انجمن های علمی در دانشگاه های دولتی سطح شهر اقدام به برگزاری دوره های آموزشی با کیفیت مناسب و قیمت کم در مقایسه با آموزشگاه های آزاد می کنند
در صورتی که در آموزشگاهی این زبان را می آموزید و از کیفیت آموزش آنجا راضی هستید اطلاعات مربوط به این آموزشگاه را برای استفاده دیگران قرار دهید.
در طول دهه گذشته پایتون در تمام حوزه های برنامه نویسی بین توسعه دهندگان محبوبیت پیدا کرده. از برنامه نویسیان وب تا طراحان بازی های ویدیوی عاشق این زبان شده اند. چرا؟ به دلیل سهولت یاد گیری، سهولت استفاده و قدرت فوق العاده.
برای یادگیری پایتون منابع بسیاری در وب وجود دارند که بیشتر آنها کاملا رایگان هستند. در اینجا به چند سایت خوب برای یادگیری آنلاین پایتون اشاره می کنیم:
Codecademy یکی از مشهورترین سایتها برای یادگیری برنامه نویسی به صورت محاوره ای یا interactive است که دارای رابط کاربری خوب به همراه دوره های متنوع و در سطوح مختلف است.
LearnStreet is an early-stage startup focused on changing the way people of all backgrounds and skill levels learn how to code.
We are a small, passionate team of product craftsmen, hackers and designers doing what we love—building a service that inspires users to tap into their amazing potential. We believe putting the power of coding in more hands can unleash a wave of creativity that makes the world a better place for all of us. We’re proud to have already received some kind words from the folks at LAUNCHedu.
LearnStreet adopts command prompt-styled code interpreters with human language to explain function and encourage you whenever possible, the kind of command prompt you want for your own local machine. However, the code interpreter could be as rude as standard command prompt, as most of the times it requires you to type in the absolute same code and content it asks for.
Other than that, it’s truly friendly and enjoyable, and most importantly, free.
CodingBat is a free site of live coding problems to build coding skill in Java, and now in Python (example problem), created by Nick Parlante who is computer science lecturer at Stanford. The coding problems give immediate feedback, so it's an opportunity to practice and solidify understanding of the concepts. The problems could be used as homework, or for self-study practice, or in a lab, or as live lecture examples. The problems, all listed off the CodingBat home, have low overhead: short problem statements (like an exam) and immediate feedback in the browser. The idea for CodingBat came from my experience teaching CS at Stanford combined with seeing how student's used unit-tests in more advanced courses, and crystalized when I saw an Owen Astrachan demo of a unit-testing thing he uses with his Duke students.
Online Python Tutor is a free educational tool that helps students overcome a fundamental barrier to learning programming: understanding what happens as the computer executes each line of a program's source code. Using this tool, a teacher or student can write a Python program directly in the web browser and visualize what the computer is doing step-by-step as it executes the program.
In a world where teaching and learning is no longer a one-off transaction, CodeMonk aims to fill the gap by helping programmers learn and level up continuously.
هدف مکتب خونه در دسترس قرار دادن آموزش با کیفیت بالا برای همه ی فارسی زبانان است. ما اعتقاد داریم که هیچ کس نباید به خاطر هیچ چیز از لذت یاد گرفتن محروم شود. نباید سن و سال یا مکان و موقعیت و امکانات مالی افرادی را از یاد گرفتن و موفقیت باز دارد.
مکتب خونه بنا دارد تا بستری نرم افزاری مناسبی بسازد که در آن هر کس بتواند یاد بدهد و یاد بگیرد. اگر آموزگار هستید بتوانید کلاس خود را ایجاد کنید و به هزاران دانش آموز از سرتاسر جهان یاد بدهید و اگر دانش آموز هستید در کلاس های دلخواهتان شرکت کنید و درباره ی هزاران موضوع یاد بگیرید.
Runestone Interactive is the home for several projects that provide interactive textbooks for computer science. We currently have two books in use for our Introductory Computer Science classes. You can link to them from the library on the right.
In addition to the books we are also have a set of tools for creating interactive eBooks. The tools as well as the book are open source and available for you to use. If you do use the tools to create a book let us know and we'll add a link.
کلاس های مجازی با حضور استاد و دانشجویان به صورت کاملا آنلاین در این سایت عرضه میشود که در دروه مقدماتی به مفاهیم پایه برنامه نویسی و مفاهیم شبکه و برنامه نویسی شبکه در پایتون پرداخته میشود و در دوره پیشرفته بیشتر مباحث امنیت و تکنیک های آن بررسی میشوند.
اسلاید های دوره در SildeShare قابل مشاهده هستند که امکان دانلود آنها نیز وجود دارد.
استانداردها و رسوم کدنویسی، گایدلاین ها (راهنما و دستورالعمل) برای زبان های برنامه نویسی هستند که شیوه های خاصی برای کدنویسی را توصیه می کنند. این گایدلاین ها توصیه هایی برای کامنت گذاری، فاصله گذاری، تعریف و نام گذاری متغیرها (variable)، چگونگی فضاهای خالی و … دارند.
بسیار توصیه می شود که برنامه نویسان نرم افزارها حتما از این استانداردها استفاده کنند تا کدهایشان به آسانی توسط سایرین خوانده شود.
برای آشنایی بیشتر با لزوم استفاده از استانداردها میتوانید به مطلب زیر مراجعه کنید:
معاهدههای کدنویسی (Coding conventions)
چرا استاندارد نویسی اهمیت دارد؟
گرچه استاندارد نویسی در ابتدا مشکل است و بیهوده به نظر می رسد، اما زمانی که نرم افزارتان بزرگ شود و حجم آن به چند هزار خط در چند صد فایل برسد، فواید آن مشخص می شود. بعضی از این فواید عبارتند از:
pep8 - Python style guide checker
PEP 257 docstring style checker
در لینک های زیر با استانداردها و توصیه های کدنویسی در پایتون آشنا می شوید:
خوشبختانه امروزه برنامه نویسی برای وب با پایتون همانند سالهای قبل نیست
گرچه در ابتدا پایتون به عنوان یک زبان همه منظوره (از جمله با هدف برنامه نویسی وب) مطرح شد ولی در ابتدا امکانات اولیه ای که برای برنامه نویسی وب در آن قرار داده شده بود کم و ناقص بودند به همین علت فریم ورک هایی به وجود آمدند که کار برنامه نویسی وب با پایتون را راحت و دلپذیر کنند
بعد ها در سال 2007 با معرفی pep 333 رسما استانداردی برای برنامه نویسی وب با ایتون ایجاد شد ولی با توجه به پشرفت فریم ورک های پایتونی تا قبل از این تاریخ و نیز اینکه این استاندار با هدف هر چه بهتر کردن استفاده از فریم ورک ها طراحی شد برنامه نویسان حتی برای ساده ترین امور نیز از فریم ورکی که متناسب با کار ایسان است استفاده می کنند
با این توضیح افرادی که از پی اچ پی به پایتون مهاجرت کرده اند ممکن است تعجب کنند چرا که این افراد در بسیاری از موارد عادت دارد همه سایت را از ابتدا و بدون استفاده از فریم ورک ها برنامه نویسی کنند در حالی که در پایتون تقریبا هیچ کس را پیدا نمی کنند که سایتی را بدون استفاده از فریم ورک ها برنامه نویسی کند
خالی...
فلسک یکی از میکروفریمهای پایتون است که انعطافپذیری بالایی برای انجام کارهای مختلف دارد.
Designing a RESTful API with Python and Flask
Building websites in Python with Flask
Designing a RESTful API using Flask-RESTful
در صورتیکه از محیط دسکتاپ سیستم عامل لینوکس استفاده می کنید بعید به نظر می رسد که از نرم افزار هایی که با ایتون نوشته شده است استفاده نکرده باشید
پایتون جزپی جدا نشدنی از لینوکس است ولی مشاهده می شود که بسیاری از نرم افزار های مشهور که در ویندوز نیز قابل استفاده است با پایتون نوشته شده است
برای ایجاد فرم های و پنجره ها در ویندوز و لینوکس بایستی از كتابخانه های گرافیکی استفاده شود. ابزارهاي متعددي براي اين منظور در دسترس هستند ولي هيچكدام كامل نيستند و البته متفاوت با هم. در ادامه به معرفي چند ابزار معروف و پركاربرد در اين زمينه مي پردازيم.
Tkinter
ابزاي قديمي و معروف در پايتون كه تقريبا همزمان با بوجود آمدن اين زبان ارائه شد. ابزاري چند سكويي،پايدار و قابل اعتماد كه به سادگي قابل يادگيري است. البته اين ابزار داراي كمبودهايي در widget هاي خود ميباشد.
به طور کلی دو روش برای استفاده از پایتون به صورت embedded وجود دارد:
Embedding Python in Another Application
The Owl Embedded Python System
Building Image Processing Embedded Systems using Python, Part 1
پایتون دو سطح برای دسترسی به شبکه فراهم می کند، در سطح پایین شما می توانید به سوکت ها دسترسی داشته باشید که به شما اجازه میدهد سرویس دهنده و سرویس گیرنده های تحت شبکه را پیاده سازی کنید، و در سطح بالا پایتون کتابخانه های دسترسی به پروتکل های لایه application مثل HTTP و FTP و … را فراهم می کند. پایتون دسترسی ساده به شبکه برای شما فراهم میکنند و برای برنامه نویسی سوکت ها به صورت RAW نیز امکانات فوق العاده ای در اختیار کاربر قرار میدهد. پایتون کتابخانه های فوق العاده ای در زمینه شبکه و امنیت دارد و امکان برنامه نویسی شبکه به صورت Non-blocking را به راحتی فراهم میکند. برای مثال کتابخانه های شبکه پایتون :
و اشاره کرد.
پایتون همچنین ماژول های مختلفی برای شبکه دارد که به راحتی میتوان با استفاده از آن ها بسیاری از کارها را با چند خط کد ساده انجام داد به طول مثال :
برای ایجاد یک سرور TCP یا UDP میتوان از ماژول SocketServer استفاده کرد.
برای ایجاد یک وب سرور ساده میتوان از ماژول SimpleHTTPServer استفاده کرد.
برای آشنایی بیشتر با نحوه برنامه نویسی شبکه در پایتون مطالب زیر شروع خوبی برای اینکار هستند:
Python socket – network programming tutorial
در ضمن کتاب Foundations of Python Network Programming به صورت مفصل تر به این موضوع پرداخته است، در این کتاب به پکیجهای مفیدی معرفی شده که بعضی از آنها عبارتند از:
برای کار با نقشههای گوگل می توانید از بسته googlemaps استفاده کنید.
برای صحبت با پروتکل HTTP کتابخانه httplib استفاده کنید.
کتابخانه سوکت برای کار با شبکه در سطح پایین استفاده می شود.
همچنین در پایتون با بسته pydns می توانید با سرورهای DNS ارتباط برقرار کنید.
پایتون قابلیت کد کردن داده ها با JSON و فشرده کردن آنها با zlib و gzip را دارد.
رمزنگاری TLS و SSL با کتابخانه ssl انجام می شود.
با ماژول logging امکان ثبت رخدادهای برنامه وجود دارد.
برای برنامه نویسی behaviour-driven در پاتون بسته lancelot این امکان را فراهم می کند.
Twisted یک فریمورک event-driven برای کار با شبکه است که از پروتکل های مختلف پشتیبانی می کند، برای اطاعات بیشتر در مورد Twisted به صفحه ویکیپیدا پروژه مراجعه کنید.
فریمورک SocketServer برنامه نویسی سرورهای شبکه را آسان می کند.
پایتون با بسته python-memcached امکان اتصال به سرویسدهنده memcached را فراهم می کند.
برای درهم سازی و hash کردن دادهها می توانید از hashlib استفاده کنید.
pyzmq امکان اتصال پایتون به ØMQ را می دهد.
کتابخانه های urllib, urllib2 و urlparse امکان اتصال به پروتکل HTTP و کار با url ها را فراهم می کنند، بسته requests نیز این قابلیت را در سطح بالاتر و با سهولت بیشتر فراهم می کند.
در پایتون امکان ایجاد و اجرای اسکریپتهای cgi در سرور HTTP با ماژول cgi وجود دارد.
cookielib نیز برای handle کوکی کلاینتهای HTTP استفاده می شود.
برای شبیهسازی قابلیتهای مرورگرها و مرور وب با پایتون می توان از بسته mechanize استفاده کرد.
امروزه اینکه برنامه ای را بنویسید و در آن نیاز به کار با بانک های اطلاعاتی یدا نکنید تعجب آور است
به طبع هر زبان برنامه نویسی امکاناتی را برای اتصال و استفاده از از بانک های اطلاعاتی فراهم می آورد بعضی از این امکانات به صورت داخلی و بعضی با استفاده از کتابخانه های خارجی مورد استفاده قرار می گیرند
بقیه بعدا که حوصله داشتم
خالی...
داده کاوی، پایگاهها و مجموعههای حجیم دادهها را در پی کشف واستخراج دانش، مورد تحلیل و کند و کاوهای ماشینی (و نیمهماشینی) قرار میدهد. این گونه مطالعات و کاوشها را به واقع میتوان همان امتداد و استمرار دانش کهن و همه جا گیر آمار دانست. تفاوت عمده در مقیاس، وسعت و گوناگونی زمینهها و کاربردها، و نیز ابعاد و اندازههای دادههای امروزین است که شیوههای ماشینی مربوط به یادگیری، مدلسازی، و آموزش را طلب مینماید.
اصطلاح Data Mining همان طور که از ترجمه آن به معنی داده کاوی مشخص میشود به مفهوم استخراج اطلاعات نهان و یا الگوها وروابط مشخص در حجم زیادی از دادهها در یک یا چند بانک اطلاعاتی بزرگ است.
اغلب افراد پایتون را زبان تخصصی مورد استفاده مهندسین کامپیوتر می دانند ولی استفاده این زبان در کاربردهای دانشگاهی شگفت آور است
اگر در دانشگاه های شهر تهران به سراغ دانشجویان رشته ریاضی یا آمار بروید بعید به نظر می رسد که مفسر زبان پایتون به همراه numpy رو بر روی لپ تاپ آنهاپیدا نگنید
یا اگر به سراغ دانشجویان سنجش از دور یا جغرافی بروید احتمالا همه آن همرا ه با نصب arcGIS نسخه ای از پایتون را نیر بر روی رایانه مورد استفاده خود نصب کرده اند
این زبان به علت کارایی بالا در کنار سهولت یاد گیری مورد توجه خاص افرادی است که رشته تخصصی آنها چیزی به غیر از زمینه های مرتبط با کامپیوتر است از علوم ایه و و شاخه های مرتبط با ریاضیات مانند راضی و آمار و فیزیک تا علوم تجربی مانند جغرافی
در زمینه امنیت از زبان پایتون استفاده های بسیاری میشود. یکی از دلایلی که به زبان پایتون اهمیت زیادی داده میشود تعداد کد های کمی هست که برای رسیدن به مقصود لازم است برنامه نویس بنویسد با کمک این قابلیت میتوان از جزئیات بسیار پیاده سازی گذر کنیم و به نحوه کار برنامه بیشتر بپردازیم این در بحث Proof of concept و Rapid prototyping بسیار مهم است زیرا اجازه میدهد که ایده هایی که برای حمله و نفوذ وجود دارد را در سریع ترین زمان مورد بررسی قرار دهیم که ممکن است با زبانی مثل C نیاز به یک روز کار برای تست عملی بودن یک ایده داشته باشیم.
در زمینه امنیت پایتون کتابخانه های قدرتمندی دارد و در تمامی زمینه ها امنیت ابزارهای قدرتمندی با پایتون ساخته شدند بسیاری از Exploit هایی که نوشته میشوند هم این روزها با این زبان توسعه پیدا میکنند.
در زمینه شبکه و امنیت از کتابخانه ها و ابزارهای زیر استفاده میشود
Scapy برای Sniff و فرستادن و ایجاد بسته ها Injection استفاده میشود که از آن میتوان به صورت Interactive Shell و یا به صورت module استفاده کرد.
pypcap و Pcapy و pylibpcap برای ارتباط و استفاده از libpcap
Pytbull فریم ورک برای تست IPS و IDS ها استفاده میشود
مهندسی معکوس و دیباگ کردن Fuzzing کتاب خانه های وب Forensics آنالیز بد افزار ها