Piton este un limbaj de programare utilizat pe scară largă care oferă mai multe caracteristici și avantaje unice în comparație cu limbaje precum Java și C++. Tutorialul nostru Python explică în detaliu elementele de bază ale Python și conceptele avansate, începând cu instalarea, declarații condiționale , bucle , structuri de date încorporate , Programare orientată pe obiecte , Generatoare , Gestionarea excepțiilor , Python RegEx și multe alte concepte. Acest tutorial este conceput pentru începători și profesioniști care lucrează.
La sfârșitul anilor 1980, Guido van Rossum a visat să dezvolte Python. Prima versiune a Python 0.9.0 a fost lansat în 1991 . De la lansare, Python a început să câștige popularitate. Potrivit rapoartelor, Python este acum cel mai popular limbaj de programare printre dezvoltatori, datorită cerințelor sale ridicate în domeniul tehnologiei.
Ce este Python
Python este un limbaj de programare de uz general, tip dinamic, la nivel înalt, compilat și interpretat, colectat de gunoi și pur orientat pe obiecte, care acceptă programarea procedurală, orientată pe obiecte și funcțională.
Caracteristicile Python:
Python are multe active bazate pe web , proiecte open-source , și o comunitate vibrantă . Învățarea limbii, lucrul împreună la proiecte și contribuția la ecosistemul Python sunt foarte ușor pentru dezvoltatori.
Datorită cadrului său de limbaj simplu, Python este mai ușor de înțeles și de scris cod. Acest lucru îl face un limbaj de programare fantastic pentru începători. În plus, ajută programatorii experimentați să scrie cod clar și fără erori.
Python are multe biblioteci terțe care pot fi utilizate pentru a-și ușura funcționalitatea. Aceste biblioteci acoperă multe domenii, de exemplu, dezvoltarea web, calculul științific, analiza datelor și multe altele.
Java vs. Python
Python este o alegere excelentă pentru dezvoltare rapidă și sarcini de scripting. În timp ce Java subliniază un sistem de tip puternic și o programare orientată pe obiecte.
Iată câteva programe de bază care ilustrează diferențele cheie dintre ele.
Se imprimă „Hello World”
Cod Python:
print('Hello World)'
În Python, este o singură linie de cod. Este nevoie de o sintaxă simplă pentru a imprima „Hello World”
Cod Java:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
În Java, trebuie să declarăm clase, structuri de metode multe alte lucruri.
În timp ce ambele programe dau aceeași ieșire, putem observa diferența de sintaxă în instrucțiunea print.
învățare automată supravegheată
- În Python, este ușor să înveți și să scrii cod. În timp ce sunteți în Java, necesită mai mult cod pentru a efectua anumite sarcini.
- Python este tipat dinamic, ceea ce înseamnă că nu trebuie să declarăm variabila În timp ce Java este tipat statistic, ceea ce înseamnă că trebuie să declarăm tipul variabilei.
- Python este potrivit pentru diverse domenii, cum ar fi Data Science, Machine Learning, dezvoltare web și multe altele. În timp ce Java este potrivit pentru dezvoltarea web, dezvoltarea de aplicații mobile (Android) și multe altele.
Sintaxa de bază Python
Nu se folosesc acolade sau punct și virgulă în limbajul de programare Python. Este o limbă asemănătoare englezei. Dar Python folosește indentarea pentru a defini un bloc de cod. Indentarea nu este altceva decât adăugarea de spații albe înaintea instrucțiunii atunci când este necesar.
De exemplu -
def func(): statement 1 statement 2 ………………… ………………… statement N
În exemplul de mai sus, instrucțiunile care sunt la același nivel în dreapta aparțin funcției. În general, putem folosi patru spații albe pentru a defini indentarea.
În loc de punct și virgulă, așa cum este folosit în alte limbi, Python își încheie declarațiile cu un caracter NewLine.
Python este un limbaj sensibil la majuscule, ceea ce înseamnă că literele mari și mici sunt tratate diferit. De exemplu, „nume” și „nume” sunt două variabile diferite în Python.
În Python, comentariile pot fi adăugate folosind simbolul „#”. Orice text scris după simbolul „#” este considerat un comentariu și este ignorat de interpret. Acest truc este util pentru a adăuga note la cod sau pentru a dezactiva temporar un bloc de cod. De asemenea, ajută la înțelegerea mai bună a codului de către alți dezvoltatori.
'Dacă' , „altfel”, „pentru”, „în timp ce” , „încercați”, „cu excepția” și „în final” sunt câteva cuvinte cheie rezervate în Python care nu pot fi folosite ca nume de variabile. Acești termeni sunt folosiți în limbă din motive speciale și au semnificații fixe. Dacă utilizați aceste cuvinte cheie, codul dvs. poate include erori sau interpretul le poate respinge ca potențiale noi Variabile.
Istoria lui Python
Python a fost creat de Guido van Rossum . La sfârșitul anilor 1980, Guido van Rossum, un programator olandez, a început să lucreze la Python în timp ce se afla la Centrum Wiskunde & Informatica (CWI) din Țările de Jos. El a vrut să creeze un succesor al Limbajul de programare ABC care ar fi ușor de citit și eficient.
În februarie 1991, a fost lansată prima versiune publică a Python, versiunea 0.9.0. Aceasta a marcat nașterea oficială a Python ca proiect open-source . Limba a fost numită după serialul britanic de comedie ' Circul zburător al lui Monty Python '.
Dezvoltarea Python a trecut prin mai multe etape. În ianuarie 1994, Python 1.0 a fost lansat ca limbaj de programare utilizabil și stabil. Această versiune a inclus multe dintre caracteristicile care sunt încă prezente în Python astăzi.
Din anii 1990 până în anii 2000 , Python a câștigat popularitate pentru simplitatea, lizibilitatea și versatilitatea sa. În octombrie 2000, a fost lansat Python 2.0 . Python 2.0 a introdus listele de înțelegere, colectarea gunoiului și suport pentru Unicode.
În decembrie 2008, a fost lansat Python 3.0. Python 3.0 a introdus mai multe modificări incompatibile cu înapoi pentru a îmbunătăți lizibilitatea și mentenabilitatea codului.
De-a lungul anilor 2010, popularitatea lui Python a crescut, în special în domenii precum învățarea automată și dezvoltarea web. Ecosistemul său bogat de biblioteci și cadre l-a făcut favorit printre dezvoltatori.
The Python Software Foundation (PSF) a fost înființată în 2001 pentru a promova, proteja și promova limbajul de programare Python și comunitatea acestuia.
De ce să înveți Python?
Python oferă programatorului multe caracteristici utile. Aceste caracteristici îl fac cel mai popular și mai utilizat limbaj. Am enumerat mai jos câteva caracteristici esențiale ale Python.
- Limbajul orientat pe obiecte : Suportă programarea orientată pe obiecte, făcând scrierea codului modular și reutilizabil ușor.
Unde este folosit Python?
Python este un limbaj de programare popular, de uz general și este folosit în aproape orice domeniu tehnic. Diferitele domenii de utilizare a Python sunt prezentate mai jos.
- Inteligenţă artificială : AI este o tehnologie în curs de dezvoltare, iar Python este un limbaj perfect pentru inteligența artificială și învățarea automată, datorită disponibilității bibliotecilor puternice, cum ar fi TensorFlow, Keras și PyTorch.
- DevOps : Python este utilizat pe scară largă în DevOps pentru automatizarea și scriptarea managementului infrastructurii, gestionării configurației și proceselor de implementare.
- Cereri : o bibliotecă pentru a face cereri HTTP
- SQLAlchemy : o bibliotecă pentru lucrul cu baze de date SQL
- disperat : un cadru pentru construirea de aplicații multi-touch
- Pygame : o bibliotecă pentru dezvoltarea jocurilor
- Cadrul REST : un set de instrumente pentru construirea de API-uri RESTful
- FastAPI : un cadru web modern și rapid pentru construirea de API-uri
- Streamlit : o bibliotecă pentru construirea de aplicații web interactive pentru învățarea automată și știința datelor
- NLTK : o bibliotecă pentru procesarea limbajului natural
Python are o gamă largă de biblioteci și cadre utilizate pe scară largă în diverse domenii, cum ar fi învățarea automată, inteligența artificială, aplicațiile web etc. Definim câteva cadre și biblioteci populare ale Python după cum urmează.
Funcția Python print().
Funcția Python print() este utilizată pentru a afișa rezultatul către consolă sau terminal. Ne permite să afișăm text, variabile și alte date într-un format care poate fi citit de om.
Sintaxă:
print(obiect(e), sep=separator, sfârşit=sfârşit, fişier=fişier, flush=flush)
Este nevoie de unul sau mai multe argumente separate prin virgulă (,) și adaugă o „linie nouă” la sfârșit în mod implicit.
Parametri:
- obiect(e) - Oricâte date doriți să fie afișate, vor fi mai întâi convertite în șir și imprimate pe consolă.
- sep - Separă obiectele printr-un separator trecut, valoarea implicită = ' '.
- end - Termină o linie cu un caracter de nouă linie
- fișier - un obiect fișier cu metoda de scriere, valoarea implicită = sys.stdout
Exemplu:
# 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))
Ieșire:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
În acest exemplu, instrucțiunea print este utilizată pentru a tipări valori de șir, întregi și flotante într-un format care poate fi citit de om.
Declarația de imprimare poate fi utilizată pentru depanare, înregistrare în jurnal și pentru a furniza informații utilizatorului.
Declarații condiționale Python
Instrucțiunile condiționate ne ajută să executăm un anumit bloc pentru o anumită condiție. În acest tutorial, vom învăța cum să folosim expresia condiționată pentru a executa un bloc diferit de instrucțiuni. Python oferă cuvinte cheie if și else pentru a configura condiții logice. The Elif cuvântul cheie este folosit și ca declarație condiționată.
Exemplu de cod pentru declarația if..else
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Ieșire:
x is greater than y
În codul de mai sus, avem două variabile, x și y, cu 10 și, respectiv, 5. Apoi am folosit o instrucțiune if..else pentru a verifica dacă x este mai mare decât y sau invers. Dacă prima condiție este adevărată, este tipărită declarația „x este mai mare decât y”. Dacă prima condiție este falsă, este tipărită în schimb afirmația „y este mai mare sau egal cu x”.
Cuvântul cheie if verifică dacă condiția este adevărată și execută blocul de cod din interiorul acestuia. Codul din blocul else este executat dacă condiția este falsă. În acest fel, instrucțiunea if..else ne ajută să executăm diferite blocuri de cod bazate pe o condiție.
Vom afla despre acest lucru mai detaliat în articolul suplimentar pentru tutorialul Python.
Bucle Python
Uneori este posibil să fie nevoie să modificăm fluxul programului. Este posibil ca execuția unui anumit cod să fie repetată de mai multe ori. În acest scop, limbajele de programare oferă diverse bucle capabile să repete un anumit cod de mai multe ori. Luați în considerare următorul tutorial pentru a înțelege afirmațiile în detaliu.
Python For Loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Ieșire:
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:>
În exemplul de cod de mai sus, am demonstrat utilizarea a două tipuri de bucle în Python - bucla For și bucla While.
Bucla For este folosită pentru a repeta o secvență de elemente, cum ar fi o listă, un tuplu sau șir. În exemplu, am definit o listă de fructe și am folosit o buclă for pentru a imprima fiecare fruct, dar poate fi folosit și pentru a tipări o serie de numere.
Bucla While repetă un bloc de cod dacă condiția specificată este adevărată. În exemplu, am inițializat o variabilă i la 1 și am folosit o buclă while pentru a imprima valoarea lui i până când aceasta devine mai mare sau egală cu 6. Instrucțiunea i += 1 este folosită pentru a incrementa valoarea lui i în fiecare iterație. .
Vom afla despre ele în tutorial în detaliu.
Structuri de date Python
Python oferă patru structuri de date încorporate: liste , tupluri , seturi , și dicționare care ne permit să stocăm datele într-un mod eficient. Mai jos sunt structurile de date utilizate în mod obișnuit în Python, împreună cu exemplu de cod:
1. Liste
- Listele sunt colectii ordonate a elementelor de date de diferite tipuri de date.
- Listele sunt mutabil ceea ce înseamnă că o listă poate fi modificată oricând.
- Elementele pot fi accesat folosind indici .
- Ele sunt definite folosind paranteze drepte ' [] '.
Exemplu:
# 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)
Ieșire:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Tupluri
- Tuplurile sunt de asemenea colectii ordonate de elemente de date de diferite tipuri de date, similare listelor.
- Elementele pot fi accesat folosind indici .
- Tuplurile sunt imuabil ceea ce înseamnă că tuplurile nu pot fi modificate odată create.
- Ele sunt definite folosind paranteze deschise ' () '.
Exemplu:
# 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_)
Ieșire:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Seturi
- Seturile sunt neordonate colecții de elemente de date imuabile de diferite tipuri de date.
- Seturile sunt mutabil .
- Elementele nu pot fi accesate folosind indici.
- Seturi nu conțin elemente duplicat .
- Ele sunt definite folosind acolade ' {} '
Exemplu:
# 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)
Ieșire:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Dicționare
- Dicţionar are perechi cheie-valoare care vă permit să asociați valori cu chei unice.
- Ele sunt definite folosind acolade ' {} ' cu perechi cheie-valoare separate prin două puncte „:” .
- Dicționarele sunt mutabil .
- Elementele pot fi accesate cu ajutorul tastelor.
Exemplu:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Ieșire:
np.zerouri
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Acestea sunt doar câteva exemple de structuri de date încorporate în Python. Fiecare structură de date are propriile caracteristici și cazuri de utilizare.
Programare funcțională Python
Această secțiune a tutorialului Python definește câteva instrumente importante legate de programarea funcțională, cum ar fi funcțiile lambda și recursive. Aceste funcții sunt foarte eficiente în îndeplinirea sarcinilor complexe. Definim câteva funcții importante, cum ar fi reducerea, maparea și filtrarea. Python oferă modulul functools care include diverse instrumente de programare funcționale. Vizitați următorul tutorial pentru a afla mai multe despre programarea funcțională.
Versiunile recente de Python au introdus caracteristici care fac programarea funcțională mai concisă și mai expresivă. De exemplu, „operatorul morsă”:= permite alocarea variabilelor inline în expresii, ceea ce poate fi util atunci când lucrați cu apeluri de funcții imbricate sau liste de înțelegere.
Funcția Python
- Funcția Lambda - O funcție lambda este mică, functie anonima care poate lua orice număr de argumente, dar poate avea o singură expresie. Funcțiile Lambda sunt adesea folosite în programarea funcțională pentru a crea funcții „din mers”, fără a defini o funcție numită.
- Functie recursiva - O funcție recursivă este o funcție care se autoinvocă pentru a rezolva o problemă. Funcțiile recursive sunt adesea folosite în programarea funcțională pentru a efectua calcule complexe sau pentru a parcurge structuri complexe de date.
- Funcția Hartă - Funcția map() aplică o funcție dată fiecărui element al unui iterabil și returnează un nou iterabil cu rezultatele. Intrarea iterabilă poate fi o listă, un tuplu sau altele.
- Funcția de filtrare - Funcția filter() returnează un iterator dintr-un iterabil pentru care funcția transmisă ca prim argument returnează True. Filtrează articolele dintr-un iterabil care nu îndeplinesc condiția dată.
- Funcția de reducere - Funcția reduce() aplică o funcție de două argumente cumulativ elementelor unui iterabil de la stânga la dreapta pentru a o reduce la o singură valoare.
- Modulul functools - Modulul functools din Python oferă funcții de ordin superior care operează pe alte funcții, cum ar fi partial() și reduce().
- Funcția de curry - O funcție currying este o funcție care preia mai multe argumente și returnează o secvență de funcții care iau fiecare un singur argument.
- Funcția de memorare - Memorizarea este o tehnică folosită în programarea funcțională pentru a stoca în cache rezultatele apelurilor de funcții costisitoare și pentru a returna rezultatul stocat în cache atunci când aceleași intrări apar din nou.
- Funcția de filetare - Threadingul este o tehnică folosită în programarea funcțională pentru a rula mai multe sarcini simultan pentru a face codul mai eficient și mai rapid.
Module Python
Modulele Python sunt fișierele de program care conțin cod sau funcții Python. Python are două tipuri de module - module definite de utilizator și module încorporate. Un modul definit de utilizator sau codul nostru Python salvat cu extensia .py este tratat ca un modul definit de utilizator.
Modulele încorporate sunt module predefinite ale lui Python. Pentru a folosi funcționalitatea modulelor, trebuie să le importam în programul nostru de lucru actual.
Modulele Python sunt esențiale pentru ecosistemul limbii, deoarece oferă cod reutilizabil și funcționalități care pot fi importate în orice program Python. Iată câteva exemple de mai multe module Python, împreună cu o scurtă descriere a fiecăruia:
Matematică : Oferă utilizatorilor acces la constantele matematice și la funcțiile pi și trigonometrice.
Datetime : Oferă cursuri pentru un mod mai simplu de manipulare a datelor, orelor și perioadelor.
TU : Permite interacțiunea cu sistemul de operare de bază, inclusiv administrarea proceselor și a activităților sistemului de fișiere.
Aleatoriu : Funcția aleatorie oferă instrumente pentru generarea de numere întregi aleatoare și alegerea elementelor aleatorii dintr-o listă.
JSON : JSON este o structură de date care poate fi codificată și decodificată și este folosită frecvent în API-urile online și schimbul de date. Acest modul permite tratarea cu JSON.
Re : Acceptă expresii regulate, un instrument puternic de căutare și manipulare a textului.
Colecții : Oferă structuri de date alternative, cum ar fi dicționare sortate, dicționare implicite și tupluri cu nume.
NumPy : NumPy este un set de instrumente de bază pentru calcul științific care acceptă operații numerice pe matrice și matrice.
panda : Oferă structuri de date la nivel înalt și operațiuni pentru tratarea seriilor temporale și a altor tipuri de date structurate.
Cereri : Oferă o interfață de utilizator simplă pentru API-urile web și efectuează solicitări HTTP.
I/O fișier Python
Fișierele sunt folosite pentru a stoca date pe un disc de computer. În acest tutorial, explicăm obiectul fișier încorporat din Python. Putem deschide un fișier folosind script-ul Python și putem efectua diverse operații, cum ar fi scrierea, citirea și adăugarea. Există diferite moduri de a deschide un fișier. Ni se explică cu exemplul relevant. De asemenea, vom învăța să efectuăm operații de citire/scriere pe fișiere binare.
Sistemul Python de intrare/ieșire a fișierelor (I/O). oferă programe pentru a comunica cu fișierele stocate pe un disc. Metodele încorporate din Python pentru obiectul fișier ne permit să efectuăm acțiuni precum citirea, scrierea și adăugarea de date la fișiere.
The deschis() metoda din Python creează un obiect fișier atunci când lucrează cu fișiere. Numele fișierului care urmează să fie deschis și modul în care fișierul urmează să fie deschis sunt cei doi parametri solicitați de această funcție. Modul poate fi utilizat în funcție de munca care trebuie efectuată cu fișierul, cum ar fi „ r ' pentru citit, ' În 'pentru scris, sau' A ' pentru atașare.
După crearea cu succes a unui obiect, pot fi folosite diferite metode în funcție de munca noastră. Dacă vrem să scriem în fișier, putem folosi funcțiile write(), iar dacă doriți să citiți și să scrieți ambele, atunci putem folosi funcția append() și, în cazurile în care vrem să citim doar conținutul fișierul putem folosi funcția read(). Fișierele binare care conțin date într-un format binar mai degrabă decât într-un format text pot fi, de asemenea, lucrate folosind Python. Fișierele binare sunt scrise într-o manieră pe care oamenii nu o pot înțelege direct. The rb și wb modurile pot citi și scrie date binare în fișiere binare.
Excepții Python
O excepție poate fi definită ca o condiție neobișnuită într-un program care are ca rezultat o întrerupere a fluxului programului.
Ori de câte ori apare o excepție, programul oprește execuția și, astfel, celălalt cod nu este executat. Prin urmare, o excepție o reprezintă erorile de rulare care nu pot fi gestionate de scriptul Python. O excepție este un obiect Python care reprezintă o eroare.
Excepții Python sunt un aspect important al gestionării erorilor în programarea Python. Când un program întâmpină o situație sau o eroare neașteptată, poate ridica o excepție, care poate întrerupe fluxul normal al programului.
În Python, excepțiile sunt reprezentate ca obiecte care conțin informații despre eroare, inclusiv tipul și mesajul acesteia. Cel mai comun tip de excepție în Python este clasa Exception, o clasă de bază pentru toate celelalte excepții încorporate.
Pentru a gestiona excepțiile în Python, folosim încerca și cu exceptia declarații. The încerca instrucțiunea este folosită pentru a include codul care poate ridica o excepție, în timp ce cu exceptia instrucțiunea este folosită pentru a defini un bloc de cod care ar trebui să fie executat atunci când apare o excepție.
De exemplu, luați în considerare următorul cod:
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')
Ieșire:
Enter a number: 0 Error: Division by zero
În acest cod, folosim instrucțiunea try pentru a încerca să efectuăm o operație de divizare. Dacă oricare dintre aceste operații ridică o excepție, blocul cu excepția potrivirii este executat.
Python oferă, de asemenea, multe excepții încorporate care pot fi ridicate în situații similare. Unele excepții comune încorporate includ IndexError, TypeError , și NameErrore . De asemenea, putem defini excepțiile noastre personalizate prin crearea unei noi clase care moștenește din clasa Exception.
Python CSV
Un CSV înseamnă „valori separate prin virgulă”, care este definit ca un format de fișier simplu care utilizează o structurare specifică pentru a aranja datele tabulare. Stochează date tabelare, cum ar fi foi de calcul sau baze de date în text simplu și are un format comun pentru schimbul de date. Un fișier CSV se deschide în foaia Excel, iar datele de rânduri și coloane definesc formatul standard.
Putem folosi funcția CSV.reader pentru a citi un fișier CSV. Această funcție returnează un obiect cititor pe care îl putem folosi pentru a repeta peste rândurile din fișierul CSV. Fiecare rând este returnat ca o listă de valori, unde fiecare valoare corespunde unei coloane din fișierul CSV.
De exemplu, luați în considerare următorul cod:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Aici, deschidem fișierul data.csv în modul citire și creăm un csv.reader obiect folosind csv.reader() funcţie. Apoi repetăm peste rândurile din fișierul CSV folosind o buclă for și imprimăm fiecare rând pe consolă.
Putem folosi CSV.writer() funcția de a scrie date într-un fișier CSV. Returnează un obiect writer pe care îl putem folosi pentru a scrie rânduri în fișierul CSV. Putem scrie rânduri apelând la scriitor () metoda pe obiectul writer.
De exemplu, luați în considerare următorul cod:
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)
În acest program, creăm o listă de liste numite date, în care fiecare listă interioară reprezintă un rând de date. Apoi deschidem fișierul data.csv în modul de scriere și creăm un CSV.scriitor obiect folosind funcția CSV.writer. Apoi iterăm peste rândurile din date folosind o buclă for și scriem fiecare rând în fișierul CSV folosind metoda writer.
Python trimite e-mail
Putem trimite sau citi un e-mail folosind scriptul Python. Modulele standard ale bibliotecii Python sunt utile pentru gestionarea diferitelor protocoale, cum ar fi PoP3 și IMAP. Python oferă smtplib modul pentru trimiterea de e-mailuri folosind SMTP (Simple Mail Transfer Protocol). Vom învăța cum să trimitem e-mail cu popularul serviciu de e-mail SMTP dintr-un script Python.
Metode magice Python
Metoda magică Python este metoda specială care adaugă „magie” unei clase. Începe și se termină cu caractere de subliniere duble, de exemplu, _Fierbinte_ sau _str_ .
Clasele încorporate definesc multe metode magice. The tu() funcția poate fi folosită pentru a vedea numărul de metode magice moștenite de o clasă. Are două prefixe și sufixe de subliniere în numele metodei.
- Metodele magice Python sunt cunoscute și ca metode dunder , prescurtare pentru metodele „subliniere dublă”, deoarece numele lor încep și se termină cu o liniuță dublă.
- Metode magice sunt invocate automat de interpretul Python în anumite situații, cum ar fi atunci când un obiect este creat, comparat cu un alt obiect sau tipărit.
- Metodele magice pot fi folosite pentru a personaliza comportamentul claselor, cum ar fi definirea modului în care obiectele sunt comparate, convertite în șiruri de caractere sau accesate ca containere.
- Unele metode magice utilizate în mod obișnuit includ căldură pentru inițializarea unui obiect, str pentru conversia unui obiect într-un șir, eq pentru compararea a două obiecte pentru egalitate și intitulat și setitem pentru accesarea articolelor dintr-un obiect container.
De exemplu, cel str metoda magică poate defini modul în care un obiect ar trebui să fie reprezentat ca șir. Iată un exemplu
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)
Ieșire:
Vikas (22)
În acest exemplu, metoda str este definită pentru a returna o reprezentare formatată șir a obiectului Person cu numele și vârsta persoanei.
O altă metodă magică folosită în mod obișnuit este eq , care definește modul în care obiectele trebuie comparate pentru egalitate. Iată un exemplu:
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)
Ieșire:
False True
În acest exemplu, eq metoda este definită să returneze True dacă două obiecte Point au aceleași coordonate x și y și False în caz contrar.
Concepte Python Oops
Totul în Python este tratat ca un obiect, inclusiv valori întregi, floats, funcții, clase și niciunul. În afară de asta, Python acceptă toate conceptele orientate. Mai jos este o scurtă introducere în conceptele Oops din Python.
- Clase și Obiecte - Clasele Python sunt modelele obiectului. Un obiect este o colecție de date și metode care acționează asupra datelor.
- Moştenire - O moștenire este o tehnică în care o clasă moștenește proprietățile altor clase.
- Constructor - Python oferă o metodă specială __init__() care este cunoscută ca un constructor. Această metodă este apelată automat când un obiect este instanțiat.
- Polimorfismul - Polimorfismul este un concept în care un obiect poate lua mai multe forme. În Python, polimorfismul poate fi realizat prin supraîncărcarea metodei și suprascrierea metodei.
- Suprascrierea metodei - Suprascrierea metodei este un concept în care o subclasă implementează o metodă deja definită în superclasa sa.
- Încapsulare - Încapsularea înseamnă împachetarea datelor și metodelor într-o singură unitate. În Python, încapsularea se realizează prin modificatori de acces, cum ar fi public, privat și protejat. Cu toate acestea, Python nu impune strict modificatorii de acces, iar convenția de denumire indică nivelul de acces.
- Abstracția datelor : O tehnică de a ascunde complexitatea datelor și de a arăta utilizatorului numai caracteristici esențiale. Oferă o interfață pentru a interacționa cu datele. Abstracția datelor reduce complexitatea și face codul mai modular, permițând dezvoltatorilor să se concentreze asupra caracteristicilor esențiale ale programului.
Pentru a citi în detaliu conceptul Oops, accesați următoarele resurse.
- Concepte Python Oops - În Python, paradigma orientată pe obiect este de a proiecta programul folosind clase și obiecte. Obiectul este legat de entități cu cuvinte reale, cum ar fi cartea, casa, creionul etc., iar clasa își definește proprietățile și comportamentele.
- Python Obiecte și clase - În Python, obiectele sunt instanțe ale claselor, iar clasele sunt planuri care definesc structura și comportamentul datelor.
- Constructor Python - Un constructor este o metodă specială dintr-o clasă care este folosită pentru a inițializa atributele obiectului atunci când obiectul este creat.
- Moștenirea Python - Moștenirea este un mecanism în care o nouă clasă (subclasă sau clasă copil) moștenește proprietățile și comportamentele unei clase existente (superclasa sau clasa părinte).
- Polimorfismul Python - Polimorfismul permite ca obiectele din clase diferite să fie tratate ca obiecte ale unei superclase comune, permițând ca diferite clase să fie folosite în mod interschimbabil printr-o interfață comună.
Subiecte Python Advance
Python include multe progrese și concepte utile care ajută programatorul să rezolve sarcini complexe. Aceste concepte sunt prezentate mai jos.
Iterator Python
Un iterator este pur și simplu un obiect pe care poate fi iterat. Returnează câte un obiect la un moment dat. Poate fi implementat folosind cele două metode speciale, __iter__() si urmatorul__().
Iteratorii în Python sunt obiecte care permit iterația peste o colecție de date. Ei procesează fiecare element de colecție individual, fără a încărca întreaga colecție în memorie.
De exemplu, să creăm un iterator care returnează pătratele numerelor până la o limită dată:
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></=>
În acest exemplu, am creat o clasă Squares care acționează ca un iterator prin implementarea metodelor __iter__() și __next__(). Metoda __iter__() returnează obiectul în sine, iar metoda __next__() returnează următorul pătrat al numărului până când limita este atinsă.
Pentru a afla mai multe despre iteratoare, vizitați tutorialul nostru Python Iteratori.
Generatoare Python
Generatoare Python produce o succesiune de valori folosind o declarație de randament mai degrabă decât o întoarcere, deoarece sunt funcții care returnează iteratori. Generatoarele termină execuția funcției păstrând în același timp starea locală. Reia exact de unde a rămas când este repornit. Deoarece nu trebuie să implementăm protocolul iterator datorită acestei caracteristici, scrierea iteratoarelor este simplificată. Iată o ilustrare a unei funcții generatoare simple care produce pătrate de numere:
# 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)
Ieșire:
0 1 4 9 16
Modificatori Python
Decoratori Python sunt funcții folosite pentru a modifica comportamentul unei alte funcții. Acestea permit adăugarea de funcționalități unei funcții existente fără a modifica direct codul acesteia. Decoratorii sunt definiți folosind @ simbol urmat de numele funcției de decorator. Ele pot fi folosite pentru înregistrare, sincronizare, stocare în cache etc.
Iată un exemplu de funcție de decorator care adaugă funcționalitate de sincronizare unei alte funcții:
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)
Ieșire:
În exemplul de mai sus, funcția decorator time_it ia o altă funcție ca argument și returnează o funcție de înveliș. Funcția wrapper calculează timpul necesar pentru a executa funcția originală și o tipărește pe consolă. Decoratorul @time_it este folosit pentru a aplica funcția time_it la funcția my_function. Când my_function este apelată, decoratorul este executat și se adaugă funcționalitatea de sincronizare.
Python MySQL
Python MySQL este un puternic sistem de gestionare a bazelor de date relaționale. Trebuie să setăm mediul și să stabilim o conexiune pentru a folosi MySQL cu Python. Putem crea o nouă bază de date și tabele folosind comenzi SQL în Python.
- Configurarea mediului : Instalarea și configurarea MySQL Connector/Python pentru a utiliza Python cu MySQL.
- Conexiune la baza de date : Stabilirea unei conexiuni între Python și baza de date MySQL folosind MySQL Connector/Python.
- Crearea unei noi baze de date : Crearea unei noi baze de date în MySQL folosind Python.
- Crearea tabelelor : Crearea de tabele în baza de date MySQL cu Python folosind comenzi SQL.
- Operațiunea de inserare : Inserați date în tabelele MySQL folosind comenzile Python și SQL.
- Citiți Operațiunea : Citirea datelor din tabele MySQL folosind comenzi Python și SQL.
- Operațiune de actualizare : Actualizarea datelor din tabelele MySQL folosind comenzile Python și SQL.
- Alăturați-vă operației : Unirea a două sau mai multe tabele în MySQL folosind comenzile Python și SQL.
- Efectuarea Tranzacțiilor : Efectuarea unui grup de interogări SQL ca o singură unitate de lucru în MySQL folosind Python.
Alte puncte relative includ gestionarea erorilor, crearea de indexuri și utilizarea procedurilor și funcțiilor stocate în MySQL cu Python.
Python MongoDB
Python MongoDB este o bază de date populară NoSQL care stochează date în documente asemănătoare JSON. Este fără schemă și oferă scalabilitate și flexibilitate ridicate pentru stocarea datelor. Putem folosi MongoDB cu Python folosind biblioteca PyMongo, care oferă o interfață simplă și intuitivă pentru interacțiunea cu MongoDB.
Iată câteva sarcini comune atunci când lucrați cu MongoDB în Python:
- Configurarea mediului : Instalați și configurați biblioteca MongoDB și PyMongo pe sistemul dvs.
- Conexiune la baza de date : Conectați-vă la un server MongoDB folosind clasa MongoClient de la PyMongo.
- Crearea unei noi baze de date : Utilizați obiectul MongoClient pentru a crea o nouă bază de date.
- Crearea de colecții : Creați colecții într-o bază de date pentru a stoca documente.
- Inserarea documentelor : Inserați documente noi într-o colecție folosind metodele insert_one() sau insert_many().
- Interogarea documentelor : Preluați documente dintr-o colecție folosind diverse metode de interogare precum find_one(), find(), etc.
- Actualizarea documentelor : Modificați documentele existente într-o colecție folosind metodele update_one() sau update_many().
- Ștergerea documentelor : Eliminați documente dintr-o colecție folosind metodele delete_one() sau delete_many().
- Agregare : Efectuați operațiuni de agregare, cum ar fi gruparea, numărarea etc., utilizând cadrul pipeline de agregare.
Există multe subiecte mai avansate în MongoDB, cum ar fi fragmentarea datelor, replicarea și multe altele, dar aceste sarcini acoperă elementele de bază ale lucrului cu MongoDB în Python.
Python SQLite
Bazele de date relaționale sunt construite și întreținute folosind Python SQLite, un motor de baze de date compact, fără server, autonom. Mobilitatea și simplitatea sa îl fac o opțiune populară pentru aplicații locale sau la scară mică. Python are un modul încorporat pentru conectarea la bazele de date SQLite numit SQLite3, permițând dezvoltatorilor să lucreze cu bazele de date SQLite fără dificultăți.
Diverse metode API sunt disponibile prin biblioteca SQLite3, care pot fi utilizate pentru a rula interogări SQL, a insera, selecta, actualiza și elimina date, precum și pentru a obține date din tabele. În plus, permite tranzacțiile, permițând programatorilor să anuleze modificările în cazul unei probleme. Python SQLite este o opțiune fantastică pentru crearea de programe care au nevoie de un sistem de baze de date încorporat, inclusiv pentru desktop, mobile și programe web de dimensiuni modeste. SQLite a devenit popular printre dezvoltatori pentru aplicații ușoare cu funcționalitate de bază de date datorită ușurinței sale de utilizare, portabilității și conexiunii fără probleme cu Python.
Python CGI
Python CGI este o tehnologie pentru rularea scripturilor prin servere web pentru a produce conținut online dinamic. Oferă un canal de comunicare și o interfață dinamică de generare de conținut pentru scripturi CGI externe și server web. Scripturile CGI Python pot crea pagini web HTML, pot gestiona introducerea formularelor și pot comunica cu bazele de date. Python CGI permite serverului să realizeze scripturi Python și să furnizeze rezultatele clientului, oferind o abordare rapidă și eficientă pentru crearea de aplicații online dinamice.
Scripturile CGI Python pot fi folosite pentru multe lucruri, inclusiv crearea de pagini web dinamice, procesarea formularelor și interacțiunea cu bazele de date. Deoarece Python, un limbaj de programare puternic și popular, poate fi utilizat pentru a crea scripturi, permite o abordare mai personalizată și mai flexibilă a creării web. Aplicațiile online scalabile, sigure și care pot fi întreținute pot fi create cu Python CGI. Python CGI este un instrument la îndemână pentru dezvoltatorii web care construiesc aplicații online dinamice și interactive.
Programare asincronă în Python
Programare asincronă este o paradigmă pentru programarea computerelor care permite operarea independentă și concomitentă a activităților. Este folosit frecvent în aplicații precum servere web, software de baze de date și programare în rețea, unde mai multe sarcini sau solicitări trebuie gestionate concomitent.
Python are asyncio, Twisted și Tornado printre bibliotecile și cadrele sale pentru programare asincronă. Asyncio, unul dintre acestea, oferă o interfață simplă pentru programarea asincronă și este biblioteca oficială de programare asincronă în Python.
Coroutinele sunt funcții care pot fi oprite și repornite în anumite locații din cod și sunt utilizate de asyncio. Acest lucru permite a numeroase corutine să funcționeze simultan fără a interfera unele cu altele. Pentru construirea și întreținerea coroutinelor, biblioteca oferă mai multe clase și metode, inclusiv asyncio.gather(), asyncio.wait(), și asyncio.create_task().
Buclele de evenimente, care sunt responsabile de planificarea și operarea coroutinelor, sunt o altă caracteristică a asincronului. Prin parcurgerea între corutine într-un mod neblocant, bucla de evenimente controlează execuția corutinelor și se asigură că nicio corutine nu blochează alta. În plus, acceptă cronometre și programarea apelurilor inverse, ceea ce poate fi util atunci când activitățile trebuie finalizate la ore sau intervale specificate.
Concurență Python
Termenul ' concurență ' descrie capacitatea unui program de a îndeplini mai multe sarcini simultan, sporind eficiența programului. Python oferă mai multe module și metode legate de concurență, inclusiv programare asincronă, multiprocesare și multithreading. În timp ce multiprocesarea implică rularea simultană a mai multor procese pe un sistem, multithreading implică rularea simultană a mai multor fire de execuție într-un singur proces.
The modul de filetare în Python le permite programatorilor să construiască multithreading. Oferă clase și operațiuni pentru stabilirea și controlul thread-urilor. În schimb, modulul de multiprocesare permite dezvoltatorilor să proiecteze și să controleze procesele. Modulul asyncio al lui Python oferă suport de programare asincronă, permițând dezvoltatorilor să scrie cod neblocant care poate gestiona mai multe sarcini simultan. Folosind aceste tehnici, dezvoltatorii pot scrie programe de înaltă performanță, scalabile, care pot gestiona mai multe sarcini simultan.
Modulul de threading al lui Python permite executarea simultană a mai multor fire într-un singur proces, ceea ce este util pentru activitățile legate de I/O.
Pentru operațiunile cu consum intens de CPU, cum ar fi procesarea imaginilor sau analiza datelor, modulele de multiprocesare fac posibilă executarea simultană a numeroase procese pe mai multe nuclee CPU.
Modulul asyncio acceptă I/O asincron și permite crearea de cod concurent cu un singur thread folosind coroutine pentru aplicații de rețea cu concurență ridicată.
Cu biblioteci precum Dask, PySpark , și MPI, Python poate fi, de asemenea, utilizat pentru calculul paralel. Aceste biblioteci permit ca sarcinile de lucru să fie distribuite în numeroase noduri sau clustere pentru o performanță mai bună.
Scraping Web folosind Python
Procesul de web scraping este utilizat pentru a prelua automat datele de pe site-uri web. Diverse instrumente și biblioteci extrag date din HTML și din alte formate online. Python este printre cele mai utilizate limbaje de programare pentru web scraping datorită ușurinței sale de utilizare, adaptabilității și varietății de biblioteci.
Trebuie să facem câțiva pași pentru a realiza web scraping folosind Python. Mai întâi trebuie să decidem ce site web să răzuim și ce informații să colectăm. Apoi, putem trimite o solicitare pe site și primim conținutul HTML folosind pachetul de solicitări Python. Odată ce avem textul HTML, putem extrage datele necesare folosind o varietate de pachete de analiză, cum ar fi Supa frumoasă și lxml .
Putem folosi mai multe strategii, cum ar fi încetinirea solicitărilor, angajarea agenților utilizatori și utilizarea proxy-urilor, pentru a preveni supraîncărcarea serverului site-ului. De asemenea, este esențial să respectați termenii și condițiile pentru site și să respectați fișierul robots.txt.
Exploatarea datelor, crearea de clienți potențiali, urmărirea prețurilor și multe alte utilizări sunt posibile pentru web scraping. Cu toate acestea, deoarece scrapingul web neautorizat poate fi împotriva legii și lipsit de etică, este esențial să o utilizați profesional și etic.
Procesarea limbajului natural (NLP) folosind Python
O ramură a inteligenței artificiale (IA) numită „prelucrarea limbajului natural” (NLP) studiază modul în care computerele și limbajul uman interacționează. Datorită NLP, computerele pot acum înțelege, interpreta și produce limbajul uman. Datorită simplității, versatilității și bibliotecilor puternice precum NLTK (Natural Language Toolkit) și spaCy, Python este un limbaj de programare bine-cunoscut pentru NLP.
Pentru sarcini NLP, inclusiv tokenizare, stemming, lematizare, etichetare parțială a vorbirii, identificarea entităților numite, analiza sentimentelor și altele, NLTK oferă o bibliotecă completă. Are o varietate de corpuri (colecții mari de texte organizate) pentru dezvoltarea și evaluarea modelelor NLP. O altă bibliotecă foarte apreciată pentru sarcinile NLP este spaCy , care oferă procesarea rapidă și eficientă a unor cantități enorme de text. Permite modificarea și extinderea simplă și vine cu modele pre-antrenate pentru diferite sarcini de lucru NLP.
NLP poate fi folosit în Python pentru diverse scopuri practice, inclusiv chatbot, analiza sentimentelor, clasificarea textului, traducerea automată și multe altele. NLP este folosit, de exemplu, de chatbot pentru a înțelege și a răspunde la întrebările utilizatorilor într-un stil de limbaj natural. Analiza sentimentelor, care poate fi utilă pentru monitorizarea mărcii, analiza feedback-ului clienților și în alte scopuri, folosește NLP pentru a clasifica sentimentul textului (pozitiv, negativ sau neutru). Documentele text sunt clasificate folosind procesarea limbajului natural (NLP) în categorii prestabilite pentru detectarea spam-ului, clasificarea știrilor și alte scopuri.
Python este un instrument puternic și util atunci când se analizează și se prelucrează limbajul uman. Dezvoltatorii pot desfășura diverse activități NLP și pot crea aplicații utile care pot comunica cu consumatorii în limbaj natural cu biblioteci precum NLTK și spaCy.
Concluzie:
În acest tutorial, am analizat unele dintre cele mai importante caracteristici și idei ale Python, inclusiv variabile, tipuri de date, bucle, funcții, module și multe altele. Au fost de asemenea discutate subiecte mai complexe, inclusiv web scraping, procesarea limbajului natural, paralelismul și conexiunea la baze de date. Veți avea o bază solidă pentru a continua să învățați despre Python și aplicațiile sale folosind informațiile pe care le-ați învățat din această lecție.
poate o clasă abstractă să aibă un constructor
Amintiți-vă că practicarea și dezvoltarea codului este cea mai bună metodă de a învăța Python. Puteți găsi multe resurse la javaTpoint pentru a vă sprijini învățarea ulterioară, inclusiv documentație, tutoriale, grupuri online și multe altele. Puteți stăpâni Python și îl puteți folosi pentru a crea lucruri minunate dacă munciți din greu și persistați.
Condiție prealabilă
Înainte de a învăța Python, trebuie să aveți cunoștințele de bază ale conceptelor de programare.
Public
Tutorialul nostru Python este conceput pentru a ajuta începătorii și profesioniștii.
Problemă
Vă asigurăm că nu veți găsi nicio problemă în acest tutorial Python. Dar dacă există vreo greșeală, vă rugăm să postați problema în formularul de contact.
=>5:>