Piton egy széles körben használt programozási nyelv, amely számos egyedi tulajdonságot és előnyt kínál a hasonló nyelvekhez képest Jáva és C++. Python oktatóanyagunk alaposan elmagyarázza a Python alapjait és haladó fogalmait, kezdve a telepítéssel, feltételes állítások , hurkok , beépített adatszerkezetek , objektumorientált programozás , generátorok , kivételkezelés , Python RegEx és sok más fogalom. Ez az oktatóanyag kezdőknek és dolgozó szakembereknek készült.
Az 1980-as évek végén Guido van Rossum Python fejlesztéséről álmodozott. Az első változat A Python 0.9.0 1991-ben jelent meg . Megjelenése óta a Python egyre népszerűbb lett. A jelentések szerint a Python ma a legnépszerűbb programozási nyelv a fejlesztők körében, mivel magas technológiai követelményei vannak.
Mi az a Python
A Python egy általános célú, dinamikusan tipizált, magas szintű, lefordított és értelmezett, szemétgyűjtő és tisztán objektumorientált programozási nyelv, amely támogatja az eljárási, objektumorientált és funkcionális programozást.
A Python jellemzői:
A Pythonnak sok van webalapú eszközök , nyílt forráskódú projektek , és élénk közösség . A nyelvtanulás, a projekteken való közös munka és a Python ökoszisztémához való hozzájárulás nagyon egyszerű a fejlesztők számára.
Egyszerű nyelvi keretének köszönhetően a Python könnyebben érthető és könnyebben írható bele. Ez fantasztikus programozási nyelvvé teszi kezdők számára. Ezenkívül segít a tapasztalt programozóknak világos és hibamentes kód írásában.
A Python számos harmadik féltől származó könyvtárral rendelkezik, amelyek segítségével megkönnyítheti működését. Ezek a könyvtárak számos területet lefednek, például webfejlesztést, tudományos számítástechnikát, adatelemzést és még sok mást.
Java vs. Python
A Python kiváló választás gyors fejlesztési és szkriptelési feladatokhoz. Míg a Java az erős típusú rendszert és az objektum-orientált programozást hangsúlyozza.
Íme néhány alapvető program, amelyek bemutatják a köztük lévő legfontosabb különbségeket.
„Hello World” nyomtatása
Python kód:
print('Hello World)'
Pythonban ez egy kódsor. Egyszerű szintaxis szükséges a „Hello World” kinyomtatásához
Java kód:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
Java-ban osztályokat, metódusstruktúrákat kell deklarálnunk sok más dolgot.
Bár mindkét program ugyanazt a kimenetet adja, észrevehetjük a szintaktikai különbséget a print utasításban.
kétdimenziós tömbprogram a c
- A Pythonban könnyű megtanulni és kódot írni. A Java használatakor több kódra van szükség bizonyos feladatok végrehajtásához.
- A Python dinamikusan van beírva, ami azt jelenti, hogy nem kell deklarálnunk a változót, míg a Java statisztikailag van beírva, vagyis deklarálnunk kell a változó típusát.
- A Python különféle tartományokhoz alkalmas, például adattudomány, gépi tanulás, webfejlesztés stb. Míg a Java alkalmas webfejlesztésre, mobilalkalmazás-fejlesztésre (Android) stb.
Python alapszintaxis
A Python programozási nyelvben nem használnak kapcsos zárójeleket vagy pontosvesszőket. Ez egy angolhoz hasonló nyelv. A Python azonban behúzást használ egy kódblokk meghatározásához. A behúzás nem más, mint szóköz hozzáadása az utasítás elé, amikor szükséges.
Például -
def func(): statement 1 statement 2 ………………… ………………… statement N
A fenti példában a jobb oldalon azonos szinten lévő utasítások tartoznak a függvényhez. Általában négy szóközt használhatunk a behúzás meghatározásához.
A más nyelvekben használt pontosvessző helyett a Python utasításait NewLine karakterrel fejezi be.
A Python egy kis- és nagybetűk megkülönböztető nyelve, ami azt jelenti, hogy a nagy- és kisbetűket eltérően kezeli. Például a „név” és a „név” két különböző változó a Pythonban.
A Pythonban a megjegyzéseket a „#” szimbólum használatával lehet hozzáadni. A „#” szimbólum után írt szöveg megjegyzésnek minősül, és a tolmács figyelmen kívül hagyja. Ez a trükk hasznos megjegyzések hozzáadásához a kódhoz vagy egy kódblokk ideiglenes letiltásához. Segít abban is, hogy más fejlesztők jobban megértsék a kódot.
'Ha' , 'egyébként', 'for' , 'while' , 'try', 'except' és 'finally' néhány fenntartott kulcsszó a Pythonban, amelyek nem használhatók változónévként. Ezeket a kifejezéseket a nyelv bizonyos okokból használja, és rögzített jelentéssel bírnak. Ha ezeket a kulcsszavakat használja, előfordulhat, hogy a kód hibákat tartalmaz, vagy az értelmező elutasíthatja őket, mint potenciális új változókat.
Python története
A Pythont Guido van Rossum hozta létre . Az 1980-as évek végén Guido van Rossum holland programozó a hollandiai Centrum Wiskunde & Informatica (CWI)-nél kezdett el dolgozni a Pythonon. Utódot akart létrehozni a ABC programozási nyelv ami könnyen olvasható és hatékony lenne.
1991 februárjában megjelent a Python első nyilvános verziója, a 0.9.0. Ez volt a hivatalos születése A Python nyílt forráskódú projektként . A nyelv a brit vígjátéksorozatról kapta a nevét. Monty Python repülő cirkusza '.
A Python fejlesztése több szakaszon ment keresztül. 1994 januárjában a Python 1.0 használható és stabil programozási nyelvként jelent meg. Ez a verzió számos olyan funkciót tartalmazott, amelyek ma is jelen vannak a Pythonban.
Az 1990-es évektől a 2000-es évekig , A Python egyszerűsége, olvashatósága és sokoldalúsága miatt vált népszerűvé. 2000 októberében megjelent a Python 2.0 . A Python 2.0 bevezette a listák értelmezését, a szemétgyűjtést és a Unicode támogatását.
2008 decemberében megjelent a Python 3.0. A Python 3.0 számos visszamenőleg nem kompatibilis változtatást vezetett be a kód olvashatóságának és karbantarthatóságának javítása érdekében.
A 2010-es évek során a Python népszerűsége nőtt, különösen olyan területeken, mint a gépi tanulás és a webfejlesztés. A könyvtárak és keretrendszerek gazdag ökoszisztémája a fejlesztők kedvencévé tette.
A A Python Software Foundation (PSF) 2001-ben alakult a Python programozási nyelv és közösségének népszerűsítése, védelme és fejlesztése.
Miért érdemes Pythont tanulni?
A Python számos hasznos funkciót biztosít a programozó számára. Ezek a tulajdonságok teszik a legnépszerűbb és legszélesebb körben használt nyelvvé. Az alábbiakban felsoroltuk a Python néhány alapvető funkcióját.
- Objektum-orientált nyelv : Támogatja az objektum-orientált programozást, megkönnyítve az újrafelhasználható és moduláris kód írását.
Hol használják a Python-t?
A Python egy általános célú, népszerű programozási nyelv, és szinte minden műszaki területen használják. Az alábbiakban bemutatjuk a Python használatának különböző területeit.
- Mesterséges intelligencia : A mesterséges intelligencia egy feltörekvő technológia, a Python pedig tökéletes nyelv a mesterséges intelligenciához és a gépi tanuláshoz, mivel olyan hatékony könyvtárak állnak rendelkezésre, mint a TensorFlow, a Keras és a PyTorch.
- DevOps : A Pythont széles körben használják a DevOps-ban az infrastruktúra-kezelési, konfigurációkezelési és telepítési folyamatok automatizálására és parancsfájljaira.
- Kérések : HTTP kérések lebonyolítására szolgáló könyvtár
- SQLAlchemy : egy könyvtár az SQL adatbázisokkal való munkavégzéshez
- Kétségbeesett : keretrendszer többérintéses alkalmazások készítéséhez
- Pygame : játékfejlesztési könyvtár
- REST keretrendszer : eszközkészlet RESTful API-k építéséhez
- FastAPI : modern, gyors webes keretrendszer API-k építéséhez
- Áramlatos : egy könyvtár interaktív webalkalmazások készítéséhez gépi tanuláshoz és adattudományhoz
- NLTK : a természetes nyelv feldolgozására szolgáló könyvtár
A Python számos könyvtárral és keretrendszerrel rendelkezik, amelyeket széles körben használnak különféle területeken, mint például a gépi tanulás, a mesterséges intelligencia, a webalkalmazások stb. A Python néhány népszerű keretrendszerét és könyvtárát az alábbiak szerint határozzuk meg.
Python print() függvény
A Python print() függvény a kimenet megjelenítésére szolgál a konzolon vagy terminálon. Lehetővé teszi szövegek, változók és egyéb adatok ember által olvasható formátumban történő megjelenítését.
Szintaxis:
print(objektum(ok), szep=elválasztó, vége=vége, file=file, flush=flush)
Egy vagy több argumentumot vesz igénybe vesszővel (,) elválasztva, és alapértelmezés szerint hozzáad egy 'újsort' a végéhez.
Paraméterek:
- objektum(ok) - Annyi adatot, amennyit meg szeretne jeleníteni, először karakterláncokká konvertálják, és kinyomtatják a konzolra.
- szep - Elválasztja az objektumokat egy átadott elválasztóval, alapértelmezett érték = ' '.
- end – Újsor karakterrel fejezi be a sort
- fájl - egy fájlobjektum írási módszerrel, alapértelmezett érték = sys.stdout
Példa:
# Displaying a string print('Hello, World!') # Displaying multiple values name = 'Aman' age = 21 print('Name:', name, 'Age:', age) # Printing variables and literals x = 5 y = 7 print('x =', x, 'y =', y, 'Sum =', x + y) # Printing with formatting percentage = 85.75 print('Score: {:.2f}%'.format(percentage))
Kimenet:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
Ebben a példában a print utasítás karakterlánc, egész és lebegő értékek ember által olvasható formátumban történő nyomtatására szolgál.
A print utasítás használható hibakeresésre, naplózásra és a felhasználó tájékoztatására.
Python feltételes utasítások
A feltételes utasítások segítenek egy adott blokk végrehajtásában egy adott feltételhez. Ebben az oktatóanyagban megtanuljuk, hogyan lehet feltételes kifejezést használni egy másik utasításblokk végrehajtására. A Python if és else kulcsszavakat biztosít a logikai feltételek beállításához. A Elif kulcsszót feltételes utasításként is használják.
Példakód az if..else utasításhoz
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Kimenet:
x is greater than y
A fenti kódban két változónk van, az x és az y, 10-el, illetve 5-tel. Ezután egy if..else utasítással ellenőriztük, hogy x nagyobb-e, mint y, vagy fordítva. Ha az első feltétel igaz, akkor az „x nagyobb, mint y” állítás kerül kinyomtatásra. Ha az első feltétel hamis, akkor az „y nagyobb vagy egyenlő, mint x” állítás kerül kinyomtatásra.
Az if kulcsszó ellenőrzi, hogy a feltétel igaz-e, és végrehajtja a benne lévő kódblokkot. Az else blokkon belüli kód végrehajtásra kerül, ha a feltétel hamis. Így az if..else utasítás segít különböző kódblokkok végrehajtásában egy feltétel alapján.
Erről részletesebben a Python oktatóanyag további cikkében fogunk tudni.
Python hurkok
Néha meg kell változtatnunk a program menetét. Előfordulhat, hogy egy adott kód végrehajtását többször meg kell ismételni. Ebből a célból a programozási nyelvek különféle ciklusokat biztosítanak, amelyek képesek egy adott kód többszöri megismétlésére. Fontolja meg a következő oktatóanyagot az állítások részletes megértéséhez.
Python For Loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Kimenet:
apple banana cherry
Python While Loop
i = 1 while i<5: print(i, end=" " ) i +="1" < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 </pre> <p>In the above example code, we have demonstrated using two types of loops in Python - For loop and While loop.</p> <p>The For loop is used to iterate over a sequence of items, such as a list, tuple, or string. In the example, we defined a list of fruits and used a for loop to print each fruit, but it can also be used to print a range of numbers.</p> <p>The While loop repeats a code block if the specified condition is true. In the example, we have initialized a variable i to 1 and used a while loop to print the value of i until it becomes greater than or equal to 6. The i += 1 statement is used to increment the value of i in each iteration.</p> <p>We will learn about them in the tutorial in detail.</p> <h2>Python Data Structures</h2> <p> <strong>Python offers four built-in data structures:</strong> <strong>lists</strong> , <strong>tuples</strong> , <strong>sets</strong> , and <strong>dictionaries</strong> that allow us to store data in an efficient way. Below are the commonly used data structures in Python, along with example code:</p> <h3>1. Lists </h3> <ul> <li>Lists are <strong>ordered collections</strong> of data elements of different data types.</li> <li>Lists are <strong>mutable</strong> meaning a list can be modified anytime.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>They are defined using square bracket ' <strong>[]</strong> '.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a list fruits = ['apple', 'banana', 'cherry'] print('fuirts[1] =', fruits[1]) # Modify list fruits.append('orange') print('fruits =', fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print('sum_nums =', sum_nums) </pre> <p> <strong>Output:</strong> </p> <pre> fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15 </pre> <h3>2. Tuples </h3> <ul> <li>Tuples are also <strong>ordered collections</strong> of data elements of different data types, similar to Lists.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>Tuples are <strong>immutable</strong> meaning Tuples can't be modified once created.</li> <li>They are defined using open bracket ' <strong>()</strong> '.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a tuple point = (3, 4) x, y = point print('(x, y) =', x, y) # Create another tuple tuple_ = ('apple', 'banana', 'cherry', 'orange') print('Tuple =', tuple_) </pre> <p> <strong>Output:</strong> </p> <pre> (x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange') </pre> <h3>3. Sets </h3> <ul> <li>Sets are <strong>unordered</strong> collections of immutable data elements of different data types.</li> <li>Sets are <strong>mutable</strong> .</li> <li>Elements can't be accessed using indices.</li> <li>Sets <strong>do not contain duplicate elements</strong> .</li> <li>They are defined using curly braces ' <strong>{}</strong> '</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a set set1 = {1, 2, 2, 1, 3, 4} print('set1 =', set1) # Create another set set2 = {'apple', 'banana', 'cherry', 'apple', 'orange'} print('set2 =', set2) </pre> <p> <strong>Output:</strong> </p> <pre> set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'} </pre> <h3>4. Dictionaries </h3> <ul> <li>Dictionary are <strong>key-value pairs</strong> that allow you to associate values with unique keys.</li> <li>They are defined using curly braces ' <strong>{}</strong> ' with key-value pairs <strong>separated by colons ':'</strong> .</li> <li>Dictionaries are <strong>mutable</strong> .</li> <li>Elements can be accessed using keys.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person) </pre> <p> <strong>Output:</strong> </p> <pre> person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'} </pre> <p>These are just a few examples of Python's built-in data structures. Each data structure has its own characteristics and use cases.</p> <h2>Python Functional Programming</h2> <p>This section of the Python tutorial defines some important tools related to functional programming, such as lambda and recursive functions. These functions are very efficient in accomplishing complex tasks. We define a few important functions, such as reduce, map, and filter. Python provides the functools module that includes various functional programming tools. Visit the following tutorial to learn more about functional programming.</p> <p>Recent versions of Python have introduced features that make functional programming more concise and expressive. For example, the 'walrus operator':= allows for inline variable assignment in expressions, which can be useful when working with nested function calls or list comprehensions.</p> <h2>Python Function</h2> <ol class="points"> <li> <strong>Lambda Function</strong> - A lambda function is a small, <strong>anonymous function</strong> that can take any number of arguments but can only have one expression. Lambda functions are often used in functional programming to create functions 'on the fly' without defining a named function.</li> <li> <strong>Recursive Function</strong> - A recursive function is a function that calls itself to solve a problem. Recursive functions are often used in functional programming to perform complex computations or to traverse complex data structures.</li> <li> <a href="/python-map-function"> <strong>Map Function</strong> </a> - The map() function applies a given function to each item of an iterable and returns a new iterable with the results. The input iterable can be a list, tuple, or other.</li> <li> <a href="/python-filter-function"> <strong>Filter Function</strong> </a> - The filter() function returns an iterator from an iterable for which the function passed as the first argument returns True. It filters out the items from an iterable that do not meet the given condition.</li> <li> <a href="/reduce-python"> <strong>Reduce Function</strong> </a> - The reduce() function applies a function of two arguments cumulatively to the items of an iterable from left to right to reduce it to a single value.</li> <li> <strong>functools Module</strong> - The functools module in Python provides higher-order functions that operate on other functions, such as partial() and reduce().</li> <li> <strong>Currying Function</strong> - A currying function is a function that takes multiple arguments and returns a sequence of functions that each take a single argument.</li> <li> <strong>Memoization Function</strong> - Memoization is a technique used in functional programming to cache the results of expensive function calls and return the cached Result when the same inputs occur again.</li> <li> <strong>Threading Function</strong> - Threading is a technique used in functional programming to run multiple tasks simultaneously to make the code more efficient and faster.</li> </ol> <h2>Python Modules</h2> <p> Python modules are the program files that contain Python code or functions. Python has two types of modules - User-defined modules and built-in modules. A module the user defines, or our Python code saved with .py extension, is treated as a user-define module.</p> <p>Built-in modules are predefined modules of Python. To use the functionality of the modules, we need to import them into our current working program.</p> <p>Python modules are essential to the language's ecosystem since they offer reusable code and functionality that can be imported into any Python program. Here are a few examples of several Python modules, along with a brief description of each:</p> <p> <strong>Math</strong> : Gives users access to mathematical constants and pi and trigonometric functions.</p> <p> <strong>Datetime</strong> : Provides classes for a simpler way of manipulating dates, times, and periods.</p> <p> <a href="/python-os-module"> <strong>OS</strong> </a> : Enables interaction with the base operating system, including administration of processes and file system activities.</p> <p> <a href="/python-random-module"> <strong>Random</strong> </a> : The random function offers tools for generating random integers and picking random items from a list.</p> <p> <strong>JSON</strong> : JSON is a data structure that can be encoded and decoded and is frequently used in online APIs and data exchange. This module allows dealing with JSON. <br> <strong>Re</strong> : Supports regular expressions, a potent text-search and text-manipulation tool.</p> <p> <strong>Collections</strong> : Provides alternative data structures such as sorted dictionaries, default dictionaries, and named tuples.</p> <p> <strong>NumPy</strong> : NumPy is a core toolkit for scientific computing that supports numerical operations on arrays and matrices.</p> <p> <strong>Pandas</strong> : It provides high-level data structures and operations for dealing with time series and other structured data types.</p> <p> <strong>Requests</strong> : Offers a simple user interface for web APIs and performs HTTP requests.</p> <h2>Python File I/O</h2> <p>Files are used to store data in a computer disk. In this tutorial, we explain the built-in file object of Python. We can open a file using Python script and perform various operations such as writing, reading, and appending. There are various ways of opening a file. We are explained with the relevant example. We will also learn to perform read/write operations on binary files.</p> <p> <strong>Python's file input/output (I/O) system</strong> offers programs to communicate with files stored on a disc. Python's built-in methods for the file object let us carry out actions like reading, writing, and adding data to files.</p> <p>The <strong>open()</strong> method in Python makes a file object when working with files. The name of the file to be opened and the mode in which the file is to be opened are the two parameters required by this function. The mode can be used according to work that needs to be done with the file, such as ' <strong>r</strong> ' for reading, ' <strong>w</strong> ' for writing, or ' <strong>a</strong> ' for attaching.</p> <p>After successfully creating an object, different methods can be used according to our work. If we want to write in the file, we can use the write() functions, and if you want to read and write both, then we can use the append() function and, in cases where we only want to read the content of the file we can use read() function. Binary files containing data in a binary rather than a text format may also be worked with using Python. Binary files are written in a manner that humans cannot directly understand. The <strong>rb</strong> and <strong>wb</strong> modes can read and write binary data in binary files.</p> <h2>Python Exceptions</h2> <p>An exception can be defined as an unusual condition in a program resulting in an interruption in the flow of the program.</p> <p>Whenever an exception occurs, the program stops the execution, and thus the other code is not executed. Therefore, an exception is the run-time errors that are unable to handle to Python script. An exception is a Python object that represents an error.</p> <p> <strong>Python Exceptions</strong> are an important aspect of error handling in Python programming. When a program encounters an unexpected situation or error, it may raise an exception, which can interrupt the normal flow of the program.</p> <p>In Python, exceptions are represented as objects containing information about the error, including its type and message. The most common type of Exception in Python is the Exception class, a base class for all other built-in exceptions.</p> <p>To handle exceptions in Python, we use the <strong>try</strong> and <strong>except</strong> statements. The <strong>try</strong> statement is used to enclose the code that may raise an exception, while the <strong>except</strong> statement is used to define a block of code that should be executed when an exception occurs.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> try: x = int ( input ('Enter a number: ')) y = 10 / x print ('Result:', y) except ZeroDivisionError: print ('Error: Division by zero') except ValueError: print ('Error: Invalid input') </pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 0 Error: Division by zero </pre> <p>In this code, we use the try statement to attempt to perform a division operation. If either of these operations raises an exception, the matching except block is executed.</p> <p>Python also provides many built-in exceptions that can be raised in similar situations. Some common built-in exceptions include <strong>IndexError, TypeError</strong> , and <strong>NameError</strong> . Also, we can define our custom exceptions by creating a new class that inherits from the Exception class.</p> <h2>Python CSV</h2> <p>A CSV stands for 'comma separated values', which is defined as a simple file format that uses specific structuring to arrange tabular data. It stores tabular data such as spreadsheets or databases in plain text and has a common format for data interchange. A CSV file opens into the Excel sheet, and the rows and columns data define the standard format.</p> <p>We can use the CSV.reader function to read a CSV file. This function returns a reader object that we can use to repeat over the rows in the CSV file. Each row is returned as a list of values, where each value corresponds to a column in the CSV file.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row) </pre> <p>Here, we open the file data.csv in read mode and create a <strong>csv.reader</strong> object using the <strong>csv.reader()</strong> function. We then iterate over the rows in the CSV file using a for loop and print each row to the console.</p> <p>We can use the <strong>CSV.writer()</strong> function to write data to a CSV file. It returns a writer object we can use to write rows to the CSV file. We can write rows by calling the <strong>writer ()</strong> method on the writer object.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv data = [ ['Name', 'Age', 'Country'], ['Alice', '25', 'USA'], ['Bob', '30', 'Canada'], ['Charlie', '35', 'Australia'] ] with open('data.csv', 'w') as file: writer = csv.writer(file) for row in data: writer.writerow(row) </pre> <p>In this program, we create a list of lists called data, where each inner list represents a row of data. We then open the file data.csv in write mode and create a <strong>CSV.writer</strong> object using the CSV.writer function. We then iterate over the rows in data using a for loop and write each row to the CSV file using the writer method.</p> <h2>Python Sending Mail</h2> <p>We can send or read a mail using the Python script. Python's standard library modules are useful for handling various protocols such as PoP3 and IMAP . Python provides the <a href="/python-sending-email-using-smtp">smtplib</a> module for sending emails using SMTP (Simple Mail Transfer Protocol). We will learn how to send mail with the popular email service SMTP from a Python script.</p> <h3>Python Magic Methods</h3> <p>The Python magic method is the special method that adds 'magic' to a class. It starts and ends with double underscores, for example, <strong>_init_</strong> or <strong>_str_</strong> .</p> <p>The built-in classes define many magic methods. The <strong>dir()</strong> function can be used to see the number of magic methods inherited by a class. It has two prefixes and suffix underscores in the method name.</p> <ul> <li>Python magic methods are also known as <strong>dunder methods</strong> , short for ' double underscore ' methods because their names start and end with a double underscore.</li> <li> <strong>Magic methods</strong> are automatically invoked by the Python interpreter in certain situations, such as when an object is created, compared to another object, or printed.</li> <li>Magic methods can be used to customize the behavior of classes, such as defining how objects are compared, converted to strings, or accessed as containers.</li> <li>Some commonly used magic methods include <strong>init</strong> for initializing an object, str for converting an object to a string, <strong>eq</strong> for comparing two objects for equality, and <strong>getitem</strong> and <strong>setitem</strong> for accessing items in a container object.</li> </ul> <p>For example, the <strong>str</strong> magic method can define how an object should be represented as a string. Here's an example</p> <pre> class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f'{self.name} ({self.age})' person = Person('Vikas', 22) print(person) </pre> <p> <strong>Output:</strong> </p> <pre> Vikas (22) </pre> <p>In this example, the str method is defined to return a formatted string representation of the Person object with the person's name and age.</p> <p>Another commonly used magic method is <strong>eq</strong> , which defines how objects should be compared for equality. Here's an example:</p> <pre> class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) </pre> <p> <strong>Output:</strong> </p> <pre> False True </pre> <p>In this example, the <strong>eq</strong> method is defined to return True if two Point objects have the same x and y coordinates and False otherwise.</p> <h2>Python Oops Concepts</h2> <p>Everything in Python is treated as an object, including integer values, floats, functions, classes, and none. Apart from that, Python supports all oriented concepts. Below is a brief introduction to the Oops concepts of Python.</p> <ul> <li> <a href="/classes-objects-python"> <strong>Classes and Objects</strong> </a> - Python classes are the blueprints of the Object. An object is a collection of data and methods that act on the data.</li> <li> <a href="/python-inheritance"> <strong>Inheritance</strong> </a> - An inheritance is a technique where one class inherits the properties of other classes.</li> <li> <a href="/python-constructor"> <strong>Constructor</strong> </a> - Python provides a special method __init__() which is known as a constructor. This method is automatically called when an object is instantiated.</li> <tr><td>Data Member</td> - A variable that holds data associated with a class and its objects. <li> <strong>Polymorphism</strong> - Polymorphism is a concept where an object can take many forms. In Python, polymorphism can be achieved through method overloading and method overriding.</li> </tr><tr><td>Method Overloading</td> - In Python, method overloading is achieved through default arguments, where a method can be defined with multiple parameters. The default values are used if some parameters are not passed while calling the method. <li> <strong>Method Overriding</strong> - Method overriding is a concept where a subclass implements a method already defined in its superclass.</li> <li> <strong>Encapsulation</strong> - Encapsulation is wrapping data and methods into a single unit. In Python, encapsulation is achieved through access modifiers, such as public, private, and protected. However, Python does not strictly enforce access modifiers, and the naming convention indicates the access level.</li> <li> <strong>Data Abstraction</strong> : A technique to hide the complexity of data and show only essential features to the user. It provides an interface to interact with the data. Data abstraction reduces complexity and makes code more modular, allowing developers to focus on the program's essential features.</li> </tr></ul> <p>To read the Oops concept in detail, visit the following resources.</p> <ul> <li> Python Oops Concepts - In Python, the object-oriented paradigm is to design the program using classes and objects. The object is related to real-word entities such as book, house, pencil, etc. and the class defines its properties and behaviours.</li> <li> <a href="/classes-objects-python">Python Objects and classes</a> - In Python, objects are instances of classes and classes are blueprints that defines structure and behaviour of data.</li> <li> <a href="/python-constructor">Python Constructor</a> - A constructor is a special method in a class that is used to initialize the object's attributes when the object is created.</li> <li> <a href="/python-inheritance">Python Inheritance</a> - Inheritance is a mechanism in which new class (subclass or child class) inherits the properties and behaviours of an existing class (super class or parent class).</li> <li> Python Polymorphism - Polymorphism allows objects of different classes to be treated as objects of a common superclass, enabling different classes to be used interchangeably through a common interface.</li> </ul> <h2>Python Advance Topics</h2> <p>Python includes many advances and useful concepts that help the programmer solve complex tasks. These concepts are given below.</p> <h3> Python Iterator </h3> <p>An iterator is simply an object that can be iterated upon. It returns one Object at a time. It can be implemented using the two special methods, <strong>__iter__()</strong> and __next__().</p> <p>Iterators in Python are objects that allow iteration over a collection of data. They process each collection element individually without loading the entire collection into memory.</p> <p>For example, let's create an iterator that returns the squares of numbers up to a given limit:</p> <pre> def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p> <strong>Python generators</strong> produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function's execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don't have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p> <strong>Python Decorators</strong> are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here's an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f'{func.__name__} took {end-start:.5f} seconds to run.') return result return wrapper @time_it def my_function(n): time.sleep(2) print(f'Factorial of {n} = {factorial(n)}') my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li> <strong>Environment Setup</strong> : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li> <strong>Database Connection</strong> : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li> <strong>Creating New Database</strong> : Creating a new database in MySQL using Python.</li> <li> <strong>Creating Tables</strong> : Creating tables in the MySQL database with Python using SQL commands.</li> <li> <strong>Insert Operation</strong> : Insert data into MySQL tables using Python and SQL commands.</li> <li> <strong>Read Operation</strong> : Reading data from MySQL tables using Python and SQL commands.</li> <li> <strong>Update Operation</strong> : Updating data in MySQL tables using Python and SQL commands.</li> <li> <strong>Join Operation</strong> : Joining two or more tables in MySQL using Python and SQL commands.</li> <li> <strong>Performing Transactions</strong> : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li> <strong>Environment Setup</strong> : Install and configure MongoDB and PyMongo library on your system.</li> <li> <strong>Database Connection</strong> : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li> <strong>Creating a new database</strong> : Use the MongoClient Object to create a new database.</li> <li> <strong>Creating collections</strong> : Create collections within a database to store documents.</li> <li> <strong>Inserting documents</strong> : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li> <strong>Querying documents</strong> : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li> <strong>Updating documents</strong> : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li> <strong>Deleting documents</strong> : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li> <strong>Aggregation</strong> : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p> <strong>Python CGI</strong> is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term ' <strong>concurrency</strong> ' describes a program's capacity to carry out several tasks at once, enhancing the program's efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python's asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python's threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python's requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website's server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called 'natural language processing' (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we've looked at some of Python's most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=></pre></5:>
A fenti példakódban bemutattuk, hogy Pythonban kétféle hurkot használunk: For loop és While ciklus.
A For ciklus elemsorozatok, például listák, sorok vagy karakterláncok ismétlésére szolgál. A példában definiáltunk egy gyümölcslistát, és egy for ciklust használtunk az egyes gyümölcsök kinyomtatására, de használható számtartományok nyomtatására is.
A While ciklus megismétli a kódblokkot, ha a megadott feltétel igaz. A példában egy i változót 1-re inicializáltunk, és egy while ciklust használtunk az i érték kinyomtatására, amíg az nagyobb vagy egyenlő nem lesz 6-nál. Az i += 1 utasítást az i értékének növelésére használjuk minden iterációban. .
Az oktatóanyagban részletesen megismerjük őket.
Python adatstruktúrák
A Python négy beépített adatstruktúrát kínál: listákon , sorok , készletek , és szótárak amelyek lehetővé teszik az adatok hatékony tárolását. Alább láthatók a Pythonban gyakran használt adatstruktúrák, valamint példakód:
1. Listák
- A listák azok megrendelt gyűjtemények különböző adattípusok adatelemei.
- A listák azok változékony Ez azt jelenti, hogy a lista bármikor módosítható.
- Az elemek lehetnek indexek segítségével érhető el .
- szögletes zárójellel vannak meghatározva [] '.
Példa:
# Create a list fruits = ['apple', 'banana', 'cherry'] print('fuirts[1] =', fruits[1]) # Modify list fruits.append('orange') print('fruits =', fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print('sum_nums =', sum_nums)
Kimenet:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Tuples
- Tuples is megrendelt gyűjtemények különböző adattípusú adatelemek, hasonlóan a Listákhoz.
- Az elemek lehetnek indexek segítségével érhető el .
- Tuples azok változhatatlan Ez azt jelenti, hogy a Tuple-eket nem lehet módosítani a létrehozás után.
- Nyitott zárójelben vannak megadva () '.
Példa:
# Create a tuple point = (3, 4) x, y = point print('(x, y) =', x, y) # Create another tuple tuple_ = ('apple', 'banana', 'cherry', 'orange') print('Tuple =', tuple_)
Kimenet:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Készletek
- A készletek rendezetlen különböző adattípusok megváltoztathatatlan adatelemeinek gyűjteményei.
- A készletek változékony .
- Az elemek nem érhetők el indexekkel.
- Készletek nem tartalmaznak ismétlődő elemeket .
- Meghatározásuk göndör kapcsos zárójelekkel történik. {} '
Példa:
# Create a set set1 = {1, 2, 2, 1, 3, 4} print('set1 =', set1) # Create another set set2 = {'apple', 'banana', 'cherry', 'apple', 'orange'} print('set2 =', set2)
Kimenet:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Szótárak
- Szótár vannak kulcs-érték párok amelyek lehetővé teszik az értékek egyedi kulcsokhoz való társítását.
- Meghatározásuk göndör kapcsos zárójelekkel történik. {} ' kulcs-érték párokkal kettősponttal elválasztva ':' .
- A szótárak azok változékony .
- Az elemek kulcsokkal érhetők el.
Példa:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Kimenet:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Ez csak néhány példa a Python beépített adatstruktúráira. Minden adatszerkezetnek megvannak a maga sajátosságai és használati esetei.
Python funkcionális programozás
A Python oktatóanyag ezen része a funkcionális programozáshoz kapcsolódó fontos eszközöket határoz meg, például a lambda és a rekurzív függvényeket. Ezek a funkciók nagyon hatékonyak összetett feladatok elvégzésében. Meghatározunk néhány fontos funkciót, mint például a kicsinyítés, a térképezés és a szűrés. A Python biztosítja a functools modult, amely különféle funkcionális programozási eszközöket tartalmaz. Látogassa meg az alábbi oktatóanyagot, ha többet szeretne megtudni a funkcionális programozásról.
A Python legújabb verziói olyan funkciókat vezettek be, amelyek tömörebbé és kifejezőbbé teszik a funkcionális programozást. Például a 'walrus operator':= lehetővé teszi a változók soron belüli hozzárendelését a kifejezésekben, ami hasznos lehet, ha beágyazott függvényhívásokkal vagy listaértelmezésekkel dolgozik.
Python függvény
- Lambda funkció - A lambda funkció kicsi, névtelen funkció amely tetszőleges számú argumentumot vehet fel, de csak egy kifejezése lehet. A lambda-függvényeket gyakran használják a funkcionális programozásban, hogy „menet közben” hozzanak létre függvényeket, anélkül, hogy megnevezett függvényt definiálnának.
- Rekurzív függvény - A rekurzív függvény olyan függvény, amely meghívja magát egy probléma megoldására. A rekurzív függvényeket gyakran használják a funkcionális programozásban összetett számítások végrehajtására vagy összetett adatszerkezetek bejárására.
- Térkép funkció - A map() függvény egy adott függvényt alkalmaz egy iteráció minden elemére, és az eredményekkel egy új iterálhatót ad vissza. A bemeneti iterálhatóság lehet lista, sor vagy egyéb.
- Szűrő funkció - A filter() függvény egy iterátort ad vissza egy iterálhatóból, amelynél az első argumentumként átadott függvény True értéket ad vissza. Kiszűri azokat az iterable elemeket, amelyek nem felelnek meg az adott feltételnek.
- Funkció csökkentése - A redukció() függvény két argumentumból álló függvényt kumulatívan alkalmaz egy iterálható elemeire balról jobbra, hogy egyetlen értékre redukálja azt.
- Functools modul - A Python functools modulja magasabb rendű függvényeket biztosít, amelyek más függvényeken működnek, mint például a partial() és a reduction().
- Curry funkció - A currying függvény olyan függvény, amely több argumentumot vesz fel, és függvénysorozatot ad vissza, amelyek mindegyike egyetlen argumentumot vesz fel.
- Memoization funkció - A memoization egy olyan technika, amelyet a funkcionális programozásban használnak a drága függvényhívások eredményeinek gyorsítótárazására, és a gyorsítótárazott eredmény visszaadására, amikor ugyanaz a bemenet ismét előfordul.
- Menetelési funkció - A Threading egy olyan technika, amelyet a funkcionális programozásban használnak több feladat egyidejű futtatására a kód hatékonyabbá és gyorsabbá tétele érdekében.
Python modulok
A Python modulok olyan programfájlok, amelyek Python kódot vagy függvényeket tartalmaznak. A Pythonnak kétféle modulja van – a felhasználó által definiált modulok és a beépített modulok. A felhasználó által meghatározott modult vagy a .py kiterjesztéssel mentett Python-kódunkat a rendszer felhasználó által meghatározott modulként kezeli.
A beépített modulok a Python előre meghatározott moduljai. A modulok funkcióinak használatához importálnunk kell őket a jelenlegi munkaprogramunkba.
A Python modulok nélkülözhetetlenek a nyelv ökoszisztémája szempontjából, mivel újrafelhasználható kódot és funkcionalitást kínálnak, amelyek bármely Python-programba importálhatók. Íme néhány példa több Python modulra, valamint mindegyik rövid leírása:
Math : Hozzáférést biztosít a felhasználóknak a matematikai állandókhoz, valamint a pi és trigonometrikus függvényekhez.
Dátum idő : Osztályokat biztosít a dátumok, időpontok és időszakok egyszerűbb kezeléséhez.
TE : Lehetővé teszi az interakciót az alap operációs rendszerrel, beleértve a folyamatok és fájlrendszeri tevékenységek adminisztrációját.
véletlen : A véletlenszerű függvény eszközöket kínál véletlenszerű egész számok generálásához és véletlenszerű elemek kiválasztásához egy listából.
JSON : A JSON egy kódolható és dekódolható adatstruktúra, amelyet gyakran használnak online API-kban és adatcserében. Ez a modul lehetővé teszi a JSON kezelését.
Újra : Támogatja a reguláris kifejezéseket, egy hatékony szövegkereső és szövegmanipuláló eszköz.
Gyűjtemények : Alternatív adatstruktúrákat biztosít, például rendezett szótárakat, alapértelmezett szótárakat és elnevezett sorokat.
NumPy : A NumPy egy alapvető eszközkészlet a tudományos számításokhoz, amely támogatja a numerikus műveleteket tömbökön és mátrixokon.
Pandák : Magas szintű adatstruktúrákat és műveleteket biztosít az idősorok és más strukturált adattípusok kezelésére.
Kérések : Egyszerű felhasználói felületet kínál a webes API-khoz, és HTTP-kéréseket hajt végre.
Python fájl I/O
A fájlok az adatok számítógépes lemezen való tárolására szolgálnak. Ebben az oktatóanyagban elmagyarázzuk a Python beépített fájlobjektumát. Megnyithatunk egy fájlt Python szkript segítségével, és különféle műveleteket hajthatunk végre, például írást, olvasást és hozzáfűzést. A fájl megnyitásának többféle módja van. A vonatkozó példával magyarázzuk el. Megtanuljuk bináris fájlok írási/olvasási műveleteit is.
A Python fájl bemeneti/kimeneti (I/O) rendszere programokat kínál a lemezen tárolt fájlokkal való kommunikációhoz. A Python beépített metódusai a fájlobjektumhoz lehetővé teszik számunkra, hogy olyan műveleteket hajtsunk végre, mint például az olvasás, írás és adatok hozzáadása a fájlokhoz.
hogyan lehet felfedni a rejtett alkalmazásokat
A nyisd ki() metódus a Pythonban fájlobjektumot hoz létre, amikor fájlokkal dolgozik. A funkció által megkövetelt két paraméter a megnyitandó fájl neve és a fájl megnyitásának módja. A mód a fájllal elvégzendő munkáknak megfelelően használható, mint pl. r 'olvasásért' Ban ben 'írásra, vagy' a ' a rögzítéshez.
Egy objektum sikeres létrehozása után munkánknak megfelelően különböző módszerek alkalmazhatók. Ha a fájlba akarunk írni, használhatjuk a write() függvényeket, ha pedig mindkettőt írni és olvasni, akkor használhatjuk az append() függvényt és olyan esetekben, amikor csak a fájl tartalmát akarjuk elolvasni. a fájlt használhatjuk read() függvényben. Az adatokat bináris, nem pedig szöveges formátumban tartalmazó bináris fájlokkal a Python használatával is lehet dolgozni. A bináris fájlok olyan módon vannak megírva, hogy az emberek közvetlenül nem érthetik meg. A rb és wb módok képesek bináris adatok olvasására és írására bináris fájlokban.
Python kivételek
Kivételt úgy határozhatunk meg, mint egy programban előforduló szokatlan állapotot, amely a program folyamának megszakítását eredményezi.
Ha kivétel történik, a program leállítja a végrehajtást, így a másik kód nem kerül végrehajtásra. Ezért kivételt képeznek azok a futásidejű hibák, amelyeket a Python-szkript nem képes kezelni. Kivétel egy Python-objektum, amely hibát jelez.
Python kivételek a Python programozás hibakezelésének fontos szempontja. Ha egy program váratlan helyzetbe vagy hibába ütközik, kivételt jelenthet, ami megszakíthatja a program normál működését.
A Pythonban a kivételek olyan objektumokként jelennek meg, amelyek információt tartalmaznak a hibáról, beleértve annak típusát és üzenetét. A Pythonban a kivételek leggyakoribb típusa az Exception osztály, amely az összes többi beépített kivétel alaposztálya.
A Python kivételeinek kezelésére a próbáld ki és kivéve nyilatkozatok. A próbáld ki utasítást a kód bezárására használják, amely kivételt jelenthet, míg a kivéve Az utasítás egy kódblokk meghatározására szolgál, amelyet kivétel esetén végre kell hajtani.
Vegyük például a következő kódot:
try: x = int ( input ('Enter a number: ')) y = 10 / x print ('Result:', y) except ZeroDivisionError: print ('Error: Division by zero') except ValueError: print ('Error: Invalid input')
Kimenet:
Enter a number: 0 Error: Division by zero
Ebben a kódban a try utasítást használjuk az osztási művelet végrehajtására. Ha ezen műveletek bármelyike kivételt ad, akkor az illesztési kivétel blokk végrehajtásra kerül.
A Python számos beépített kivételt is biztosít, amelyek hasonló helyzetekben felvehetők. Néhány gyakori beépített kivétel közé tartozik IndexError, TypeError , és NameError . Egyéni kivételeinket úgy is meghatározhatjuk, hogy létrehozunk egy új osztályt, amely örökli a Kivétel osztályt.
Python CSV
A CSV a „vesszővel elválasztott értékek” rövidítése, amely egy egyszerű fájlformátum, amely speciális strukturálást használ a táblázatos adatok elrendezésére. A táblázatos adatokat, például táblázatokat vagy adatbázisokat egyszerű szövegben tárolja, és közös formátummal rendelkezik az adatcseréhez. Egy CSV-fájl megnyílik az Excel munkalapon, és a sorok és oszlopok adatai határozzák meg a szabványos formátumot.
A CSV.reader függvényt használhatjuk CSV-fájl olvasásához. Ez a függvény egy olvasó objektumot ad vissza, amellyel megismételhetjük a CSV-fájl sorait. Minden sor értéklistaként jelenik meg, ahol minden érték a CSV-fájl egy oszlopának felel meg.
Vegyük például a következő kódot:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Itt megnyitjuk a data.csv fájlt olvasási módban, és létrehozzuk a csv.reader objektum segítségével csv.reader() funkció. Ezután a CSV-fájl sorai között ismételjük a for ciklust, és minden sort kinyomtatunk a konzolra.
Használhatjuk a CSV.writer() függvény adatok CSV-fájlba írásához. Egy író objektumot ad vissza, amellyel sorokat írhatunk a CSV-fájlba. Sorokat írhatunk úgy, hogy hívjuk a író () metódus az író objektumon.
Vegyük például a következő kódot:
import csv data = [ ['Name', 'Age', 'Country'], ['Alice', '25', 'USA'], ['Bob', '30', 'Canada'], ['Charlie', '35', 'Australia'] ] with open('data.csv', 'w') as file: writer = csv.writer(file) for row in data: writer.writerow(row)
Ebben a programban létrehozunk egy adat nevű listát, ahol minden belső lista egy adatsort jelent. Ezután megnyitjuk a data.csv fájlt írási módban, és létrehozzuk a CSV.író objektum a CSV.writer függvény használatával. Ezt követően a for ciklus segítségével ismételjük át az adatok sorait, és az író módszerrel minden sort a CSV-fájlba írunk.
Python levelek küldése
A Python szkript segítségével tudunk levelet küldeni vagy olvasni. A Python szabványos könyvtári moduljai hasznosak különféle protokollok, például a PoP3 és az IMAP kezelésére. A Python biztosítja a smtplib modul az e-mailek SMTP (Simple Mail Transfer Protocol) használatával történő küldéséhez. Megtanuljuk, hogyan küldhetünk leveleket a népszerű SMTP e-mail szolgáltatással Python-szkriptből.
Python varázslatos módszerek
A Python mágikus módszer az a speciális módszer, amely „varázslatot” ad egy osztályhoz. Dupla aláhúzással kezdődik és végződik, például _forró_ vagy _str_ .
A beépített osztályok sok mágikus módszert határoznak meg. A te() A függvény segítségével megtekintheti az osztály által örökölt mágikus metódusok számát. A metódus nevében két előtag és utótag aláhúzás található.
- A Python mágikus módszereket más néven dunder módszerek , a 'dupla aláhúzás' metódusok rövidítése, mert nevük dupla aláhúzással kezdődik és végződik.
- Mágikus módszerek A Python értelmező automatikusan meghívja azokat bizonyos helyzetekben, például amikor egy objektumot létrehoznak, összehasonlítanak egy másik objektummal vagy nyomtatnak.
- A mágikus metódusok segítségével testreszabható az osztályok viselkedése, például meghatározható, hogyan kell az objektumokat összehasonlítani, karakterláncokká alakítani vagy konténerként elérni.
- Néhány általánosan használt varázslatos módszer közé tartozik hőség objektum inicializálásához, str az objektum karakterláncsá alakításához, ekv két objektum összehasonlításához az egyenlőséghez, és címmel és setitem konténerobjektum elemeinek eléréséhez.
Például a str A magic metódus meg tudja határozni, hogyan kell egy objektumot karakterláncként ábrázolni. Íme egy példa
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f'{self.name} ({self.age})' person = Person('Vikas', 22) print(person)
Kimenet:
Vikas (22)
Ebben a példában az str metódus úgy van definiálva, hogy visszaadja a Person objektum formázott karakterlánc-ábrázolását a személy nevével és életkorával.
Egy másik gyakran használt varázslatos módszer az ekv , amely meghatározza, hogy az objektumokat hogyan kell összehasonlítani az egyenlőség érdekében. Íme egy példa:
class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3)
Kimenet:
False True
Ebben a példában a ekv A metódus igaz értéket ad vissza, ha két Pont objektumnak ugyanaz az x és y koordinátája, egyébként pedig False.
Python Hoppá fogalmak
A Pythonban mindent objektumként kezel a rendszer, beleértve az egész értékeket, a lebegőpontokat, a függvényeket, az osztályokat és az egyiket sem. Ettől eltekintve a Python minden orientált koncepciót támogat. Az alábbiakban röviden bemutatjuk a Python Oops-fogalmait.
- Osztályok és tárgyak - A Python osztályok az objektum tervrajzai. Az objektum adatok és módszerek gyűjteménye, amelyek az adatokra hatnak.
- Öröklés - Az öröklődés olyan technika, ahol az egyik osztály más osztályok tulajdonságait örökli.
- Konstruktőr - A Python egy speciális __init__() metódust biztosít, amely konstruktorként ismert. Ez a metódus automatikusan meghívásra kerül, amikor egy objektumot példányosítanak.
- Polimorfizmus - A polimorfizmus egy olyan fogalom, ahol egy tárgy többféle formát ölthet. A Pythonban a polimorfizmus a metódusok túlterhelésével és a módszer felülbírálásával érhető el.
- Módszer felülbírálása - Method overriding egy olyan fogalom, ahol egy alosztály a szuperosztályában már definiált metódust valósít meg.
- Egységbezárás - A beágyazás egyetlen egységbe csomagolja az adatokat és a módszereket. A Pythonban a beágyazás hozzáférés-módosítókkal érhető el, például nyilvános, privát és védett. A Python azonban nem kényszeríti ki szigorúan a hozzáférés-módosítókat, és az elnevezési konvenció jelzi a hozzáférési szintet.
- Adatabsztrakció : Olyan technika, amely elrejti az adatok összetettségét, és csak a lényeges funkciókat jeleníti meg a felhasználó számára. Interfészt biztosít az adatokkal való interakcióhoz. Az adatok absztrakciója csökkenti a bonyolultságot és modulárisabbá teszi a kódot, lehetővé téve a fejlesztők számára, hogy a program alapvető funkcióira összpontosítsanak.
Az Oops koncepció részletes elolvasásához keresse fel a következő forrásokat.
- Python Hoppá fogalmak – A Pythonban az objektumorientált paradigma a program osztályok és objektumok felhasználásával történő tervezése. Az objektum valódi szó entitásokhoz kapcsolódik, mint például könyv, ház, ceruza stb., és az osztály határozza meg tulajdonságait és viselkedését.
- Python objektumok és osztályok - A Pythonban az objektumok osztályok példányai, az osztályok pedig tervrajzok, amelyek meghatározzák az adatok szerkezetét és viselkedését.
- Python konstruktor - A konstruktor egy speciális metódus egy osztályban, amely az objektum attribútumainak inicializálására szolgál az objektum létrehozásakor.
- Python öröklődés - Az öröklődés egy olyan mechanizmus, amelyben az új osztály (alosztály vagy gyermekosztály) egy meglévő osztály (szuperosztály vagy szülőosztály) tulajdonságait és viselkedését örökli.
- Python polimorfizmus – A polimorfizmus lehetővé teszi, hogy a különböző osztályokhoz tartozó objektumokat egy közös szuperosztály objektumaiként kezeljék, lehetővé téve a különböző osztályok felcserélhető használatát egy közös interfészen keresztül.
Python Advance témák
A Python számos fejlesztést és hasznos fogalmat tartalmaz, amelyek segítenek a programozónak összetett feladatok megoldásában. Ezeket a fogalmakat az alábbiakban ismertetjük.
Python Iterator
Az iterátor egyszerűen egy objektum, amelyen ismételni lehet. Egyszerre egy objektumot ad vissza. Két speciális módszerrel valósítható meg, __iter__() és __next__().
A Python iterátorai olyan objektumok, amelyek lehetővé teszik az iterációt egy adatgyűjteményen keresztül. Minden egyes gyűjteményelemet külön-külön dolgoznak fel anélkül, hogy a teljes gyűjteményt a memóriába töltenék.
Például hozzunk létre egy iterátort, amely a számok négyzeteit adja vissza egy adott határig:
def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p> <strong>Python generators</strong> produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function's execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don't have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p> <strong>Python Decorators</strong> are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here's an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f'{func.__name__} took {end-start:.5f} seconds to run.') return result return wrapper @time_it def my_function(n): time.sleep(2) print(f'Factorial of {n} = {factorial(n)}') my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li> <strong>Environment Setup</strong> : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li> <strong>Database Connection</strong> : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li> <strong>Creating New Database</strong> : Creating a new database in MySQL using Python.</li> <li> <strong>Creating Tables</strong> : Creating tables in the MySQL database with Python using SQL commands.</li> <li> <strong>Insert Operation</strong> : Insert data into MySQL tables using Python and SQL commands.</li> <li> <strong>Read Operation</strong> : Reading data from MySQL tables using Python and SQL commands.</li> <li> <strong>Update Operation</strong> : Updating data in MySQL tables using Python and SQL commands.</li> <li> <strong>Join Operation</strong> : Joining two or more tables in MySQL using Python and SQL commands.</li> <li> <strong>Performing Transactions</strong> : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li> <strong>Environment Setup</strong> : Install and configure MongoDB and PyMongo library on your system.</li> <li> <strong>Database Connection</strong> : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li> <strong>Creating a new database</strong> : Use the MongoClient Object to create a new database.</li> <li> <strong>Creating collections</strong> : Create collections within a database to store documents.</li> <li> <strong>Inserting documents</strong> : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li> <strong>Querying documents</strong> : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li> <strong>Updating documents</strong> : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li> <strong>Deleting documents</strong> : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li> <strong>Aggregation</strong> : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p> <strong>Python CGI</strong> is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term ' <strong>concurrency</strong> ' describes a program's capacity to carry out several tasks at once, enhancing the program's efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python's asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python's threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python's requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website's server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called 'natural language processing' (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we've looked at some of Python's most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=>
Ebben a példában létrehoztunk egy Squares osztályt, amely iterátorként működik az __iter__() és __next__() metódusok megvalósításával. Az __iter__() metódus magát az objektumot adja vissza, a __next__() metódus pedig a szám következő négyzetét adja vissza, amíg el nem éri a határt.
Ha többet szeretne megtudni az iterátorokról, keresse fel Python Iterators oktatóanyagunkat.
Python generátorok
Python generátorok értéksort állítson elő hozamkimutatás segítségével visszatérés helyett, mivel ezek olyan függvények, amelyek iterátorokat adnak vissza. A generátorok leállítják a funkció végrehajtását, miközben megtartják a helyi állapotot. Újraindításkor ott folytatja, ahol abbahagyta. Mivel ennek a funkciónak köszönhetően nem kell megvalósítanunk az iterátor protokollt, az iterátorok írása egyszerűbbé válik. Íme egy egyszerű generátorfüggvény illusztrációja, amely számnégyzeteket állít elő:
# Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num)
Kimenet:
0 1 4 9 16
Python módosítók
Python dekorátorok olyan függvények, amelyek egy másik függvény viselkedésének módosítására szolgálnak. Lehetővé teszik funkcionalitás hozzáadását egy meglévő funkcióhoz anélkül, hogy közvetlenül módosítanák a kódját. A dekorátorok meghatározása a @ szimbólum, amelyet a díszítő funkció neve követ. Használhatók naplózásra, időzítésre, gyorsítótárazásra stb.
Íme egy példa egy dekorációs funkcióra, amely időzítési funkciót ad egy másik funkcióhoz:
import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f'{func.__name__} took {end-start:.5f} seconds to run.') return result return wrapper @time_it def my_function(n): time.sleep(2) print(f'Factorial of {n} = {factorial(n)}') my_function(25)
Kimenet:
A fenti példában a time_it dekorátor függvény egy másik függvényt vesz fel argumentumként, és egy wrapper függvényt ad vissza. A wrapper függvény kiszámítja az eredeti függvény végrehajtásának idejét, és kinyomtatja a konzolra. A @time_it dekorátor a time_it függvényt a my_function függvényre alkalmazza. A my_function meghívásakor a dekorátor végrehajtásra kerül, és hozzáadódik az időzítési funkció.
Python MySQL
A Python MySQL egy hatékony relációs adatbázis-kezelő rendszer. Be kell állítanunk a környezetet, és létre kell hoznunk a kapcsolatot a MySQL és a Python használatához. A Python SQL parancsaival új adatbázist és táblákat hozhatunk létre.
- Környezet beállítása : A MySQL Connector/Python telepítése és konfigurálása a Python használatához a MySQL-lel.
- Adatbázis kapcsolat : Kapcsolat létrehozása a Python és a MySQL adatbázis között a MySQL Connector/Python segítségével.
- Új adatbázis létrehozása : Új adatbázis létrehozása MySQL-ben Python használatával.
- Táblázatok létrehozása : Táblázatok létrehozása a MySQL adatbázisban Python segítségével SQL parancsokkal.
- Beszúrás művelet : Adatok beszúrása MySQL táblákba Python és SQL parancsokkal.
- Olvassa el a Műveletet : Adatok olvasása MySQL táblákból Python és SQL parancsokkal.
- Frissítési művelet : Adatok frissítése a MySQL táblákban Python és SQL parancsokkal.
- Csatlakozzon a művelethez : Két vagy több tábla összekapcsolása a MySQL-ben Python és SQL parancsok használatával.
- Tranzakciók végrehajtása : SQL-lekérdezések egy csoportjának végrehajtása egyetlen munkaegységként a MySQL-ben Python használatával.
További relatív pontok közé tartozik a hibák kezelése, az indexek létrehozása, valamint a MySQL-ben tárolt eljárások és függvények használata Pythonnal.
Python MongoDB
A Python MongoDB egy népszerű NoSQL adatbázis, amely JSON-szerű dokumentumokban tárolja az adatokat. Sémátlan, nagy méretezhetőséget és rugalmasságot biztosít az adattároláshoz. A MongoDB-t a Pythonnal használhatjuk a PyMongo könyvtár segítségével, amely egyszerű és intuitív felületet biztosít a MongoDB-vel való interakcióhoz.
Íme néhány gyakori feladat, amikor Pythonban MongoDB-vel dolgozik:
- Környezet beállítása : Telepítse és konfigurálja a MongoDB és PyMongo könyvtárat a rendszeren.
- Adatbázis kapcsolat : Csatlakozzon egy MongoDB-kiszolgálóhoz a PyMongo MongoClient osztályával.
- Új adatbázis létrehozása : Használja a MongoClient objektumot új adatbázis létrehozásához.
- Gyűjtemények készítése : Gyűjtemények létrehozása az adatbázison belül a dokumentumok tárolására.
- Dokumentumok beillesztése : Új dokumentumok beszúrása egy gyűjteménybe az insert_one() vagy insert_many() metódusokkal.
- Dokumentumok lekérdezése : Dokumentumok lekérése egy gyűjteményből különféle lekérdezési módszerekkel, például a find_one(), find() stb.
- Dokumentumok frissítése : A gyűjteményben meglévő dokumentumok módosítása az update_one() vagy update_many() metódusokkal.
- Dokumentumok törlése : Dokumentumok eltávolítása egy gyűjteményből a delete_one() vagy delete_many() metódusokkal.
- Összevonás : Végezzen összesítési műveleteket, például csoportosítást, számlálást stb., az összesítési folyamat keretrendszerének használatával.
A MongoDB-ben sok fejlettebb téma található, például adatfelosztás, replikáció és egyebek, de ezek a feladatok lefedik a MongoDB-vel való munkavégzés alapjait a Pythonban.
Python SQLite
A relációs adatbázisokat a Python SQLite, egy kompakt, kiszolgáló nélküli, önálló adatbázismotor segítségével építik és karbantartják. Mobilitása és egyszerűsége miatt népszerű választás helyi vagy kisméretű alkalmazásokhoz. A Python rendelkezik egy beépített SQLite-adatbázisokhoz való kapcsolódási modullal, SQLite3 néven, amely lehetővé teszi a fejlesztők számára, hogy nehézségek nélkül dolgozzanak az SQLite adatbázisokkal.
Az SQLite3 könyvtáron keresztül különféle API-módszerek érhetők el, amelyek SQL-lekérdezések futtatására, adatok beszúrására, kiválasztására, frissítésére és eltávolítására, valamint táblákból való adatok lekérésére használhatók. Ezenkívül lehetővé teszi a tranzakciókat, lehetővé téve a programozóknak, hogy probléma esetén visszavonják a változtatásokat. A Python SQLite fantasztikus lehetőség olyan programok létrehozására, amelyek beágyazott adatbázis-rendszert igényelnek, beleértve az asztali, mobil és szerény méretű webes programokat. Az SQLite a könnyű használatnak, a hordozhatóságnak és a Pythonnal való zökkenőmentes kapcsolatának köszönhetően népszerűvé vált a fejlesztők körében az adatbázis-funkcionalitással rendelkező könnyű alkalmazások fejlesztői körében.
Python CGI
Python CGI a szkriptek webszervereken keresztüli futtatására szolgáló technológia dinamikus online tartalom előállításához. Kommunikációs csatornát és dinamikus tartalomgeneráló felületet kínál a külső CGI-szkriptek és a webszerver számára. A Python CGI szkriptek HTML weboldalakat hozhatnak létre, kezelhetik az űrlapbevitelt és kommunikálhatnak adatbázisokkal. A Python CGI lehetővé teszi a szerver számára, hogy Python-szkripteket hajtson végre, és az eredményeket a kliensnek továbbítsa, gyors és hatékony megközelítést kínálva dinamikus online alkalmazások létrehozásához.
A Python CGI-szkriptek sok mindenre használhatók, beleértve a dinamikus weboldalak létrehozását, az űrlapok feldolgozását és az adatbázisokkal való interakciót. Mivel a Python, egy erős és népszerű programozási nyelv használható szkriptek létrehozására, testreszabottabb és rugalmasabb megközelítést tesz lehetővé a webkészítésben. A Python CGI segítségével méretezhető, biztonságos és karbantartható online alkalmazások hozhatók létre. A Python CGI egy praktikus eszköz a dinamikus és interaktív online alkalmazásokat készítő webfejlesztők számára.
Aszinkron programozás Pythonban
Aszinkron programozás a számítógépes programozás paradigmája, amely lehetővé teszi a tevékenységek független és párhuzamos működését. Gyakran használják olyan alkalmazásokban, mint a webszerverek, adatbázis-szoftverek és hálózati programozás, ahol több feladatot vagy kérést kell egyszerre kezelni.
A Python aszinkron programozáshoz az asyncio, a Twisted és a Tornado könyvtárai és keretrendszerei között található. Az Asyncio, ezek egyike, egyszerű felületet kínál az aszinkron programozáshoz, és a Python hivatalos aszinkron programozási könyvtára.
A korutinok olyan funkciók, amelyek a kód meghatározott helyein leállíthatók és újraindíthatók, és az asyncio használja őket. Ez lehetővé teszi számos korutin egyidejű működését anélkül, hogy zavarná egymást. A korutinok létrehozásához és karbantartásához a könyvtár számos osztályt és módszert kínál, beleértve asyncio.gather(), asyncio.wait(), és asyncio.create_task().
Az eseményhurkok, amelyek a korutinok tervezéséért és működtetéséért felelősek, az asyncio másik jellemzője. A korutinok közötti nem blokkoló módon történő ciklussal az eseményhurok szabályozza a korutinok végrehajtását, és biztosítja, hogy egyetlen korutin sem blokkoljon másikat. Ezenkívül támogatja az időzítőket és a visszahívások ütemezését, amelyek hasznosak lehetnek, ha a tevékenységeket meghatározott időpontokban vagy időközönként kell végrehajtani.
Python párhuzamosság
A kifejezés párhuzamosság ' egy program azon képességét írja le, hogy egyszerre több feladatot is végrehajtson, növelve a program hatékonyságát. A Python számos modult és párhuzamossághoz kapcsolódó módszert kínál, beleértve az aszinkron programozást, a többfeldolgozást és a többszálú feldolgozást. Míg a többszálú feldolgozás több folyamat egyidejű futtatását jelenti egy rendszeren, a többszálú feldolgozás azt jelenti, hogy egy folyamaton belül számos szálat futnak párhuzamosan.
A menetvágó modul a Pythonban lehetővé teszi a programozók számára, hogy többszálas megoldást készítsenek. Osztályokat és műveleteket kínál a szálak létrehozásához és vezérléséhez. Ezzel szemben a többfeldolgozó modul lehetővé teszi a fejlesztők számára a folyamatok tervezését és vezérlését. A Python asyncio modulja aszinkron programozási támogatást nyújt, lehetővé téve a fejlesztők számára, hogy olyan nem blokkoló kódot írjanak, amely több feladatot is képes egyidejűleg kezelni. Ezekkel a technikákkal a fejlesztők nagy teljesítményű, méretezhető programokat írhatnak, amelyek egyszerre több feladatot is képesek kezelni.
A Python szálfűző modulja lehetővé teszi több szál egyidejű végrehajtását egyetlen folyamaton belül, ami hasznos az I/O-kötött tevékenységeknél.
A CPU-igényes műveletekhez, mint a képfeldolgozás vagy adatelemzés, a többfeldolgozó modulok lehetővé teszik számos folyamat egyidejű végrehajtását több CPU magon keresztül.
Az aszinkron modul támogatja az aszinkron I/O-t, és lehetővé teszi egyszálú párhuzamos kódok létrehozását korutinok segítségével a nagy egyidejű hálózati alkalmazásokhoz.
Olyan könyvtárakkal, mint a Dask, PySpark , és az MPI, a Python párhuzamos számításokhoz is használható. Ezek a könyvtárak lehetővé teszik a munkaterhelések elosztását számos csomópont vagy fürt között a jobb teljesítmény érdekében.
Webes selejtezés Python használatával
A webkaparás folyamata az adatok automatikus lekérésére szolgál a webhelyekről. Különféle eszközök és könyvtárak nyernek ki adatokat HTML-ből és más online formátumokból. A Python a webkaparáshoz legszélesebb körben használt programozási nyelvek közé tartozik, könnyű használhatósága, alkalmazkodóképessége és sokféle könyvtára miatt.
Néhány lépést meg kell tennünk a webkaparás Python használatával való végrehajtásához. Először el kell döntenünk, hogy melyik webhelyet gyűjtsük össze, és milyen információkat gyűjtsünk. Ezután kérelmet küldhetünk a webhelynek, és a Python kéréscsomagjával megkaphatjuk a HTML-tartalmat. Ha megvan a HTML szöveg, kivonhatjuk a szükséges adatokat különféle elemző csomagok segítségével, mint pl Gyönyörű leves és lxml .
Számos stratégiát alkalmazhatunk, mint például a kérések lassítása, felhasználói ágensek alkalmazása és proxy használata, hogy megakadályozzuk a webhely szerverének túlterhelését. Az is kulcsfontosságú, hogy betartsa a webhely szolgáltatási feltételeit, és tiszteletben tartsa a robots.txt fájlt.
Adatbányászat, potenciális ügyfelek létrehozása, árkövetés és még sok más felhasználási lehetőség lehetséges a webkaparáshoz. Mivel azonban az illetéktelen webkaparás törvénysértő és etikátlan lehet, elengedhetetlen a szakszerű és etikus hasznosítás.
Természetes nyelvi feldolgozás (NLP) Python használatával
A mesterséges intelligencia (AI) „természetes nyelvi feldolgozásnak” (NLP) nevezett ága a számítógépek és az emberi nyelv kölcsönhatását vizsgálja. Az NLP-nek köszönhetően a számítógépek már képesek megérteni, értelmezni és előállítani az emberi nyelvet. Egyszerűsége, sokoldalúsága és erős könyvtárai, mint például az NLTK (Natural Language Toolkit) és a spaCy, a Python az NLP jól ismert programozási nyelve.
Az NLP-feladatokhoz, ideértve a tokenizálást, a szótagozást, a lemmatizálást, a beszédrész-címkézést, az elnevezett entitás azonosítását, a hangulatelemzést és egyebeket, az NLTK teljes könyvtárat biztosít. Különféle korpuszokkal (nagy, rendezett szöveggyűjteményekkel) rendelkezik az NLP-modellek fejlesztésére és értékelésére. Az NLP feladatok másik kedvelt könyvtára a spaCy , amely hatalmas mennyiségű szöveg gyors és hatékony feldolgozását kínálja. Lehetővé teszi az egyszerű módosítást és bővítést, és előre betanított modellekkel érkezik a különféle NLP-munkaterhelésekhez.
Az NLP a Pythonban különféle gyakorlati célokra használható, beleértve a chatbotokat, a hangulatelemzést, a szövegek kategorizálását, a gépi fordítást és még sok mást. Az NLP-t például a chatbotok használják a felhasználói kérések természetes nyelvi stílusban történő megértésére és megválaszolására. A hangulatelemzés, amely hasznos lehet a márkafigyeléshez, az ügyfelek visszajelzéseinek elemzéséhez és egyéb célokra, az NLP-t alkalmazza a szöveges hangulat (pozitív, negatív vagy semleges) kategorizálására. A szöveges dokumentumokat a természetes nyelvi feldolgozás (NLP) segítségével előre meghatározott kategóriákba sorolják a spamészlelés, a hírek kategorizálása és egyéb célokra.
A Python erős és hasznos eszköz az emberi nyelv elemzéséhez és feldolgozásához. A fejlesztők különféle NLP-tevékenységeket végezhetnek, és hasznos alkalmazásokat hozhatnak létre, amelyek természetes nyelven tudnak kommunikálni a fogyasztókkal olyan könyvtárakkal, mint az NLTK és a spaCy.
Következtetés:
Ebben az oktatóanyagban megvizsgáltuk a Python néhány legfontosabb funkcióját és ötletét, beleértve a változókat, adattípusokat, ciklusokat, függvényeket, modulokat és egyebeket. Szóba kerültek bonyolultabb témák is, beleértve a webkaparást, a természetes nyelvi feldolgozást, a párhuzamosságot és az adatbázis-kapcsolatot. Erős alapja lesz a Python és alkalmazásai megismerésének folytatására az ebből a leckéből tanult információk felhasználásával.
konvertálja a karakterláncot jsonobject java-ba
Ne feledje, hogy a kód gyakorlása és fejlesztése a legjobb módszer a Python megtanulására. A javaTpoint-on számos forrást találhat a további tanulás támogatására, beleértve a dokumentációt, az oktatóanyagokat, az online csoportokat és egyebeket. Elsajátíthatod a Python-t, és csodálatos dolgokat hozhatsz létre, ha keményen dolgozol és kitartóan.
Előfeltétel
A Python megtanulása előtt rendelkeznie kell a programozási fogalmak alapvető ismereteivel.
Közönség
Python oktatóanyagunk a kezdőknek és a profiknak készült.
Probléma
Biztosítjuk, hogy ebben a Python-oktatóanyagban nem talál problémát. De ha bármilyen hiba van, kérjük, adja meg a problémát a kapcsolatfelvételi űrlapon.
=>5:>