Python yra plačiai naudojama programavimo kalba, kuri siūlo keletą unikalių savybių ir pranašumų, palyginti su tokiomis kalbomis kaip Java ir C++. Mūsų „Python“ mokymo programoje išsamiai paaiškinami „Python“ pagrindai ir išplėstinės sąvokos, pradedant nuo diegimo, sąlyginiai teiginiai , kilpos , įtaisytosios duomenų struktūros , Objektinis programavimas , Generatoriai , Išimčių tvarkymas , Python RegEx ir daugelis kitų sąvokų. Ši pamoka skirta pradedantiesiems ir dirbantiems profesionalams.
Devintojo dešimtmečio pabaigoje Guido van Rossum svajojo sukurti Python. Pirmoji versija Python 0.9.0 buvo išleistas 1991 m . Nuo pat išleidimo Python pradėjo populiarėti. Remiantis ataskaitomis, „Python“ dabar yra populiariausia programavimo kalba tarp kūrėjų, nes jai keliami dideli reikalavimai technologijų srityje.
Kas yra Python
Python yra bendros paskirties, dinamiškai įvedama, aukšto lygio, kompiliuojama ir interpretuojama, iš šiukšlių surinkta ir grynai į objektą orientuota programavimo kalba, palaikanti procedūrinį, objektinį ir funkcinį programavimą.
Python funkcijos:
Python turi daug žiniatinklio turtas , atvirojo kodo projektai , ir gyvybinga bendruomenė . Kūrėjams labai paprasta mokytis kalbos, dirbti kartu su projektais ir prisidėti prie Python ekosistemos.
Dėl savo nesudėtingos kalbos sistemos Python lengviau suprasti ir įrašyti kodą. Dėl to ji yra puiki programavimo kalba pradedantiesiems. Be to, jis padeda patyrusiems programuotojams parašyti aiškų kodą be klaidų.
Python turi daug trečiųjų šalių bibliotekų, kurios gali būti naudojamos palengvinti jo funkcionalumą. Šios bibliotekos apima daugybę sričių, pavyzdžiui, interneto svetainių kūrimą, mokslinį skaičiavimą, duomenų analizę ir kt.
Java prieš Python
Python yra puikus pasirinkimas greito kūrimo ir scenarijų kūrimo užduotims atlikti. Tuo tarpu „Java“ pabrėžia tvirtą tipo sistemą ir objektinį programavimą.
Štai keletas pagrindinių programų, iliustruojančių pagrindinius jų skirtumus.
Spausdiname „Hello World“
Python kodas:
print('Hello World)'
Python programoje tai yra viena kodo eilutė. Norint spausdinti „Hello World“ reikia paprastos sintaksės
Java kodas:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
Java programoje turime deklaruoti klases, metodų struktūras daug kitų dalykų.
Nors abi programos pateikia tą patį išvestį, spausdinimo teiginyje galime pastebėti sintaksės skirtumą.
mvc su java
- „Python“ lengva išmokti ir rašyti kodą. Kai naudojate Java, tam tikroms užduotims atlikti reikia daugiau kodo.
- „Python“ yra dinamiškai įvedamas, o tai reiškia, kad mums nereikia deklaruoti kintamojo, tuo tarpu „Java“ yra statistiškai įvesta, tai reiškia, kad turime deklaruoti kintamojo tipą.
- Python tinka įvairioms sritims, tokioms kaip duomenų mokslas, mašininis mokymasis, žiniatinklio kūrimas ir kt. Tuo tarpu „Java“ tinka žiniatinklio kūrimui, programų mobiliesiems kūrimui („Android“) ir kt.
Python pagrindinė sintaksė
Python programavimo kalboje nenaudojami riestiniai skliaustai ar kabliataškiai. Tai į anglų kalbą panaši kalba. Tačiau „Python“ kodo blokui apibrėžti naudoja įtrauką. Įtrauka yra ne kas kita, kaip tarpo pridėjimas prieš teiginį, kai to reikia.
Pavyzdžiui -
def func(): statement 1 statement 2 ………………… ………………… statement N
Aukščiau pateiktame pavyzdyje teiginiai, esantys to paties lygio dešinėje, priklauso funkcijai. Paprastai, norėdami apibrėžti įtrauką, galime naudoti keturis tarpelius.
Vietoj kabliataškio, naudojamo kitose kalbose, Python baigia savo teiginius NewLine simboliu.
Python yra didžiųjų ir mažųjų raidžių kalba, o tai reiškia, kad didžiosios ir mažosios raidės traktuojamos skirtingai. Pavyzdžiui, „vardas“ ir „vardas“ yra du skirtingi Python kintamieji.
Python programoje komentarus galima pridėti naudojant simbolį #. Bet koks tekstas, parašytas po simbolio „#“, laikomas komentaru ir vertėjas nepaiso. Šis triukas naudingas norint pridėti pastabų prie kodo arba laikinai išjungti kodo bloką. Tai taip pat padeda kai kuriems kitiems kūrėjams geriau suprasti kodą.
'jei' , 'kitaip', 'for' , 'while' , 'try', 'išskyrus' ir 'galiausiai' yra keletas rezervuotų Python raktinių žodžių, kurių negalima naudoti kaip kintamųjų. Šie terminai kalboje vartojami dėl tam tikrų priežasčių ir turi pastovias reikšmes. Jei naudosite šiuos raktinius žodžius, jūsų kode gali būti klaidų arba vertėjas gali juos atmesti kaip galimus naujus kintamuosius.
Python istorija
Python sukūrė Guido van Rossum . Devintojo dešimtmečio pabaigoje olandų programuotojas Guido van Rossum pradėjo dirbti su Python, dirbdamas Nyderlandų centre „Centrum Wiskunde & Informatica“ (CWI). Jis norėjo sukurti įpėdinį ABC programavimo kalba būtų lengva skaityti ir veiksminga.
1991 m. vasario mėn. buvo išleista pirmoji vieša Python versija 0.9.0. Tai pažymėjo oficialų gimimą Python kaip atvirojo kodo projektas . Kalba buvo pavadinta britų komedijos serialo vardu. „Monty Python“ skraidantis cirkas “.
Python kūrimas perėjo kelis etapus. 1994 m. sausio mėn. Python 1.0 buvo išleista kaip tinkama ir stabili programavimo kalba. Šioje versijoje buvo daug funkcijų, kurios vis dar yra Python.
Nuo 1990-ųjų iki 2000-ųjų , Python išpopuliarėjo dėl savo paprastumo, skaitomumo ir universalumo. 2000 m. spalį buvo išleista Python 2.0 versija . Python 2.0 pristatė sąrašų supratimą, šiukšlių surinkimą ir Unicode palaikymą.
2008 m. gruodį buvo išleista Python 3.0 versija. Python 3.0 įdiegė kelis atgal nesuderinamus pakeitimus, kad pagerintų kodo skaitomumą ir priežiūrą.
Per 2010 m. Python populiarumas augo, ypač tokiose srityse kaip mašininis mokymasis ir žiniatinklio kūrimas. Dėl turtingos bibliotekų ir sistemų ekosistemos jis tapo mėgstamiausiu kūrėjų.
The Python Software Foundation (PSF) buvo įkurta 2001 m reklamuoti, apsaugoti ir tobulinti Python programavimo kalbą ir jos bendruomenę.
Kodėl verta mokytis Python?
Python programuotojui suteikia daug naudingų funkcijų. Dėl šių savybių ji yra populiariausia ir plačiausiai naudojama kalba. Žemiau pateikiame keletą pagrindinių Python funkcijų.
- Objektinė kalba : palaiko objektinį programavimą, todėl daugkartinio naudojimo ir modulinio kodo rašymas yra paprastas.
Kur naudojamas Python?
Python yra bendros paskirties, populiari programavimo kalba, naudojama beveik visose technikos srityse. Toliau pateikiamos įvairios Python naudojimo sritys.
- Dirbtinis intelektas : AI yra nauja technologija, o Python yra puiki kalba dirbtiniam intelektui ir mašininiam mokymuisi, nes yra galingų bibliotekų, tokių kaip TensorFlow, Keras ir PyTorch.
- DevOps : „Python“ plačiai naudojamas „DevOps“ infrastruktūros valdymo, konfigūracijos valdymo ir diegimo procesų automatizavimui ir scenarijų sudarymui.
- Prašymai : HTTP užklausų biblioteka
- SQLAlchemija : biblioteka, skirta darbui su SQL duomenų bazėmis
- Beviltiška : kelių jutiklių programų kūrimo sistema
- Pygame : žaidimų kūrimo biblioteka
- REST karkasas : RESTful API kūrimo įrankių rinkinys
- FastAPI : moderni, greita žiniatinklio sistema, skirta kurti API
- Srautas : biblioteka, skirta kurti interaktyvias žiniatinklio programas mašininiam mokymuisi ir duomenų mokslui
- NLTK : natūralios kalbos apdorojimo biblioteka
„Python“ turi platų bibliotekų ir struktūrų spektrą, plačiai naudojamų įvairiose srityse, tokiose kaip mašininis mokymasis, dirbtinis intelektas, žiniatinklio programos ir kt. Kai kurias populiarias Python sistemas ir bibliotekas apibūdiname taip.
Python print() funkcija
Python print() funkcija naudojama rodyti išvestį į konsolę arba terminalą. Tai leidžia mums rodyti tekstą, kintamuosius ir kitus duomenis žmogui suprantamu formatu.
Sintaksė:
spausdinti (objektas (-ai), sep = separatorius, pabaiga = pabaiga, failas = failas, praplaukite = praplaukite)
Reikia vieno ar daugiau argumentų, atskirtų kableliu (,) ir pagal numatytuosius nustatymus pabaigoje prideda „naują eilutę“.
Parametrai:
- objektas (-ai) – tiek, kiek norite rodyti duomenų, pirmiausia konvertuojami į eilutę ir atspausdinami į konsolę.
- sep – atskiria objektus perduotu skyrikliu, numatytoji reikšmė = ' '.
- pabaiga – baigia eilutę naujos eilutės simboliu
- failas – failo objektas su rašymo metodu, numatytoji reikšmė = sys.stdout
Pavyzdys:
# 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))
Išvestis:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
Šiame pavyzdyje spausdinimo teiginys naudojamas spausdinti eilutę, sveikąjį skaičių ir plaukiojančias reikšmes žmogui suprantamu formatu.
Spausdinimo pareiškimas gali būti naudojamas derinant, registruojant ir teikiant informaciją vartotojui.
Python sąlyginiai teiginiai
Sąlyginiai teiginiai padeda mums atlikti tam tikrą bloką tam tikrai sąlygai. Šioje pamokoje sužinosime, kaip naudoti sąlyginę išraišką, norint vykdyti skirtingą teiginių bloką. „Python“ pateikia „if ir else“ raktinius žodžius loginėms sąlygoms nustatyti. The Elif raktinis žodis taip pat naudojamas kaip sąlyginis teiginys.
Jei..else teiginio kodo pavyzdys
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Išvestis:
x is greater than y
Aukščiau pateiktame kode turime du kintamuosius, x ir y, atitinkamai su 10 ir 5. Tada naudojome if..else teiginį, kad patikrintume, ar x yra didesnis už y, ar atvirkščiai. Jei pirmoji sąlyga yra teisinga, išspausdinamas teiginys „x yra didesnis nei y“. Jei pirmoji sąlyga klaidinga, vietoj jos spausdinamas teiginys „y yra didesnis arba lygus x“.
Jei raktinis žodis patikrina, ar sąlyga yra teisinga, ir vykdo joje esantį kodo bloką. Kodas kito bloko viduje vykdomas, jei sąlyga klaidinga. Tokiu būdu if..else sakinys padeda mums vykdyti skirtingus kodo blokus pagal sąlygą.
Išsamiau apie tai sužinosime kitame Python mokymo programos straipsnyje.
Python kilpos
Kartais mums gali tekti pakeisti programos eigą. Tam tikro kodo vykdymą gali tekti pakartoti keletą kartų. Šiuo tikslu programavimo kalbos pateikia įvairias kilpas, galinčias kelis kartus pakartoti tam tikrą kodą. Norėdami išsamiai suprasti teiginius, apsvarstykite toliau pateiktą mokymo programą.
Python For Loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Išvestis:
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:>
Aukščiau pateiktame pavyzdiniame kode pademonstravome, kad „Python“ naudojate dviejų tipų kilpas – „For loop“ ir „ While loop“.
Ciklas For naudojamas elementų sekai, pvz., sąrašui, eilutei ar eilutei, kartoti. Pavyzdyje apibrėžėme vaisių sąrašą ir kiekvienam vaisiui spausdinti naudojome for kilpą, tačiau ją taip pat galima naudoti skaičių diapazonui spausdinti.
Ciklas Nors pakartoja kodo bloką, jei nurodyta sąlyga yra teisinga. Pavyzdyje inicijavome kintamąjį i į 1 ir panaudojome ciklą i reikšmei spausdinti, kol ji tampa didesnė arba lygi 6. Teiginys i += 1 naudojamas i reikšmei padidinti kiekvienoje iteracijoje. .
Išsamiai apie juos sužinosime pamokoje.
Python duomenų struktūros
Python siūlo keturias integruotas duomenų struktūras: sąrašus , korteles , rinkiniai , ir žodynai kurios leidžia efektyviai saugoti duomenis. Toliau pateikiamos dažniausiai Python naudojamos duomenų struktūros kartu su pavyzdiniu kodu:
1. Sąrašai
- Sąrašai yra užsakytų kolekcijų skirtingų duomenų tipų duomenų elementų.
- Sąrašai yra kintamas tai reiškia, kad sąrašą galima bet kada keisti.
- Elementai gali būti pasiekiama naudojant indeksus .
- Jie apibrėžiami naudojant laužtinius skliaustus [] “.
Pavyzdys:
# 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)
Išvestis:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Kortelės
- Tupelės taip pat yra užsakytų kolekcijų skirtingų duomenų tipų duomenų elementų, panašių į sąrašus.
- Elementai gali būti pasiekiama naudojant indeksus .
- Tupelės yra nekintamas tai reiškia, kad sukūrus kortelius negalima keisti.
- Jie apibrėžiami naudojant atvirą skliaustelį () “.
Pavyzdys:
# 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_)
Išvestis:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Rinkiniai
- Rinkiniai yra netvarkingas skirtingų duomenų tipų nekintamų duomenų elementų rinkiniai.
- Rinkiniai yra kintamas .
- Elementų negalima pasiekti naudojant indeksus.
- Rinkiniai neturi pasikartojančių elementų .
- Jie apibrėžiami naudojant garbanotas petnešas. {} '
Pavyzdys:
# 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)
Išvestis:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Žodynai
- Žodynas yra rakto-reikšmių poros kurios leidžia susieti reikšmes su unikaliais raktais.
- Jie apibrėžiami naudojant garbanotas petnešas. {} “ su raktų ir reikšmių poromis atskirti dvitaškiais ':' .
- Žodynai yra kintamas .
- Elementus galima pasiekti naudojant raktus.
Pavyzdys:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Išvestis:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Tai tik keli Python integruotų duomenų struktūrų pavyzdžiai. Kiekviena duomenų struktūra turi savo ypatybes ir naudojimo atvejus.
Python funkcinis programavimas
Šioje Python mokymo programos dalyje apibrėžiami kai kurie svarbūs įrankiai, susiję su funkciniu programavimu, pvz., lambda ir rekursinės funkcijos. Šios funkcijos yra labai efektyvios atliekant sudėtingas užduotis. Apibrėžiame keletą svarbių funkcijų, tokių kaip sumažinimas, žemėlapis ir filtravimas. Python suteikia functools modulį, kuriame yra įvairių funkcinių programavimo įrankių. Norėdami sužinoti daugiau apie funkcinį programavimą, apsilankykite šioje pamokoje.
Naujausiose Python versijose įdiegtos funkcijos, dėl kurių funkcinis programavimas tampa glaustesnis ir išraiškingesnis. Pavyzdžiui, 'walrus operator':= leidžia raiškose priskirti eilutinį kintamąjį, o tai gali būti naudinga dirbant su įdėtųjų funkcijų iškvietimais arba sąrašų supratimu.
konvertuoti char į java eilutę
Python funkcija
- Lambda funkcija - Lambda funkcija yra maža, anoniminė funkcija kuris gali turėti bet kokį argumentų skaičių, bet gali turėti tik vieną išraišką. Lambda funkcijos dažnai naudojamos funkciniame programavime, siekiant sukurti funkcijas „skraidydamas“, neapibrėžiant įvardintos funkcijos.
- Rekursinė funkcija - Rekursyvinė funkcija yra funkcija, kuri pati išsikviečia problemą, kad išspręstų problemą. Rekursinės funkcijos dažnai naudojamos funkciniame programavime, norint atlikti sudėtingus skaičiavimus arba pereiti sudėtingas duomenų struktūras.
- Žemėlapio funkcija - Funkcija map() pritaiko nurodytą funkciją kiekvienam iteruojamo elemento elementui ir pateikia naują iteraciją su rezultatais. Įvesties kartojimas gali būti sąrašas, eilutė ar kita.
- Filtro funkcija - Funkcija filtras() grąžina iteratorių iš kartotuvo, kurio funkcija buvo perduota kaip pirmasis argumentas, grąžina True. Jis išfiltruoja elementus, kurie neatitinka nurodytos sąlygos.
- Sumažinti funkciją - Funkcija reduktorius () taiko dviejų argumentų funkciją kartu iteracijos elementams iš kairės į dešinę, kad sumažintų ją iki vienos reikšmės.
- Functools modulis - Functools modulis Python teikia aukštesnės eilės funkcijas, kurios veikia su kitomis funkcijomis, pvz., partial () ir reduction ().
- Kariavimo funkcija - „Currying“ funkcija yra funkcija, kuri paima kelis argumentus ir grąžina funkcijų, kurių kiekviena turi vieną argumentą, seką.
- Atmintinės funkcija - Atmintinė yra funkcinio programavimo metodas, naudojamas brangių funkcijų iškvietimų rezultatams išsaugoti talpykloje ir grąžinti talpykloje išsaugotą rezultatą, kai vėl kartojasi tie patys įėjimai.
- Sriegimo funkcija - Sriegimas yra funkcinio programavimo metodas, naudojamas kelioms užduotims atlikti vienu metu, kad kodas būtų efektyvesnis ir greitesnis.
Python moduliai
Python moduliai yra programos failai, kuriuose yra Python kodas arba funkcijos. Python turi dviejų tipų modulius – vartotojo apibrėžtus modulius ir įmontuotus modulius. Modulis, kurį apibrėžia vartotojas, arba mūsų Python kodas, išsaugotas su plėtiniu .py, laikomas vartotojo apibrėžtu moduliu.
Integruoti moduliai yra iš anksto nustatyti Python moduliai. Norėdami naudotis modulių funkcijomis, turime juos importuoti į dabartinę darbo programą.
Python moduliai yra būtini kalbos ekosistemai, nes jie siūlo daugkartinį kodą ir funkcijas, kurias galima importuoti į bet kurią Python programą. Štai keletas kelių Python modulių pavyzdžių ir trumpas kiekvieno iš jų aprašymas:
Matematika : suteikia vartotojams prieigą prie matematinių konstantų ir pi bei trigonometrinių funkcijų.
Data ir laikas : pateikia pamokas, skirtas paprastesniam būdui valdyti datas, laiką ir laikotarpius.
TU : Įgalina sąveiką su bazine operacine sistema, įskaitant procesų ir failų sistemos veiklos administravimą.
atsitiktinis : Atsitiktinė funkcija siūlo įrankius atsitiktiniams sveikiesiems skaičiams generuoti ir atsitiktiniams elementams iš sąrašo pasirinkti.
JSON : JSON yra duomenų struktūra, kurią galima užkoduoti ir dekoduoti ir kuri dažnai naudojama internetinėse API ir duomenų mainams. Šis modulis leidžia dirbti su JSON.
Re : palaiko reguliariąsias išraiškas, galingą teksto paieškos ir teksto manipuliavimo įrankį.
Kolekcijos : Teikia alternatyvias duomenų struktūras, pvz., surūšiuotus žodynus, numatytuosius žodynus ir pavadintas eilutes.
NumPy : NumPy yra pagrindinis mokslinio skaičiavimo įrankių rinkinys, kuris palaiko skaitmenines operacijas su masyvais ir matricomis.
Pandos : Tai teikia aukšto lygio duomenų struktūras ir operacijas, skirtas tvarkyti laiko eilutes ir kitus struktūrizuotus duomenų tipus.
Prašymai : siūlo paprastą vartotojo sąsają žiniatinklio API ir atlieka HTTP užklausas.
Python failo I/O
Failai naudojami duomenims saugoti kompiuterio diske. Šioje pamokoje paaiškiname įtaisytąjį Python failo objektą. Galime atidaryti failą naudodami Python scenarijų ir atlikti įvairias operacijas, tokias kaip rašymas, skaitymas ir pridėjimas. Failą galima atidaryti įvairiais būdais. Mums paaiškinama atitinkamu pavyzdžiu. Taip pat išmoksime atlikti skaitymo/rašymo operacijas dvejetainiuose failuose.
Python failų įvesties/išvesties (I/O) sistema siūlo programas bendrauti su failais, saugomais diske. Python integruoti failo objekto metodai leidžia atlikti tokius veiksmus kaip skaitymas, rašymas ir duomenų įtraukimas į failus.
The atviras() metodas Python sukuria failo objektą dirbdamas su failais. Failo, kurį reikia atidaryti, pavadinimas ir režimas, kuriuo failas turi būti atidarytas, yra du parametrai, kurių reikia šiai funkcijai. Režimas gali būti naudojamas pagal darbą, kurį reikia atlikti su failu, pvz. r 'skaitymui' Į 'rašyti, arba' a ' už pritvirtinimą.
Sėkmingai sukūrus objektą, pagal mūsų darbą galima naudoti skirtingus metodus. Jei norime įrašyti faile, galime naudoti rašymo() funkcijas, o jei norite skaityti ir rašyti abu, tuomet galime naudoti funkciją append() ir tais atvejais, kai norime tik perskaityti failo turinį. failą, kurį galime naudoti funkciją read(). Su dvejetainiais failais, kuriuose yra duomenų dvejetainiu, o ne teksto formatu, taip pat galima dirbti naudojant Python. Dvejetainiai failai yra parašyti tokiu būdu, kurio žmonės negali tiesiogiai suprasti. The rb ir wb režimai gali skaityti ir įrašyti dvejetainius duomenis dvejetainiuose failuose.
Python išimtys
Išimtis gali būti apibrėžta kaip neįprasta programos sąlyga, dėl kurios nutrūksta programos eiga.
Kai įvyksta išimtis, programa sustabdo vykdymą, todėl kitas kodas nevykdomas. Todėl išimtis yra vykdymo klaidos, kurių negalima apdoroti Python scenarijuje. Išimtis yra Python objektas, kuris reiškia klaidą.
Python išimtys yra svarbus Python programavimo klaidų valdymo aspektas. Kai programa susiduria su netikėta situacija ar klaida, ji gali sukelti išimtį, kuri gali nutraukti įprastą programos eigą.
Python išimtys vaizduojamos kaip objektai, kuriuose yra informacijos apie klaidą, įskaitant jos tipą ir pranešimą. Dažniausias „Python“ išimties tipas yra „Exception“ klasė, pagrindinė visų kitų integruotų išimčių klasė.
Norėdami tvarkyti išimtis Python, naudojame bandyti ir išskyrus pareiškimus. The bandyti Teiginys naudojamas kodui, kuris gali sukelti išimtį, įtraukti, o išskyrus Teiginys naudojamas apibrėžti kodo bloką, kuris turėtų būti vykdomas, kai įvyksta išimtis.
Pavyzdžiui, apsvarstykite šį kodą:
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')
Išvestis:
Enter a number: 0 Error: Division by zero
Šiame kode mes naudojame try sakinį bandydami atlikti padalijimo operaciją. Jei kuri nors iš šių operacijų sukelia išimtį, vykdomas suderinimo išskyrus blokas.
Python taip pat suteikia daug integruotų išimčių, kurios gali būti iškeltos panašiose situacijose. Kai kurios įprastos integruotos išimtys Index Error, Type Error , ir Vardo klaida . Be to, mes galime apibrėžti savo pasirinktines išimtis, sukurdami naują klasę, kuri paveldės iš išimties klasės.
Python CSV
CSV reiškia „kableliais atskirtos reikšmės“, kuris apibrėžiamas kaip paprastas failo formatas, kuris naudoja specifinę struktūrizaciją lentelės duomenims tvarkyti. Jis saugo lentelių duomenis, tokius kaip skaičiuoklės ar duomenų bazės, paprastu tekstu ir turi bendrą duomenų mainų formatą. CSV failas atidaromas „Excel“ lape, o eilučių ir stulpelių duomenys apibrėžia standartinį formatą.
CSV failo skaitymui galime naudoti funkciją CSV.reader. Ši funkcija grąžina skaitytuvo objektą, kurį galime naudoti norėdami pakartoti CSV failo eilutes. Kiekviena eilutė grąžinama kaip reikšmių sąrašas, kur kiekviena reikšmė atitinka stulpelį CSV faile.
Pavyzdžiui, apsvarstykite šį kodą:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Čia atidarome failą data.csv skaitymo režimu ir sukuriame a csv.reader objektas naudojant csv.reader() funkcija. Tada pakartojame CSV failo eilutes naudodami for kilpą ir kiekvieną eilutę spausdiname konsolėje.
Mes galime naudoti CSV.writer() funkcija įrašyti duomenis į CSV failą. Jis grąžina rašymo objektą, kurį galime naudoti eilėms į CSV failą įrašyti. Eilutes galime rašyti paskambinę rašytojas () metodas rašytojo objekte.
Pavyzdžiui, apsvarstykite šį kodą:
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)
Šioje programoje sukuriame sąrašų, vadinamų duomenimis, sąrašą, kur kiekvienas vidinis sąrašas reiškia duomenų eilutę. Tada atidarome failą data.csv rašymo režimu ir sukuriame a CSV.rašytojas objektą naudojant CSV.writer funkciją. Tada kartojame duomenų eilutes naudodami for kilpą ir kiekvieną eilutę įrašome į CSV failą naudodami rašytojo metodą.
Python pašto siuntimas
Mes galime siųsti arba skaityti laišką naudodami Python scenarijų. Standartiniai Python bibliotekos moduliai yra naudingi tvarkant įvairius protokolus, tokius kaip PoP3 ir IMAP. Python suteikia smtplib elektroninių laiškų siuntimo naudojant SMTP (Simple Mail Transfer Protocol) modulį. Išmoksime siųsti laiškus su populiaria el. pašto paslauga SMTP iš Python scenarijaus.
Python magijos metodai
Python magijos metodas yra specialus metodas, kuris prideda „stebuklingumą“ prie klasės. Jis prasideda ir baigiasi dvigubais pabraukimais, pavyzdžiui, _karšta_ arba _str_ .
Integruotose klasėse apibrėžiama daug magiškų metodų. The tu() funkcija gali būti naudojama norint pamatyti magiškų metodų, kuriuos paveldėjo klasė, skaičių. Metodo pavadinime yra du priešdėliai ir priesagos apatiniai brūkšniai.
- Python magijos metodai taip pat žinomi kaip dunder metodai , „dvigubo pabraukimo“ metodų trumpinys, nes jų pavadinimai prasideda ir baigiasi dvigubu pabraukimu.
- Magiški metodai yra automatiškai iškviečiami Python interpretatoriaus tam tikrose situacijose, pavyzdžiui, kai objektas sukuriamas, lyginamas su kitu objektu arba spausdinamas.
- Magiški metodai gali būti naudojami klasių elgsenai pritaikyti, pvz., nustatyti, kaip objektai lyginami, konvertuojami į eilutes arba pasiekiami kaip konteineriai.
- Kai kurie dažniausiai naudojami magijos metodai apima karštis objekto inicijavimui, str - objekto konvertavimui į eilutę, ekv dviejų objektų palyginimui lygybei ir nustatytas laikas ir setitemas prieigai prie konteinerio objekto elementų.
Pavyzdžiui, g magic metodas gali apibrėžti, kaip objektas turi būti vaizduojamas kaip eilutė. Štai pavyzdys
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)
Išvestis:
Vikas (22)
Šiame pavyzdyje metodas str yra apibrėžtas norint grąžinti suformatuotą asmens objekto eilutės atvaizdavimą su asmens vardu ir amžiumi.
Kitas dažniausiai naudojamas magijos metodas yra ekv , kuris apibrėžia, kaip objektai turi būti lyginami siekiant lygybės. Štai pavyzdys:
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)
Išvestis:
False True
Šiame pavyzdyje ekv metodas apibrėžiamas taip, kad grąžintų True, jei du taškiniai objektai turi tas pačias x ir y koordinates, o kitu atveju – False.
Python Oops sąvokos
Viskas Python yra traktuojama kaip objektas, įskaitant sveikųjų skaičių reikšmes, plūdes, funkcijas, klases ir jokių. Be to, Python palaiko visas orientuotas koncepcijas. Žemiau pateikiamas trumpas Python Oops sąvokų įvadas.
- Klasės ir objektai - Python klasės yra objekto brėžiniai. Objektas yra duomenų ir metodų, veikiančių duomenis, rinkinys.
- Paveldėjimas - Paveldėjimas yra metodas, kai viena klasė paveldi kitų klasių savybes.
- Konstruktorius - Python suteikia specialų metodą __init__(), kuris yra žinomas kaip konstruktorius. Šis metodas automatiškai iškviečiamas, kai objektas sukuriamas.
- Polimorfizmas - Polimorfizmas yra sąvoka, kai objektas gali būti įvairių formų. „Python“ programoje polimorfizmą galima pasiekti perkraunant metodą ir nepaisant metodo.
- Metodo nepaisymas - Metodo nepaisymas yra sąvoka, kai poklasis įgyvendina metodą, jau apibrėžtą savo superklasėje.
- Inkapsuliavimas - Inkapsuliavimas yra duomenų ir metodų sujungimas į vieną vienetą. Python programoje inkapsuliavimas pasiekiamas naudojant prieigos modifikatorius, tokius kaip viešasis, privatus ir apsaugotas. Tačiau „Python“ griežtai netaiko prieigos modifikatorių, o pavadinimų suteikimo taisyklė nurodo prieigos lygį.
- Duomenų abstrakcija : metodas, skirtas paslėpti duomenų sudėtingumą ir parodyti vartotojui tik esmines funkcijas. Tai suteikia sąsają sąveikai su duomenimis. Duomenų abstrakcija sumažina sudėtingumą ir daro kodą labiau modulinį, todėl kūrėjai gali sutelkti dėmesį į pagrindines programos funkcijas.
Jei norite išsamiai perskaityti „Oops“ koncepciją, apsilankykite toliau pateiktuose šaltiniuose.
- „Python Oops“ sąvokos – „Python“ į objektą orientuota paradigma yra kurti programą naudojant klases ir objektus. Objektas yra susijęs su tikrojo žodžio esybėmis, tokiomis kaip knyga, namas, pieštukas ir kt., o klasė apibrėžia jo savybes ir elgesį.
- Python objektai ir klasės - Python sistemoje objektai yra klasių egzemplioriai, o klasės yra brėžiniai, apibrėžiantys duomenų struktūrą ir elgesį.
- Python konstruktorius - Konstruktorius yra specialus metodas klasėje, kuris naudojamas objekto atributams inicijuoti, kai objektas yra kuriamas.
- Python paveldėjimas - Paveldėjimas yra mechanizmas, kai nauja klasė (poklasis arba antrinė klasė) paveldi esamos klasės (super klasės arba pirminės klasės) savybes ir elgesį.
- Python polimorfizmas – polimorfizmas leidžia skirtingų klasių objektus traktuoti kaip bendros superklasės objektus, leidžiančias skirtingas klases naudoti pakaitomis per bendrą sąsają.
„Python Advance“ temos
Python apima daug pažangų ir naudingų koncepcijų, kurios padeda programuotojui išspręsti sudėtingas užduotis. Šios sąvokos pateikiamos žemiau.
Python Iteratorius
Iteratorius yra tiesiog objektas, kurį galima kartoti. Jis grąžina vieną objektą vienu metu. Jį galima įgyvendinti naudojant du specialius metodus, __iter__() ir __kitas__().
„Python“ iteratoriai yra objektai, leidžiantys kartoti duomenų rinkinį. Jie apdoroja kiekvieną kolekcijos elementą atskirai, neįkeldami visos kolekcijos į atmintį.
Pavyzdžiui, sukurkime iteratorių, kuris grąžina skaičių kvadratus iki nurodytos ribos:
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></=>
Šiame pavyzdyje sukūrėme klasę Squares, kuri veikia kaip iteratorius, įgyvendinant __iter__() ir __next__() metodus. Metodas __iter__() grąžina patį objektą, o metodas __next__() grąžina kitą skaičiaus kvadratą, kol pasiekiama riba.
Norėdami sužinoti daugiau apie iteratorius, apsilankykite mūsų Python Iterators mokymo programoje.
Python generatoriai
Python generatoriai sukurti reikšmių seką naudojant derlingumo pareiškimą o ne grąža, nes tai funkcijos, grąžinančios iteratorius. Generatoriai nutraukia funkcijos vykdymą, išlaikydami vietinę būseną. Paleidus iš naujo, jis tęsiamas ten, kur baigė. Kadangi šios funkcijos dėka mums nereikia diegti iteratoriaus protokolo, iteratorių rašymas yra paprastesnis. Čia yra paprastos generatoriaus funkcijos, kuri sukuria skaičių kvadratus, iliustracija:
# 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)
Išvestis:
0 1 4 9 16
Python modifikatoriai
Python dekoratoriai yra funkcijos, naudojamos kitos funkcijos veikimui modifikuoti. Jie leidžia pridėti funkcijų prie esamos funkcijos, tiesiogiai nekeičiant jos kodo. Dekoratoriai apibrėžiami naudojant @ simbolis, po kurio nurodomas dekoratoriaus funkcijos pavadinimas. Jie gali būti naudojami registravimui, laiko nustatymui, talpyklos kaupimui ir kt.
Štai dekoratoriaus funkcijos, kuri prideda laiko nustatymo funkciją prie kitos funkcijos, pavyzdys:
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)
Išvestis:
Aukščiau pateiktame pavyzdyje funkcija time_it dekoratorius naudoja kitą funkciją kaip argumentą ir grąžina įvyniojimo funkciją. Įvyniojimo funkcija apskaičiuoja pradinės funkcijos vykdymo laiką ir išspausdina ją į konsolę. @time_it dekoratorius naudojamas funkcijai time_it pritaikyti funkcijai my_function. Kai iškviečiama my_function, paleidžiamas dekoratorius ir pridedama laiko nustatymo funkcija.
Python MySQL
Python MySQL yra galinga reliacinė duomenų bazių valdymo sistema. Turime nustatyti aplinką ir užmegzti ryšį, kad galėtume naudoti MySQL su Python. Mes galime sukurti naują duomenų bazę ir lenteles naudodami SQL komandas Python.
- Aplinkos sąranka : „MySQL Connector“ / „Python“ diegimas ir konfigūravimas, kad būtų galima naudoti „Python“ su „MySQL“.
- Duomenų bazės ryšys : Ryšio tarp Python ir MySQL duomenų bazės užmezgimas naudojant MySQL Connector/Python.
- Naujos duomenų bazės kūrimas : Naujos duomenų bazės kūrimas MySQL naudojant Python.
- Lentelių kūrimas : Lentelių kūrimas MySQL duomenų bazėje su Python naudojant SQL komandas.
- Įterpimo operacija : įterpkite duomenis į MySQL lenteles naudodami Python ir SQL komandas.
- Skaityti Operacija : duomenų nuskaitymas iš MySQL lentelių naudojant Python ir SQL komandas.
- Atnaujinimo operacija : duomenų atnaujinimas MySQL lentelėse naudojant Python ir SQL komandas.
- Prisijunkite prie operacijos : dviejų ar daugiau lentelių sujungimas MySQL naudojant Python ir SQL komandas.
- Operacijų vykdymas : SQL užklausų grupės atlikimas kaip vienas darbo vienetas MySQL naudojant Python.
Kiti santykiniai punktai apima klaidų tvarkymą, indeksų kūrimą ir saugomų procedūrų bei funkcijų naudojimą MySQL su Python.
Python MongoDB
Python MongoDB yra populiari NoSQL duomenų bazė, kuri saugo duomenis į JSON panašiuose dokumentuose. Jis yra be schemos ir užtikrina didelį duomenų saugojimo mastelį bei lankstumą. „MongoDB“ galime naudoti su „Python“ naudodami „PyMongo“ biblioteką, kuri suteikia paprastą ir intuityvią sąsają sąveikai su „MongoDB“.
Štai keletas bendrų užduočių dirbant su MongoDB Python:
- Aplinkos sąranka : Įdiekite ir sukonfigūruokite MongoDB ir PyMongo biblioteką savo sistemoje.
- Duomenų bazės ryšys : Prisijunkite prie MongoDB serverio naudodami MongoClient klasę iš PyMongo.
- Naujos duomenų bazės kūrimas : naudokite MongoClient objektą, kad sukurtumėte naują duomenų bazę.
- Kurti kolekcijas : kurkite rinkinius duomenų bazėje dokumentams saugoti.
- Dokumentų įterpimas : į kolekciją įterpkite naujus dokumentus naudodami metodus insert_one() arba insert_many().
- Dokumentų užklausa : gaukite dokumentus iš kolekcijos naudodami įvairius užklausos metodus, pvz., find_one(), find() ir kt.
- Dokumentų atnaujinimas : modifikuokite esamus kolekcijos dokumentus naudodami update_one() arba update_many() metodus.
- Dokumentų ištrynimas : pašalinkite dokumentus iš kolekcijos naudodami delete_one() arba delete_many() metodus.
- Agregacija : atlikite agregavimo operacijas, pvz., grupavimą, skaičiavimą ir t. t., naudodami agregavimo konvejerio sistemą.
„MongoDB“ yra daug sudėtingesnių temų, tokių kaip duomenų dalijimasis, replikavimas ir kt., tačiau šios užduotys apima darbo su MongoDB „Python“ pagrindus.
Python SQLite
Reliacinės duomenų bazės kuriamos ir prižiūrimos naudojant Python SQLite, kompaktišką, be serverio, savarankišką duomenų bazių variklį. Dėl savo mobilumo ir paprastumo jis yra populiarus pasirinkimas vietinėms ar nedidelėms programoms. Python turi integruotą prisijungimo prie SQLite duomenų bazių modulį, vadinamą SQLite3, leidžiantį kūrėjams be sunkumų dirbti su SQLite duomenų bazėmis.
SQLite3 bibliotekoje yra įvairių API metodų, kurie gali būti naudojami SQL užklausoms vykdyti, duomenims įterpti, pasirinkti, atnaujinti ir pašalinti, taip pat duomenims iš lentelių gauti. Be to, tai leidžia atlikti operacijas, leidžiančias programuotojams anuliuoti pakeitimus iškilus problemai. Python SQLite yra puiki galimybė kurti programas, kurioms reikia įterptosios duomenų bazių sistemos, įskaitant darbalaukio, mobiliojo ir nedidelio dydžio žiniatinklio programas. SQLite išpopuliarėjo tarp lengvųjų programėlių su duomenų bazės funkcijomis kūrėjų dėl paprasto naudojimo, perkeliamumo ir sklandaus ryšio su Python.
Python CGI
Python CGI yra technologija, skirta paleisti scenarijus per žiniatinklio serverius, kad būtų sukurtas dinaminis internetinis turinys. Jis siūlo ryšio kanalą ir dinaminę turinio generavimo sąsają išoriniams CGI scenarijus ir žiniatinklio serverį. Python CGI scenarijai gali kurti HTML tinklalapius, tvarkyti formos įvestį ir bendrauti su duomenų bazėmis. Python CGI leidžia serveriui vykdyti Python scenarijus ir teikti rezultatus klientui, siūlant greitą ir efektyvų būdą kurti dinamines internetines programas.
Python CGI scenarijai gali būti naudojami daugeliui dalykų, įskaitant dinaminių tinklalapių kūrimą, formų apdorojimą ir sąveiką su duomenų bazėmis. Kadangi Python, galinga ir populiari programavimo kalba, gali būti naudojama kuriant scenarijus, ji įgalina labiau pritaikytą ir lankstesnį požiūrį į žiniatinklio kūrimą. Naudojant Python CGI galima sukurti keičiamo dydžio, saugias ir prižiūrimas internetines programas. Python CGI yra patogus įrankis žiniatinklio kūrėjams, kuriantiems dinamines ir interaktyvias internetines programas.
Asinchroninis programavimas Python
Asinchroninis programavimas yra kompiuterinio programavimo paradigma, leidžianti savarankiškai ir vienu metu vykdyti veiklą. Jis dažnai naudojamas tokiose programose kaip žiniatinklio serveriai, duomenų bazių programinė įranga ir tinklo programavimas, kai vienu metu turi būti tvarkomos kelios užduotys arba užklausos.
„Python“ turi „asyncio“, „Twisted“ ir „Tornado“ bibliotekas ir asinchroninio programavimo sistemas. Asyncio, vienas iš jų, siūlo paprastą asinchroninio programavimo sąsają ir yra oficiali Python asinchroninio programavimo biblioteka.
Korutinos yra funkcijos, kurios gali būti sustabdytos ir paleidžiamos iš naujo tam tikrose kodo vietose ir yra naudojamos asyncio. Tai leidžia vienu metu veikti daugybei programų, netrukdant viena kitai. Korutinos kūrimui ir priežiūrai biblioteka siūlo keletą klasių ir metodų, įskaitant asyncio.gather(), asyncio.wait(), ir asyncio.create_task().
Įvykių kilpos, atsakingos už korutų planavimą ir valdymą, yra dar viena asinchronizavimo funkcija. Pereidama tarp korutinos neblokuojančiu būdu, įvykio kilpa kontroliuoja korutinos vykdymą ir užtikrina, kad jokia korutina neužblokuotų kitos. Be to, jis palaiko laikmačius ir atgalinių skambučių planavimą, o tai gali būti naudinga, kai veikla turi būti atliekama nurodytu laiku ar intervalais.
Python lygiagretumas
Terminas ' sutapimas “ apibūdina programos gebėjimą vienu metu atlikti kelias užduotis, didinant programos efektyvumą. „Python“ siūlo keletą modulių ir su lygiagretumu susijusių metodų, įskaitant asinchroninį programavimą, kelių apdorojimą ir kelių gijų kūrimą. Daugiasluoksnis apdorojimas apima daugelio procesų paleidimą sistemoje vienu metu, o kelių gijų naudojimas apima daugelio gijų paleidimą vienu metu viename procese.
The sriegimo modulis „Python“ programuotojams suteikia galimybę kurti daugiagiją. Jame siūlomos klasės ir operacijos, skirtos gijų nustatymui ir valdymui. Ir atvirkščiai, kelių apdorojimo modulis leidžia kūrėjams kurti ir valdyti procesus. Python asyncio modulis teikia asinchroninio programavimo palaikymą, leidžiantį kūrėjams rašyti neblokuojantį kodą, kuris vienu metu gali atlikti kelias užduotis. Naudodami šiuos metodus, kūrėjai gali rašyti didelio našumo, keičiamo dydžio programas, kurios vienu metu gali atlikti kelias užduotis.
Python gijų modulis leidžia vienu metu vykdyti kelias gijas viename procese, o tai naudinga atliekant įvesties / išvesties veiklą.
Daug procesoriaus reikalaujančioms operacijoms, tokioms kaip vaizdo apdorojimas ar duomenų analizė, kelių apdorojimo moduliai leidžia vienu metu vykdyti daugybę procesų keliuose procesoriaus branduoliuose.
Asinchroninis modulis palaiko asinchroninį įvestį / išvestį ir leidžia sukurti vienos gijos lygiagretų kodą, naudojant korutinas, skirtas didelio lygiagrečio tinklo programoms.
Su tokiomis bibliotekomis kaip Dask, PySpark , ir MPI, Python taip pat gali būti naudojami lygiagrečiam skaičiavimui. Šios bibliotekos leidžia paskirstyti darbo krūvius daugeliui mazgų ar grupių, kad būtų geresnis našumas.
Žiniatinklio iškarpymas naudojant Python
Žiniatinklio nuskaitymo procesas naudojamas duomenims iš svetainių automatiškai gauti. Įvairūs įrankiai ir bibliotekos ištraukia duomenis iš HTML ir kitų internetinių formatų. „Python“ yra viena iš plačiausiai naudojamų programavimo kalbų žiniatinklio rinkimui dėl jos naudojimo paprastumo, pritaikomumo ir bibliotekų įvairovės.
Turime atlikti kelis veiksmus, kad atliktume žiniatinklio grandymą naudodami Python. Pirmiausia turime nuspręsti, kurią svetainę iškrapštyti ir kokią informaciją rinkti. Tada galime pateikti užklausą svetainei ir gauti HTML turinį naudodami Python užklausų paketą. Kai turėsime HTML tekstą, galime išgauti reikiamus duomenis naudodami įvairius analizavimo paketus, pvz Graži sriuba ir lxml .
Galime naudoti kelias strategijas, pvz., sulėtinti užklausas, naudoti vartotojų agentus ir naudoti tarpinius serverius, kad išvengtume per didelės apkrovos svetainės serveriui. Taip pat labai svarbu laikytis svetainės paslaugų teikimo sąlygų ir gerbti jos failą robots.txt.
Duomenų gavyba, potencialių klientų kūrimas, kainodaros stebėjimas ir daug kitų naudojimo būdų galimas žiniatinklio rinkimui. Tačiau, kadangi neteisėtas žiniatinklio rinkimas gali prieštarauti įstatymams ir neetiškai, būtina jį naudoti profesionaliai ir etiškai.
Natūralios kalbos apdorojimas (NLP) naudojant Python
Dirbtinio intelekto (DI) atšaka, vadinama natūralios kalbos apdorojimu (NLP), tiria kompiuterių ir žmogaus kalbos sąveiką. NLP dėka kompiuteriai dabar gali suprasti, interpretuoti ir kurti žmonių kalbą. Dėl savo paprastumo, universalumo ir stiprių bibliotekų, tokių kaip NLTK (Natural Language Toolkit) ir spaCy, Python yra gerai žinoma NLP programavimo kalba.
NLP užduotims, įskaitant atpažinimą, stemingą, lemmatizaciją, kalbos dalies žymėjimą, įvardyto objekto identifikavimą, nuotaikų analizę ir kt., NLTK suteikia visą biblioteką. Jame yra įvairių korpusų (didelių, organizuotų tekstų rinkinių), skirtų NLP modeliams kurti ir vertinti. Kita mėgstama NLP užduočių biblioteka yra „spaCy“, kuri siūlo greitą ir efektyvų milžiniško teksto kiekio apdorojimą. Tai leidžia paprastai modifikuoti ir išplėsti, o kartu su iš anksto paruoštais modeliais įvairiems NLP darbo krūviams.
NLP gali būti naudojamas Python įvairiais praktiniais tikslais, įskaitant pokalbių robotus, nuotaikų analizę, teksto skirstymą į kategorijas, mašininį vertimą ir kt. NLP naudoja, pavyzdžiui, pokalbių robotai, norėdami suprasti ir atsakyti į vartotojų užklausas natūralia kalba. Sentimentų analizė, kuri gali būti naudinga stebint prekės ženklą, analizuojant klientų atsiliepimus ir kitais tikslais, naudoja NLP, kad suskirstytų teksto nuotaikas (teigiamas, neigiamas arba neutralus). Tekstiniai dokumentai suskirstomi į kategorijas naudojant natūralios kalbos apdorojimą (NLP) į iš anksto nustatytas kategorijas, skirtas aptikti šlamštą, klasifikuoti naujienas ir kitais tikslais.
Python yra stiprus ir naudingas įrankis analizuojant ir apdorojant žmogaus kalbą. Kūrėjai gali vykdyti įvairias NLP veiklas ir kurti naudingas programėles, kurios gali bendrauti su vartotojais natūralia kalba su bibliotekomis, tokiomis kaip NLTK ir spaCy.
Išvada:
Šioje pamokoje apžvelgėme kai kurias svarbiausias Python funkcijas ir idėjas, įskaitant kintamuosius, duomenų tipus, kilpas, funkcijas, modulius ir kt. Taip pat buvo aptartos sudėtingesnės temos, įskaitant žiniatinklio išgryninimą, natūralios kalbos apdorojimą, lygiagretumą ir duomenų bazių ryšį. Turėsite tvirtą pagrindą toliau mokytis apie Python ir jo programas naudodami informaciją, kurią išmokote iš šios pamokos.
mašininio mokymosi modeliai
Atminkite, kad kodo praktikavimas ir kūrimas yra geriausias būdas išmokti Python. „JavaTpoint“ galite rasti daug išteklių, skirtų tolesniam mokymuisi, įskaitant dokumentus, mokymo programas, internetines grupes ir kt. Galite įvaldyti Python ir naudoti jį kurdami nuostabius dalykus, jei sunkiai dirbate ir atkakliai.
Būtina sąlyga
Prieš pradėdami mokytis Python, turite turėti pagrindinių programavimo sąvokų žinių.
Publika
Mūsų Python mokymo programa skirta padėti pradedantiesiems ir profesionalams.
Problema
Užtikriname, kad šioje Python mokymo programoje nerasite jokių problemų. Bet jei yra klaida, praneškite apie problemą kontaktinėje formoje.
=>5:>