Python ir plaši izmantota programmēšanas valoda, kas piedāvā vairākas unikālas iespējas un priekšrocības salīdzinājumā ar tādām valodām kā Java un C++. Mūsu Python apmācība pamatīgi izskaidro Python pamatus un uzlabotas koncepcijas, sākot ar instalēšanu, nosacījuma paziņojumi , cilpas , iebūvētās datu struktūras , objektorientētā programmēšana , ģeneratori , izņēmumu apstrāde , Python RegEx un daudzi citi jēdzieni. Šī apmācība ir paredzēta iesācējiem un strādājošiem profesionāļiem.
80. gadu beigās Gvido van Rosums sapņoja par Python izstrādi. Pirmā versija Python 0.9.0 tika izlaists 1991. gadā . Kopš izlaišanas Python sāka iegūt popularitāti. Saskaņā ar ziņojumiem Python tagad ir populārākā programmēšanas valoda izstrādātāju vidū, jo tai ir augstas prasības tehnoloģiju jomā.
Kas ir Python
Python ir vispārējas nozīmes, dinamiski drukāta, augsta līmeņa, apkopota un interpretēta, atkritumos savākta un tīri objektorientēta programmēšanas valoda, kas atbalsta procesuālo, objektorientēto un funkcionālo programmēšanu.
Python funkcijas:
Python ir daudz tīmekļa aktīvi , atvērtā pirmkoda projekti , un dinamiska kopiena . Izstrādātājiem ir ļoti viegli apgūt valodu, strādāt kopā ar projektiem un dot ieguldījumu Python ekosistēmā.
Pateicoties tā vienkāršajai valodu sistēmai, Python ir vieglāk saprotams un tajā ierakstīts kods. Tas padara to par fantastisku programmēšanas valodu iesācējiem. Turklāt tas palīdz pieredzējušiem programmētājiem rakstīt skaidru un bez kļūdām kodu.
Python ir daudzas trešo pušu bibliotēkas, kuras var izmantot, lai atvieglotu tā funkcionalitāti. Šīs bibliotēkas aptver daudzas jomas, piemēram, tīmekļa izstrādi, zinātnisko skaitļošanu, datu analīzi un daudz ko citu.
Java pret Python
Python ir lieliska izvēle ātrai izstrādei un skriptu uzdevumiem. Tā kā Java uzsver spēcīga tipa sistēmu un objektorientētu programmēšanu.
Šeit ir dažas pamata programmas, kas ilustrē galvenās atšķirības starp tām.
Drukāt 'Hello World'
Python kods:
print('Hello World)'
Python programmā tā ir viena koda rindiņa. Lai drukātu 'Hello World' ir nepieciešama vienkārša sintakse
Java kods:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
Java mums ir jādeklarē klases, metožu struktūras daudzas citas lietas.
Lai gan abas programmas nodrošina vienādu izvadi, mēs varam pamanīt sintakses atšķirību drukas paziņojumā.
kas ir desktop.ini
- Python ir viegli iemācīties un rakstīt kodu. Java, lai veiktu noteiktus uzdevumus, ir nepieciešams vairāk koda.
- Python ir dinamiski drukāts, kas nozīmē, ka mums nav jādeklarē mainīgais, turpretim Java ir statistiski drukāts, kas nozīmē, ka mums ir jādeklarē mainīgā tips.
- Python ir piemērots dažādiem domēniem, piemēram, datu zinātnei, mašīnmācībai, tīmekļa izstrādei un citiem. Tā kā Java ir piemērota tīmekļa izstrādei, mobilo lietotņu izstrādei (Android) un citiem.
Python pamata sintakse
Python programmēšanas valodā netiek izmantotas cirtainas lencēm vai semikolu. Tā ir angļu valodai līdzīga valoda. Taču Python izmanto atkāpi, lai definētu koda bloku. Atkāpe ir nekas cits kā atstarpes pievienošana pirms paziņojuma, kad tas ir nepieciešams.
Piemēram -
def func(): statement 1 statement 2 ………………… ………………… statement N
Iepriekš minētajā piemērā priekšraksti, kas atrodas vienā līmenī pa labi, pieder funkcijai. Parasti mēs varam izmantot četras atstarpes, lai definētu atkāpi.
Citās valodās lietotā semikola vietā Python beidz savus paziņojumus ar NewLine rakstzīmi.
Python ir reģistrjutīga valoda, kas nozīmē, ka lielie un mazie burti tiek apstrādāti atšķirīgi. Piemēram, “nosaukums” un “nosaukums” ir divi dažādi Python mainīgie.
Programmā Python komentārus var pievienot, izmantojot simbolu #. Jebkurš teksts, kas rakstīts aiz simbola “#”, tiek uzskatīts par komentāru, un tulks to ignorē. Šis triks ir noderīgs, lai kodam pievienotu piezīmes vai īslaicīgi atspējotu koda bloku. Tas arī palīdz dažiem citiem izstrādātājiem labāk izprast kodu.
'ja' , 'citādi', 'for' , 'kamēr' , 'izmēģināt', 'izņemot' un 'beidzot' ir daži rezervēti Python atslēgvārdi, kurus nevar izmantot kā mainīgo nosaukumus. Šie termini valodā tiek lietoti īpašu iemeslu dēļ, un tiem ir noteikta nozīme. Ja izmantojat šos atslēgvārdus, jūsu kodā var būt kļūdas, vai arī tulks var tos noraidīt kā potenciālus jaunus mainīgos.
Python vēsture
Python izveidoja Gvido van Rosums . Astoņdesmito gadu beigās Gvido van Rosums, nīderlandiešu programmētājs, sāka strādāt ar Python, atrodoties Centrum Wiskunde & Informatica (CWI) Nīderlandē. Viņš vēlējās izveidot pēcteci ABC programmēšanas valoda kas būtu viegli lasāms un efektīvs.
1991. gada februārī tika izlaista pirmā publiskā Python versija 0.9.0. Tas iezīmēja oficiālo dzimšanu Python kā atvērtā koda projekts . Valoda tika nosaukta pēc britu komēdiju seriāla. Monty Python lidojošais cirks '.
Python izstrāde ir izgājusi vairākus posmus. 1994. gada janvārī Python 1.0 tika izlaista kā lietojama un stabila programmēšanas valoda. Šī versija ietvēra daudzas funkcijas, kas joprojām ir pieejamas Python.
No 90. gadiem līdz 2000. gadiem , Python ieguva popularitāti tās vienkāršības, lasāmības un daudzpusības dēļ. 2000. gada oktobrī tika izlaists Python 2.0 . Python 2.0 ieviesa sarakstu izpratni, atkritumu savākšanu un Unicode atbalstu.
2008. gada decembrī tika izlaists Python 3.0. Python 3.0 ieviesa vairākas ar atpakaļejošu datu nesaderīgas izmaiņas, lai uzlabotu koda lasāmību un apkopi.
2010. gados Python popularitāte pieauga, īpaši tādās jomās kā mašīnmācība un tīmekļa izstrāde. Tā bagātīgā bibliotēku un ietvaru ekosistēma padarīja to par iecienītu izstrādātāju vidū.
The Python Software Foundation (PSF) tika izveidots 2001. gadā lai veicinātu, aizsargātu un attīstītu Python programmēšanas valodu un tās kopienu.
Kāpēc mācīties Python?
Python programmētājam nodrošina daudzas noderīgas funkcijas. Šīs funkcijas padara to par populārāko un plaši izmantoto valodu. Tālāk mēs esam uzskaitījuši dažas svarīgākās Python funkcijas.
- Objektorientētā valoda : atbalsta objektorientētu programmēšanu, padarot daudzkārt lietojama un modulāra koda rakstīšanu vienkāršu.
Kur tiek izmantots Python?
Python ir vispārējas nozīmes, populāra programmēšanas valoda, un to izmanto gandrīz visās tehniskajās jomās. Tālāk ir norādītas dažādas Python lietošanas jomas.
- Mākslīgais intelekts AI ir jauna tehnoloģija, un Python ir ideāla valoda mākslīgajam intelektam un mašīnmācībai, jo ir pieejamas jaudīgas bibliotēkas, piemēram, TensorFlow, Keras un PyTorch.
- DevOps : Python plaši izmanto DevOps infrastruktūras pārvaldības, konfigurācijas pārvaldības un izvietošanas procesu automatizācijai un skriptēšanai.
- Pieprasījumi : bibliotēka HTTP pieprasījumu veikšanai
- SQLAlķīmija : bibliotēka darbam ar SQL datu bāzēm
- Izmisusi : ietvars vairāku pieskārienu lietojumprogrammu izveidei
- Pygame : spēļu izstrādes bibliotēka
- REST ietvars : rīku komplekts RESTful API izveidei
- FastAPI : moderna, ātra tīmekļa sistēma API izveidei
- Plūsmīgs : bibliotēka interaktīvu tīmekļa lietotņu izveidei mašīnmācībai un datu zinātnei
- NLTK : bibliotēka dabiskās valodas apstrādei
Python ir plašs bibliotēku un ietvaru klāsts, ko plaši izmanto dažādās jomās, piemēram, mašīnmācībā, mākslīgajā intelektā, tīmekļa lietojumprogrammās utt. Mēs definējam dažus populārus Python ietvarus un bibliotēkas šādi.
Python print() funkcija
Python print() funkcija tiek izmantota, lai parādītu izvadi konsolē vai terminālī. Tas ļauj mums parādīt tekstu, mainīgos un citus datus cilvēkiem lasāmā formātā.
Sintakse:
drukāt(objekts(-i), sep=atdalītājs, beigas=beigas, fails=fails, flush=flush)
Tas aizņem vienu vai vairākus argumentus, kas atdalīti ar komatu (,) un pēc noklusējuma pievieno 'jaunu rindiņu' beigās.
Parametri:
- objekts(-i) — tik daudz datu, cik vēlaties parādīt, vispirms tiks pārveidots virknē un izdrukāts konsolē.
- sep — atdala objektus ar atdalītāju, noklusējuma vērtība = ' '.
- beigas — beidz rindu ar jaunas rindiņas rakstzīmi
- fails — faila objekts ar rakstīšanas metodi, noklusējuma vērtība = sys.stdout
Piemērs:
# 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))
Izvade:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
Šajā piemērā drukas priekšraksts tiek izmantots, lai drukātu virkni, veselus skaitļus un peldošās vērtības cilvēka lasāmā formātā.
Drukāšanas paziņojumu var izmantot atkļūdošanai, reģistrēšanai un informācijas sniegšanai lietotājam.
Python nosacījuma paziņojumi
Nosacījumu paziņojumi palīdz mums izpildīt noteiktu bloku konkrētam nosacījumam. Šajā apmācībā mēs uzzināsim, kā izmantot nosacījuma izteiksmi, lai izpildītu citu paziņojumu bloku. Python nodrošina if un else atslēgvārdus loģisku nosacījumu iestatīšanai. The Elifs atslēgvārds tiek izmantots arī kā nosacījuma paziņojums.
Paziņojuma if..else koda piemērs
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Izvade:
x is greater than y
Iepriekš minētajā kodā mums ir divi mainīgie, x un y, ar attiecīgi 10 un 5. Pēc tam mēs izmantojām if..else priekšrakstu, lai pārbaudītu, vai x ir lielāks par y vai otrādi. Ja pirmais nosacījums ir patiess, tiek izdrukāts paziņojums “x ir lielāks par y”. Ja pirmais nosacījums ir nepatiess, tā vietā tiek drukāts paziņojums “y ir lielāks vai vienāds ar x”.
Atslēgvārds if pārbauda, vai nosacījums ir patiess, un izpilda tajā esošo koda bloku. Kods cits blokā tiek izpildīts, ja nosacījums ir nepatiess. Tādā veidā if..else priekšraksts palīdz mums izpildīt dažādus koda blokus, pamatojoties uz nosacījumu.
Par to mēs uzzināsim sīkāk nākamajā Python apmācības rakstā.
Python cilpas
Dažreiz mums var būt nepieciešams mainīt programmas plūsmu. Konkrēta koda izpilde var būt jāatkārto vairākas reizes. Šim nolūkam programmēšanas valodas nodrošina dažādas cilpas, kas spēj vairākas reizes atkārtot noteiktu kodu. Apsveriet šo pamācību, lai detalizēti izprastu apgalvojumus.
Python For Loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Izvade:
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:>
Iepriekš minētajā piemērā mēs esam parādījuši divu veidu cilpu izmantošanu Python — For loop un While cilpa.
Cilpa For tiek izmantota, lai atkārtotu vienumu secību, piemēram, sarakstu, virkni vai virkni. Piemērā mēs definējām augļu sarakstu un izmantojām for cilpu, lai drukātu katru augli, taču to var izmantot arī skaitļu diapazona drukāšanai.
Cikla While atkārto koda bloku, ja norādītais nosacījums ir patiess. Piemērā mēs esam inicializējuši mainīgo i uz 1 un izmantojuši kamēr cilpu, lai drukātu i vērtību, līdz tā kļūst lielāka vai vienāda ar 6. Paziņojums i += 1 tiek izmantots, lai palielinātu i vērtību katrā iterācijā. .
Mēs par tiem sīkāk uzzināsim apmācībā.
Python datu struktūras
Python piedāvā četras iebūvētas datu struktūras: sarakstus , korteži , komplekti , un vārdnīcas kas ļauj mums efektīvi uzglabāt datus. Tālāk ir norādītas Python bieži izmantotās datu struktūras, kā arī koda piemērs:
1. Saraksti
- Saraksti ir pasūtītās kolekcijas dažādu datu tipu datu elementi.
- Saraksti ir mainīgs tas nozīmē, ka sarakstu var mainīt jebkurā laikā.
- Elementi var būt piekļūt, izmantojot indeksus .
- Tie ir definēti, izmantojot kvadrātiekavas ' [] '.
Piemērs:
# 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)
Izvade:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Korpusi
- Korpusi arī ir pasūtītās kolekcijas dažādu datu tipu datu elementi, līdzīgi sarakstiem.
- Elementi var būt piekļūt, izmantojot indeksus .
- Korpusi ir nemainīgs tas nozīmē, ka kopas nevar modificēt pēc izveides.
- Tie ir definēti, izmantojot atvērto iekava () '.
Piemērs:
# 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_)
Izvade:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Komplekti
- Komplekti ir nesakārtots dažādu datu tipu nemainīgu datu elementu kolekcijas.
- Komplekti ir mainīgs .
- Elementiem nevar piekļūt, izmantojot indeksus.
- Komplekti nesatur dublētus elementus .
- Tie ir definēti, izmantojot cirtaini lencēm. {} '
Piemērs:
# 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)
Izvade:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Vārdnīcas
- Vārdnīca ir atslēgu-vērtību pāri kas ļauj saistīt vērtības ar unikālām atslēgām.
- Tie ir definēti, izmantojot cirtaini lencēm. {} ' ar atslēgu-vērtību pāriem atdalīts ar koliem ':' .
- Vārdnīcas ir mainīgs .
- Elementiem var piekļūt, izmantojot taustiņus.
Piemērs:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Izvade:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Šie ir tikai daži Python iebūvēto datu struktūru piemēri. Katrai datu struktūrai ir savas īpašības un lietošanas gadījumi.
Python funkcionālā programmēšana
Šajā Python apmācības sadaļā ir definēti daži svarīgi rīki, kas saistīti ar funkcionālo programmēšanu, piemēram, lambda un rekursīvās funkcijas. Šīs funkcijas ir ļoti efektīvas sarežģītu uzdevumu veikšanā. Mēs definējam dažas svarīgas funkcijas, piemēram, samazināšanu, kartēšanu un filtrēšanu. Python nodrošina functools moduli, kas ietver dažādus funkcionālus programmēšanas rīkus. Apmeklējiet šo pamācību, lai uzzinātu vairāk par funkcionālo programmēšanu.
Jaunākajās Python versijās ir ieviestas funkcijas, kas padara funkcionālo programmēšanu kodolīgāku un izteiksmīgāku. Piemēram, 'walrus operator':= ļauj izteiksmēs iekļaut mainīgo piešķiršanu, kas var būt noderīgi, strādājot ar ligzdotu funkciju izsaukumiem vai saraksta izpratni.
Python funkcija
- Lambda funkcija - lambda funkcija ir maza, anonīma funkcija kam var būt neierobežots argumentu skaits, bet tam var būt tikai viena izteiksme. Lambda funkcijas bieži izmanto funkcionālajā programmēšanā, lai izveidotu funkcijas “lidojumā”, nedefinējot nosauktu funkciju.
- Rekursīvā funkcija - Rekursīva funkcija ir funkcija, kas sevi izsauc, lai atrisinātu problēmu. Rekursīvās funkcijas bieži izmanto funkcionālajā programmēšanā, lai veiktu sarežģītus aprēķinus vai šķērsotu sarežģītas datu struktūras.
- Kartes funkcija - Funkcija map() piemēro noteiktu funkciju katram iterējamā elementam un atgriež jaunu iterējamu ar rezultātiem. Ievades atkārtojums var būt saraksts, kortežs vai cits.
- Filtra funkcija - Funkcija filter() atgriež iteratoru no iterējamā, kuram funkcija nodota kā pirmais arguments, atgriež True. Tas filtrē vienumus no iterējamas, kas neatbilst norādītajam nosacījumam.
- Samazināt funkciju - Funkcija samazināt() kumulatīvi piemēro divu argumentu funkciju iterējamā elementiem no kreisās puses uz labo, lai samazinātu to līdz vienai vērtībai.
- Functools modulis - Functools modulis Python nodrošina augstākas kārtas funkcijas, kas darbojas ar citām funkcijām, piemēram, partial () un reduction ().
- Kariēšanas funkcija - Currying funkcija ir funkcija, kas ņem vairākus argumentus un atgriež funkciju secību, no kurām katrai ir viens arguments.
- Memoization funkcija - Memoization ir paņēmiens, ko izmanto funkcionālajā programmēšanā, lai saglabātu kešatmiņā dārgu funkciju izsaukumu rezultātus un atgrieztu kešatmiņā saglabāto rezultātu, kad atkārtojas tās pašas ievades.
- Vītņošanas funkcija - Threading ir paņēmiens, ko izmanto funkcionālajā programmēšanā, lai vienlaikus palaistu vairākus uzdevumus, lai padarītu kodu efektīvāku un ātrāku.
Python moduļi
Python moduļi ir programmu faili, kas satur Python kodu vai funkcijas. Python ir divu veidu moduļi – lietotāja definēti moduļi un iebūvētie moduļi. Lietotāja definēts modulis vai mūsu Python kods, kas saglabāts ar paplašinājumu .py, tiek uzskatīts par lietotāja definētu moduli.
Iebūvētie moduļi ir iepriekš definēti Python moduļi. Lai izmantotu moduļu funkcionalitāti, mums tie jāimportē mūsu pašreizējā darba programmā.
Python moduļi ir būtiski valodas ekosistēmai, jo tie piedāvā atkārtoti lietojamu kodu un funkcionalitāti, ko var importēt jebkurā Python programmā. Šeit ir daži vairāku Python moduļu piemēri, kā arī katra īss apraksts:
Matemātika : sniedz lietotājiem piekļuvi matemātiskām konstantēm un pi un trigonometriskām funkcijām.
Datums Laiks : nodrošina nodarbības vienkāršākam datumu, laiku un periodu manipulācijas veidam.
TU : iespējo mijiedarbību ar bāzes operētājsistēmu, tostarp procesu un failu sistēmas darbību administrēšanu.
nejauši : izlases funkcija piedāvā rīkus nejaušu veselu skaitļu ģenerēšanai un nejaušu vienumu atlasei no saraksta.
JSON : JSON ir datu struktūra, ko var kodēt un atšifrēt, un to bieži izmanto tiešsaistes API un datu apmaiņā. Šis modulis ļauj strādāt ar JSON.
Re : atbalsta regulārās izteiksmes, spēcīgu teksta meklēšanas un teksta manipulācijas rīku.
Kolekcijas : nodrošina alternatīvas datu struktūras, piemēram, sakārtotas vārdnīcas, noklusējuma vārdnīcas un nosauktas kortežas.
NumPy : NumPy ir zinātniskās skaitļošanas galvenais rīku komplekts, kas atbalsta skaitliskas darbības ar masīviem un matricām.
Pandas : Tas nodrošina augsta līmeņa datu struktūras un darbības, lai apstrādātu laika rindas un citus strukturētus datu tipus.
Pieprasījumi : piedāvā vienkāršu lietotāja saskarni tīmekļa API un veic HTTP pieprasījumus.
Python faila I/O
Faili tiek izmantoti datu glabāšanai datora diskā. Šajā apmācībā mēs izskaidrojam Python iebūvēto faila objektu. Mēs varam atvērt failu, izmantojot Python skriptu, un veikt dažādas darbības, piemēram, rakstīšanu, lasīšanu un pievienošanu. Ir dažādi veidi, kā atvērt failu. Mēs esam izskaidroti ar attiecīgo piemēru. Mēs arī iemācīsimies veikt lasīšanas/rakstīšanas darbības ar binārajiem failiem.
Python failu ievades/izvades (I/O) sistēma piedāvā programmas saziņai ar diskā saglabātajiem failiem. Python iebūvētās metodes faila objektam ļauj mums veikt tādas darbības kā lasīšana, rakstīšana un datu pievienošana failiem.
The atvērt () Metode Python veido faila objektu, strādājot ar failiem. Atveramā faila nosaukums un režīms, kādā fails ir jāatver, ir divi parametri, kas nepieciešami šai funkcijai. Režīmu var izmantot atbilstoši darbam, kas jāveic ar failu, piemēram, ' r 'lasīšanai', In ' rakstīšanai vai ' a ' piestiprināšanai.
Pēc veiksmīgas objekta izveidošanas var izmantot dažādas metodes atbilstoši mūsu darbam. Ja vēlamies rakstīt failā, varam izmantot rakstīšanas() funkcijas, savukārt, ja vēlaties lasīt un rakstīt abus, tad var izmantot append() funkciju un gadījumos, kad vēlamies tikai lasīt saturu failu, ko varam izmantot funkciju read(). Izmantojot Python, var strādāt arī ar binārajiem failiem, kas satur datus binārā, nevis teksta formātā. Binārie faili ir rakstīti tādā veidā, ko cilvēki nevar tieši saprast. The rb un wb režīmi var lasīt un rakstīt bināros datus binārajos failos.
Python izņēmumi
Izņēmumu var definēt kā neparastu nosacījumu programmā, kas rada pārtraukumu programmas plūsmā.
Ikreiz, kad notiek izņēmums, programma aptur izpildi, un tādējādi otrs kods netiek izpildīts. Tāpēc izņēmums ir izpildlaika kļūdas, kuras nevar apstrādāt Python skriptā. Izņēmums ir Python objekts, kas apzīmē kļūdu.
Python izņēmumi ir svarīgs Python programmēšanas kļūdu apstrādes aspekts. Ja programma saskaras ar neparedzētu situāciju vai kļūdu, tā var radīt izņēmumu, kas var pārtraukt parasto programmas plūsmu.
Programmā Python izņēmumi tiek attēloti kā objekti, kas satur informāciju par kļūdu, tostarp tās veidu un ziņojumu. Visizplatītākais Python izņēmuma veids ir izņēmuma klase, kas ir pamatklase visiem citiem iebūvētajiem izņēmumiem.
Lai apstrādātu izņēmumus programmā Python, mēs izmantojam mēģināt un izņemot paziņojumi. The mēģināt paziņojums tiek izmantots, lai iekļautu kodu, kas var radīt izņēmumu, savukārt izņemot paziņojums tiek izmantots, lai definētu koda bloku, kas jāizpilda izņēmuma gadījumā.
java saraksta lodziņš
Piemēram, apsveriet šādu kodu:
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')
Izvade:
Enter a number: 0 Error: Division by zero
Šajā kodā mēs izmantojam try priekšrakstu, lai mēģinātu veikt dalīšanas darbību. Ja kāda no šīm darbībām rada izņēmumu, tiek izpildīts atbilstības bloks, izņemot bloku.
Python nodrošina arī daudzus iebūvētus izņēmumus, kurus var izvirzīt līdzīgās situācijās. Ir daži izplatīti iebūvētie izņēmumi IndexError, Type Error , un NameError . Mēs varam arī definēt savus pielāgotos izņēmumus, izveidojot jaunu klasi, kas manto no klases Izņēmums.
Python CSV
CSV apzīmē “komatatdalītās vērtības”, kas ir definēts kā vienkāršs faila formāts, kas izmanto īpašu strukturēšanu, lai sakārtotu tabulas datus. Tajā tiek glabāti tabulu dati, piemēram, izklājlapas vai datu bāzes vienkāršā tekstā, un tam ir kopīgs datu apmaiņas formāts. CSV fails tiek atvērts Excel lapā, un rindu un kolonnu dati nosaka standarta formātu.
CSV faila lasīšanai varam izmantot funkciju CSV.reader. Šī funkcija atgriež lasītāja objektu, ko varam izmantot, lai atkārtotu CSV faila rindas. Katra rinda tiek atgriezta kā vērtību saraksts, kur katra vērtība atbilst kolonnai CSV failā.
Piemēram, apsveriet šādu kodu:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Šeit mēs atveram failu data.csv lasīšanas režīmā un izveidojam a csv.reader objekts, izmantojot csv.reader() funkciju. Pēc tam mēs atkārtojam CSV faila rindas, izmantojot for cilpu, un izdrukājam katru rindu konsolē.
Mēs varam izmantot CSV.writer() funkcija, lai ierakstītu datus CSV failā. Tas atgriež rakstīšanas objektu, ko varam izmantot, lai ierakstītu rindas CSV failā. Mēs varam rakstīt rindas, zvanot uz rakstnieks () metode rakstīšanas objektā.
Piemēram, apsveriet šādu kodu:
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)
Šajā programmā mēs izveidojam sarakstu sarakstu, ko sauc par datiem, kur katrs iekšējais saraksts apzīmē datu rindu. Pēc tam atveram failu data.csv rakstīšanas režīmā un izveidojam a CSV.writer objektu, izmantojot funkciju CSV.writer. Pēc tam mēs atkārtojam datu rindas, izmantojot for cilpu, un katru rindu ierakstām CSV failā, izmantojot rakstīšanas metodi.
Python vēstuļu sūtīšana
Mēs varam nosūtīt vai lasīt pastu, izmantojot Python skriptu. Python standarta bibliotēkas moduļi ir noderīgi dažādu protokolu, piemēram, PoP3 un IMAP, apstrādei. Python nodrošina smtplib modulis e-pastu sūtīšanai, izmantojot SMTP (Simple Mail Transfer Protocol). Mēs iemācīsimies nosūtīt vēstules ar populāro e-pasta pakalpojumu SMTP no Python skripta.
Python maģijas metodes
Python maģijas metode ir īpaša metode, kas pievieno klasei 'maģiju'. Tas sākas un beidzas ar dubultām pasvītrām, piemēram, _karsts_ vai _str_ .
Iebūvētās klases nosaka daudzas burvju metodes. The tu () Funkciju var izmantot, lai redzētu klases mantoto maģisko metožu skaitu. Tam metodes nosaukumā ir divi prefiksi un sufiksa pasvītras.
- Python maģijas metodes ir pazīstamas arī kā dunder metodes , saīsinājums no “dubultās pasvītras” metodēm, jo to nosaukumi sākas un beidzas ar dubulto pasvītrojumu.
- Burvju metodes Python tulks tos automātiski izsauc noteiktās situācijās, piemēram, kad objekts tiek izveidots, salīdzināts ar citu objektu vai izdrukāts.
- Maģiskās metodes var izmantot, lai pielāgotu klašu uzvedību, piemēram, definētu, kā objekti tiek salīdzināti, pārvērsti virknēs vai piekļūt tiem kā konteineri.
- Dažas bieži izmantotās burvju metodes ietver karstums objekta inicializācijai, str objekta pārvēršanai virknē, ekv divu objektu salīdzināšanai vienlīdzībai, un ar nosaukumu un setitems lai piekļūtu konteinera objekta vienumiem.
Piemēram, str burvju metode var definēt, kā objekts ir jāattēlo kā virkne. Šeit ir piemērs
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)
Izvade:
Vikas (22)
Šajā piemērā str metode ir definēta, lai atgrieztu formatētu objekta Personas virknes attēlojumu ar personas vārdu un vecumu.
Vēl viena plaši izmantota burvju metode ir ekv , kas nosaka, kā objekti ir jāsalīdzina vienlīdzības nodrošināšanai. Šeit ir piemērs:
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)
Izvade:
False True
Šajā piemērā ekv Metode ir definēta, lai atgrieztu True, ja diviem Point objektiem ir vienādas x un y koordinātas, un False pretējā gadījumā.
Python Oops jēdzieni
Viss Python tiek apstrādāts kā objekts, tostarp veselu skaitļu vērtības, pludiņi, funkcijas, klases un neviens. Bez tam Python atbalsta visas orientētās koncepcijas. Tālāk ir sniegts īss ievads par Python Oops jēdzieniem.
- Klases un objekti - Python klases ir objekta rasējumi. Objekts ir datu un metožu kopums, kas iedarbojas uz datiem.
- Mantojums - Mantojums ir paņēmiens, kurā viena klase pārmanto citu klašu īpašības.
- Konstruktors - Python nodrošina īpašu metodi __init__(), kas ir pazīstama kā konstruktors. Šī metode tiek automātiski izsaukta, kad objekts tiek iemiesots.
- Polimorfisms - Polimorfisms ir jēdziens, kurā objektam var būt dažādas formas. Python versijā polimorfismu var panākt, izmantojot metodes pārslodzi un metodes ignorēšanu.
- Metodes ignorēšana - Metodes ignorēšana ir jēdziens, kurā apakšklase realizē metodi, kas jau definēta tās virsklasē.
- Iekapsulēšana - Iekapsulēšana ir datu un metožu iesaiņošana vienā vienībā. Programmā Python iekapsulēšana tiek panākta, izmantojot piekļuves modifikatorus, piemēram, publiskos, privātos un aizsargātos. Tomēr Python stingri nepiemēro piekļuves modifikatorus, un nosaukšanas konvencija norāda piekļuves līmeni.
- Datu abstrakcija : paņēmiens, lai paslēptu datu sarežģītību un rādītu lietotājam tikai būtiskas funkcijas. Tas nodrošina saskarni, lai mijiedarbotos ar datiem. Datu abstrakcija samazina sarežģītību un padara kodu modulārāku, ļaujot izstrādātājiem koncentrēties uz programmas būtiskām funkcijām.
Lai detalizēti izlasītu Oops koncepciju, apmeklējiet tālāk norādītos resursus.
- Python Oops koncepcijas — Python objektorientētā paradigma ir izstrādāt programmu, izmantojot klases un objektus. Objekts ir saistīts ar reālā vārda entītijām, piemēram, grāmatu, māju, zīmuli utt., un klase nosaka tā īpašības un uzvedību.
- Python objekti un klases - Programmā Python objekti ir klašu gadījumi, un klases ir rasējumi, kas nosaka datu struktūru un uzvedību.
- Python konstruktors - Konstruktors ir īpaša metode klasē, ko izmanto, lai inicializētu objekta atribūtus, kad objekts tiek izveidots.
- Python mantojums - Mantojums ir mehānisms, kurā jaunā klase (apakšklase vai pakārtotā klase) pārmanto esošās klases (virsklases vai vecākklases) īpašības un uzvedību.
- Python polimorfisms — polimorfisms ļauj dažādu klašu objektus uzskatīt par kopējas virsklases objektiem, ļaujot dažādas klases izmantot savstarpēji aizvietojami, izmantojot kopīgu saskarni.
Python Advance tēmas
Python ietver daudzus sasniegumus un noderīgas koncepcijas, kas palīdz programmētājam atrisināt sarežģītus uzdevumus. Šie jēdzieni ir doti tālāk.
Python iterators
Iterators ir vienkārši objekts, kuru var atkārtot. Tas atgriež vienu objektu vienlaikus. To var īstenot, izmantojot divas īpašas metodes, __iter__() un __nākamais__().
Python iteratori ir objekti, kas ļauj iterēt datu kolekciju. Viņi apstrādā katru kolekcijas elementu atsevišķi, neielādējot visu kolekciju atmiņā.
Piemēram, izveidosim iteratoru, kas atgriež skaitļu kvadrātus līdz noteiktai robežai:
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></=>
Šajā piemērā mēs esam izveidojuši klasi Squares, kas darbojas kā iterators, ieviešot __iter__() un __next__() metodes. Metode __iter__() atgriež pašu objektu, bet metode __next__() atgriež nākamo skaitļa kvadrātu, līdz tiek sasniegts ierobežojums.
Lai uzzinātu vairāk par iteratoriem, apmeklējiet mūsu Python Iterators apmācību.
Python ģeneratori
Python ģeneratori izveidot vērtību secību izmantojot ražas deklarāciju nevis atgriešanās, jo tās ir funkcijas, kas atgriež iteratorus. Ģeneratori pārtrauc funkcijas izpildi, saglabājot vietējo stāvokli. Pēc restartēšanas tas atsāk tur, kur tas tika pārtraukts. Tā kā, pateicoties šai funkcijai, mums nav jāievieš iteratora protokols, iteratoru rakstīšana ir padarīta vienkāršāka. Šeit ir vienkāršas ģeneratora funkcijas ilustrācija, kas rada skaitļu kvadrātus:
# 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)
Izvade:
0 1 4 9 16
Python modifikatori
Python dekoratori ir funkcijas, ko izmanto, lai mainītu citas funkcijas darbību. Tie ļauj pievienot funkcionalitāti esošai funkcijai, tieši nemainot tās kodu. Dekoratori tiek definēti, izmantojot @ simbols, kam seko dekoratora funkcijas nosaukums. Tos var izmantot reģistrēšanai, laika noteikšanai, kešatmiņai utt.
Šeit ir piemērs dekoratora funkcijai, kas pievieno laika funkcionalitāti citai funkcijai:
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)
Izvade:
Iepriekš minētajā piemērā funkcija time_it dekorators izmanto citu funkciju kā argumentu un atgriež iesaiņojuma funkciju. Iesaiņošanas funkcija aprēķina sākotnējās funkcijas izpildes laiku un izdrukā to konsolē. Dekorators @time_it tiek izmantots, lai lietotu funkciju time_it funkcijai my_function. Kad tiek izsaukta funkcija my_function, tiek izpildīts dekorators un pievienota laika funkcionalitāte.
Python MySQL
Python MySQL ir spēcīga relāciju datu bāzes pārvaldības sistēma. Mums ir jāiestata vide un jāizveido savienojums, lai izmantotu MySQL ar Python. Mēs varam izveidot jaunu datu bāzi un tabulas, izmantojot SQL komandas Python.
- Vides iestatīšana : MySQL Connector/Python instalēšana un konfigurēšana, lai izmantotu Python kopā ar MySQL.
- Datu bāzes savienojums : savienojuma izveide starp Python un MySQL datu bāzi, izmantojot MySQL Connector/Python.
- Jaunas datu bāzes izveide : jaunas datu bāzes izveide MySQL, izmantojot Python.
- Tabulu veidošana : tabulu izveide MySQL datu bāzē ar Python, izmantojot SQL komandas.
- Ievietošanas darbība : ievietojiet datus MySQL tabulās, izmantojot Python un SQL komandas.
- Izlasiet Darbību : datu nolasīšana no MySQL tabulām, izmantojot Python un SQL komandas.
- Atjaunināšanas darbība : datu atjaunināšana MySQL tabulās, izmantojot Python un SQL komandas.
- Pievienojieties operācijai : divu vai vairāku MySQL tabulu savienošana, izmantojot Python un SQL komandas.
- Darījumu veikšana : SQL vaicājumu grupas kā vienas darba vienības veikšana MySQL, izmantojot Python.
Citi relatīvie punkti ietver kļūdu apstrādi, indeksu izveidi un saglabāto procedūru un funkciju izmantošanu MySQL ar Python.
Python MongoDB
Python MongoDB ir populāra NoSQL datu bāze, kas glabā datus JSON līdzīgos dokumentos. Tas ir bezshēmas un nodrošina augstu mērogojamību un elastību datu glabāšanai. Mēs varam izmantot MongoDB ar Python, izmantojot PyMongo bibliotēku, kas nodrošina vienkāršu un intuitīvu saskarni mijiedarbībai ar MongoDB.
Šeit ir daži bieži sastopami uzdevumi, strādājot ar MongoDB programmā Python:
- Vides iestatīšana : Instalējiet un konfigurējiet MongoDB un PyMongo bibliotēku savā sistēmā.
- Datu bāzes savienojums : izveidojiet savienojumu ar MongoDB serveri, izmantojot MongoClient klasi no PyMongo.
- Jaunas datu bāzes izveide : izmantojiet MongoClient objektu, lai izveidotu jaunu datu bāzi.
- Kolekciju veidošana : izveidojiet kolekcijas datu bāzē dokumentu glabāšanai.
- Dokumentu ievietošana : ievietojiet jaunus dokumentus kolekcijā, izmantojot metodi insert_one() vai insert_many().
- Pieprasīt dokumentus : izgūt dokumentus no kolekcijas, izmantojot dažādas vaicājuma metodes, piemēram, find_one(), find() utt.
- Dokumentu atjaunināšana : modificēt kolekcijā esošos dokumentus, izmantojot metodes update_one() vai update_many().
- Dokumentu dzēšana : noņemiet dokumentus no kolekcijas, izmantojot metodi delete_one() vai delete_many().
- Apkopošana : veiciet apkopošanas darbības, piemēram, grupēšanu, skaitīšanu utt., izmantojot apkopošanas konveijera sistēmu.
MongoDB ir daudz sarežģītākas tēmas, piemēram, datu sadalīšana, replikācija un citas, taču šie uzdevumi aptver pamatus darbam ar MongoDB programmā Python.
Python SQLite
Relāciju datu bāzes tiek veidotas un uzturētas, izmantojot Python SQLite, kompaktu, bez serveru, autonomu datu bāzes dzinēju. Tā mobilitāte un vienkāršība padara to par populāru iespēju vietējām vai maza mēroga lietojumprogrammām. Python ir iebūvēts modulis savienojuma izveidei ar SQLite datu bāzēm, ko sauc par SQLite3, kas ļauj izstrādātājiem bez grūtībām strādāt ar SQLite datu bāzēm.
SQLite3 bibliotēkā ir pieejamas dažādas API metodes, kuras var izmantot, lai palaistu SQL vaicājumus, ievietotu, atlasītu, atjauninātu un noņemtu datus, kā arī iegūtu datus no tabulām. Turklāt tas ļauj veikt darījumus, ļaujot programmētājiem problēmas gadījumā atsaukt izmaiņas. Python SQLite ir lieliska iespēja tādu programmu izveidei, kurām nepieciešama iegulta datu bāzes sistēma, tostarp darbvirsmas, mobilās un neliela izmēra tīmekļa programmas. SQLite ir kļuvis populārs vieglo lietotņu ar datu bāzes funkcionalitāti izstrādātāju vidū, pateicoties ērtai lietošanai, pārnesamībai un vienmērīgam savienojumam ar Python.
Python CGI
Python CGI ir tehnoloģija skriptu palaišanai, izmantojot tīmekļa serverus, lai izveidotu dinamisku tiešsaistes saturu. Tas piedāvā saziņas kanālu un dinamisku satura ģenerēšanas interfeisu ārējiem CGI skriptiem un tīmekļa serverim. Python CGI skripti var izveidot HTML tīmekļa lapas, apstrādāt veidlapas ievadi un sazināties ar datu bāzēm. Python CGI ļauj serverim izpildīt Python skriptus un nodrošināt klientam rezultātus, piedāvājot ātru un efektīvu pieeju dinamisku tiešsaistes lietojumprogrammu izveidei.
Python CGI skriptus var izmantot daudzām lietām, tostarp dinamisku tīmekļa lapu izveidei, veidlapu apstrādei un mijiedarbībai ar datu bāzēm. Tā kā Python, spēcīgu un populāru programmēšanas valodu, var izmantot, lai izveidotu skriptus, tā nodrošina pielāgotāku un elastīgāku pieeju tīmekļa izveidei. Izmantojot Python CGI, var izveidot mērogojamas, drošas un apkopjamas tiešsaistes lietojumprogrammas. Python CGI ir ērts rīks tīmekļa izstrādātājiem, kas veido dinamiskas un interaktīvas tiešsaistes lietojumprogrammas.
Asinhronā programmēšana Python
Asinhronā programmēšana ir datorprogrammēšanas paradigma, kas nodrošina neatkarīgu un vienlaicīgu darbību darbību. To bieži izmanto tādās lietojumprogrammās kā tīmekļa serveri, datu bāzes programmatūra un tīkla programmēšana, kur vienlaikus ir jāapstrādā vairāki uzdevumi vai pieprasījumi.
Python asinhronās programmēšanas bibliotēkās un ietvaros ir asyncio, Twisted un Tornado. Asyncio, viens no tiem, piedāvā vienkāršu saskarni asinhronai programmēšanai un ir oficiālā Python asinhronās programmēšanas bibliotēka.
Korutīnas ir funkcijas, kuras var apturēt un restartēt noteiktās koda vietās, un tās izmanto asyncio. Tas ļauj vienlaikus darboties daudzām korutīnām, netraucējot viena otrai. Korutīnu veidošanai un uzturēšanai bibliotēka piedāvā vairākas nodarbības un metodes, t.sk asyncio.gather(), asyncio.wait(), un asyncio.create_task().
Notikumu cilpas, kas ir atbildīgas par korutīnu plānošanu un darbību, ir vēl viena asinsijas iezīme. Pārvietojoties starp korutīnām nebloķējošā veidā, notikumu cilpa kontrolē korutīnu izpildi un nodrošina, ka neviena korutīna nebloķē citu. Turklāt tas atbalsta taimerus un atzvanīšanas plānošanu, kas var būt noderīgi, ja darbības ir jāpabeidz noteiktos laikos vai intervālos.
Python vienlaicība
Termiņš ' vienlaicīgums ' apraksta programmas spēju veikt vairākus uzdevumus vienlaikus, uzlabojot programmas efektivitāti. Python piedāvā vairākus moduļus un ar vienlaicību saistītas metodes, tostarp asinhrono programmēšanu, vairāku apstrādi un daudzpavedienu veidošanu. Lai gan vairākkārtēja apstrāde ietver daudzu procesu vienlaicīgu palaišanu sistēmā, vairāku pavedienu izmantošana ietver daudzu pavedienu vienlaicīgu palaišanu vienā procesā.
The vītņu modulis Python ļauj programmētājiem izveidot daudzpavedienu. Tas piedāvā klases un darbības pavedienu izveidošanai un kontrolei. Un otrādi, vairāku apstrādes modulis ļauj izstrādātājiem izstrādāt un kontrolēt procesus. Python asyncio modulis nodrošina asinhronas programmēšanas atbalstu, ļaujot izstrādātājiem rakstīt nebloķējošu kodu, kas vienlaikus var apstrādāt vairākus uzdevumus. Izmantojot šīs metodes, izstrādātāji var rakstīt augstas veiktspējas, mērogojamas programmas, kas vienlaikus var veikt vairākus uzdevumus.
Python vītņu modulis nodrošina vairāku pavedienu vienlaicīgu izpildi vienā procesā, kas ir noderīgi I/O saistītām darbībām.
CPU ietilpīgām darbībām, piemēram, attēlu apstrādei vai datu analīzei, vairāku apstrādes moduļi ļauj vienlaikus izpildīt daudzus procesus vairākos CPU kodolos.
Asinhronais modulis atbalsta asinhrono I/O un ļauj izveidot vienpavedienu vienlaicīgu kodu, izmantojot korutīnas augstas vienlaicīguma tīkla lietojumprogrammām.
Ar tādām bibliotēkām kā Dask, PySpark , un MPI, Python var izmantot arī paralēlai skaitļošanai. Šīs bibliotēkas ļauj sadalīt darba slodzi pa daudziem mezgliem vai klasteriem, lai nodrošinātu labāku veiktspēju.
Tīmekļa izgriešana, izmantojot Python
Tīmekļa nokasīšanas process tiek izmantots, lai automātiski izgūtu datus no vietnēm. Dažādi rīki un bibliotēkas iegūst datus no HTML un citiem tiešsaistes formātiem. Python ir viena no visplašāk izmantotajām programmēšanas valodām tīmekļa skrāpēšanai, jo tā ir viegli lietojama, pielāgojama un dažādas bibliotēkas.
Mums ir jāveic dažas darbības, lai veiktu tīmekļa nokasīšanu, izmantojot Python. Vispirms mums ir jāizlemj, kuru vietni nokasīt un kādu informāciju apkopot. Pēc tam mēs varam iesniegt pieprasījumu vietnei un saņemt HTML saturu, izmantojot Python pieprasījumu pakotni. Kad mums ir HTML teksts, mēs varam iegūt nepieciešamos datus, izmantojot dažādas parsēšanas pakotnes, piemēram, Skaista zupa un lxml .
Mēs varam izmantot vairākas stratēģijas, piemēram, pieprasījumu palēnināšanu, lietotāju aģentu izmantošanu un starpniekserveru izmantošanu, lai novērstu vietnes servera pārslogošanu. Ir arī svarīgi ievērot vietnes pakalpojumu sniegšanas noteikumus un ievērot tās failu robots.txt.
Tīmekļa izkopšanai ir iespējama datu ieguve, potenciālo pirkumu izveide, cenu izsekošana un daudzi citi lietojumi. Tomēr, tā kā neatļauta tīmekļa skrāpēšana var būt pretrunā ar likumu un neētiski, ir svarīgi to izmantot profesionāli un ētiski.
Dabiskās valodas apstrāde (NLP), izmantojot Python
Mākslīgā intelekta (AI) nozare, ko sauc par “dabiskās valodas apstrādi” (NLP), pēta datoru un cilvēku valodas mijiedarbību. Pateicoties NLP, datori tagad var saprast, interpretēt un radīt cilvēku valodu. Pateicoties tās vienkāršībai, daudzpusībai un spēcīgajām bibliotēkām, piemēram, NLTK (Natural Language Toolkit) un spaCy, Python ir labi pazīstama NLP programmēšanas valoda.
NLP uzdevumiem, tostarp marķieriem, saknes veidošanu, lemmatizāciju, runas daļas marķēšanu, nosaukto entītiju identifikāciju, sentimenta analīzi un citiem, NLTK nodrošina pilnīgu bibliotēku. Tajā ir dažādi korpusi (lieli, sakārtoti tekstu krājumi) NLP modeļu izstrādei un novērtēšanai. Vēl viena ļoti iecienīta NLP uzdevumu bibliotēka ir spaCy , kas piedāvā ātru un efektīvu milzīga teksta apjoma apstrādi. Tas nodrošina vienkāršu modifikāciju un paplašināšanu, un tam ir iepriekš apmācīti modeļi dažādām NLP darba slodzēm.
NLP var izmantot Python dažādiem praktiskiem mērķiem, tostarp tērzēšanas robotiem, sentimenta analīzei, teksta kategorizēšanai, mašīntulkošanai un citiem. NLP izmanto, piemēram, tērzēšanas roboti, lai saprastu un atbildētu uz lietotāju jautājumiem dabiskās valodas stilā. Sentimenta analīze, kas var būt noderīga zīmola uzraudzībai, klientu atsauksmju analīzei un citiem mērķiem, izmanto NLP, lai klasificētu teksta noskaņojumu (pozitīvs, negatīvs vai neitrāls). Teksta dokumenti tiek iedalīti kategorijās, izmantojot dabiskās valodas apstrādi (NLP) iepriekš noteiktās kategorijās surogātpasta noteikšanai, ziņu kategorizēšanai un citiem mērķiem.
Python ir spēcīgs un noderīgs rīks cilvēka valodas analīzei un apstrādei. Izstrādātāji var veikt dažādas NLP darbības un izveidot noderīgas lietotnes, kas var sazināties ar patērētājiem dabiskā valodā, izmantojot tādas bibliotēkas kā NLTK un spaCy.
Secinājums:
Šajā apmācībā mēs esam apskatījuši dažas no Python svarīgākajām funkcijām un idejām, tostarp mainīgos, datu tipus, cilpas, funkcijas, moduļus un daudz ko citu. Ir apspriesti arī sarežģītāki priekšmeti, tostarp tīmekļa skrāpēšana, dabiskās valodas apstrāde, paralēlisms un datu bāzes savienojums. Jums būs spēcīgs pamats, lai turpinātu mācīties par Python un tā lietojumprogrammām, izmantojot šajā nodarbībā iegūto informāciju.
cik veca ir Kailija Dženere
Atcerieties, ka koda praktizēšana un izstrāde ir labākā Python apguves metode. Vietnē javaTpoint varat atrast daudz resursu, lai atbalstītu turpmāko mācīšanos, tostarp dokumentāciju, apmācības, tiešsaistes grupas un daudz ko citu. Jūs varat apgūt Python un izmantot to, lai radītu brīnišķīgas lietas, ja smagi strādājat un neatlaidīgi.
Priekšnoteikums
Pirms Python apguves jums ir jābūt pamatzināšanām par programmēšanas jēdzieniem.
Auditorija
Mūsu Python apmācība ir paredzēta, lai palīdzētu iesācējiem un profesionāļiem.
Problēma
Mēs garantējam, ka šajā Python apmācībā jūs neatradīsit nekādas problēmas. Bet, ja ir kāda kļūda, lūdzu, publicējiet problēmu kontaktformā.
=>5:>