Python er et mye brukt programmeringsspråk som tilbyr flere unike funksjoner og fordeler sammenlignet med språk som Java og C++. Python-opplæringen vår forklarer grundig Python-grunnleggende og avanserte konsepter, starter med installasjon, betingede uttalelser , løkker , innebygde datastrukturer , objektorientert programmering , generatorer , unntakshåndtering , Python RegEx og mange andre konsepter. Denne opplæringen er designet for nybegynnere og profesjonelle.
På slutten av 1980-tallet, Guido van Rossum drømte om å utvikle Python. Den første versjonen av Python 0.9.0 ble utgitt i 1991 . Siden utgivelsen begynte Python å få popularitet. Ifølge rapporter er Python nå det mest populære programmeringsspråket blant utviklere på grunn av dets høye krav innen teknologiområdet.
Hva er Python
Python er et generellt bruk, dynamisk skrevet, høynivå, kompilert og tolket, søppelsamlet og rent objektorientert programmeringsspråk som støtter prosessuell, objektorientert og funksjonell programmering.
Funksjoner til Python:
Python har mange nettbaserte eiendeler , åpen kildekode-prosjekter , og et levende fellesskap . Å lære språket, jobbe sammen om prosjekter og bidra til Python-økosystemet er alt gjort veldig enkelt for utviklere.
På grunn av det enkle språkrammeverket er Python lettere å forstå og skrive kode i. Dette gjør det til et fantastisk programmeringsspråk for nybegynnere. I tillegg hjelper den erfarne programmerere med å skrive tydelig og feilfri kode.
Python har mange tredjepartsbiblioteker som kan brukes til å gjøre funksjonaliteten enklere. Disse bibliotekene dekker mange domener, for eksempel webutvikling, vitenskapelig databehandling, dataanalyse og mer.
Java vs. Python
Python er et utmerket valg for rask utvikling og skriptoppgaver. Mens Java legger vekt på et sterkt typesystem og objektorientert programmering.
Her er noen grunnleggende programmer som illustrerer viktige forskjeller mellom dem.
Skriver ut 'Hello World'
Python-kode:
print('Hello World)'
I Python er det én kodelinje. Det krever enkel syntaks for å skrive ut 'Hello World'
Java-kode:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
I Java må vi deklarere klasser, metodestrukturer mange andre ting.
Mens begge programmene gir samme utgang, kan vi legge merke til syntaksforskjellen i utskriftssetningen.
hvordan får du game pigeon på Android
- I Python er det enkelt å lære og skrive kode. Mens du er i Java, krever det mer kode for å utføre visse oppgaver.
- Python er dynamisk skrevet, noe som betyr at vi ikke trenger å deklarere variabelen Mens Java er statistisk skrevet, noe som betyr at vi må erklære variabeltypen.
- Python er egnet for ulike domener som datavitenskap, maskinlæring, webutvikling og mer. Mens Java er egnet for webutvikling, utvikling av mobilapper (Android) og mer.
Python grunnleggende syntaks
Det er ingen bruk av krøllete klammeparenteser eller semikolon i programmeringsspråket Python. Det er et engelsklignende språk. Men Python bruker innrykk for å definere en kodeblokk. Innrykk er ikke annet enn å legge til mellomrom før setningen når det er nødvendig.
For eksempel -
def func(): statement 1 statement 2 ………………… ………………… statement N
I eksemplet ovenfor tilhører utsagnene som er på samme nivå til høyre funksjonen. Generelt kan vi bruke fire mellomrom for å definere innrykk.
I stedet for semikolon som brukt på andre språk, avslutter Python sine uttalelser med et NewLine-tegn.
Python er et språk som skiller mellom store og små bokstaver, noe som betyr at store og små bokstaver behandles forskjellig. For eksempel er 'navn' og 'navn' to forskjellige variabler i Python.
I Python kan kommentarer legges til ved å bruke '#'-symbolet. Enhver tekst skrevet etter '#'-symbolet anses som en kommentar og ignoreres av tolken. Dette trikset er nyttig for å legge til notater i koden eller midlertidig deaktivere en kodeblokk. Det hjelper også med å forstå koden bedre av noen andre utviklere.
'Hvis' , 'ellers', 'for' , 'mens' , 'prøve', 'unntatt' og 'endelig' er noen få reserverte nøkkelord i Python som ikke kan brukes som variabelnavn. Disse begrepene brukes i språket av spesielle grunner og har faste betydninger. Hvis du bruker disse nøkkelordene, kan koden din inneholde feil, eller tolken kan avvise dem som potensielle nye variabler.
Historien om Python
Python ble skapt av Guido van Rossum . På slutten av 1980-tallet begynte Guido van Rossum, en nederlandsk programmerer, å jobbe med Python mens han var ved Centrum Wiskunde & Informatica (CWI) i Nederland. Han ønsket å skape en etterfølger til ABC programmeringsspråk som ville være lett å lese og effektivt.
I februar 1991 ble den første offentlige versjonen av Python, versjon 0.9.0, utgitt. Dette markerte den offisielle fødselen til Python som et åpen kildekode-prosjekt . Språket ble oppkalt etter den britiske komedieserien ' Monty Pythons flygende sirkus '.
Python-utviklingen har gått gjennom flere stadier. I januar 1994 ble Python 1.0 utgitt som et brukbart og stabilt programmeringsspråk. Denne versjonen inkluderte mange av funksjonene som fortsatt er til stede i Python i dag.
Fra 1990-tallet til 2000-tallet , fikk Python popularitet for sin enkelhet, lesbarhet og allsidighet. I oktober 2000 ble Python 2.0 utgitt . Python 2.0 introduserte listeforståelser, søppelinnsamling og støtte for Unicode.
I desember 2008 ble Python 3.0 utgitt. Python 3.0 introduserte flere bakover-inkompatible endringer for å forbedre kodelesbarhet og vedlikehold.
Gjennom 2010-tallet økte Pythons popularitet, spesielt innen felt som maskinlæring og nettutvikling. Det rike økosystemet av biblioteker og rammeverk gjorde det til en favoritt blant utviklere.
De Python Software Foundation (PSF) ble etablert i 2001 å fremme, beskytte og fremme programmeringsspråket Python og dets fellesskap.
Hvorfor lære Python?
Python gir programmereren mange nyttige funksjoner. Disse funksjonene gjør det til det mest populære og mest brukte språket. Vi har listet opp noen viktige funksjoner i Python nedenfor.
- Objektorientert språk : Den støtter objektorientert programmering, noe som gjør det enkelt å skrive gjenbrukbar og modulær kode.
Hvor brukes Python?
Python er et populært programmeringsspråk for generell bruk, og det brukes i nesten alle tekniske felt. De forskjellige bruksområdene for Python er gitt nedenfor.
- Kunstig intelligens : AI er en ny teknologi, og Python er et perfekt språk for kunstig intelligens og maskinlæring på grunn av tilgjengeligheten til kraftige biblioteker som TensorFlow, Keras og PyTorch.
- DevOps : Python er mye brukt i DevOps for automatisering og skripting av infrastrukturadministrasjon, konfigurasjonsadministrasjon og distribusjonsprosesser.
- Forespørsler : et bibliotek for å lage HTTP-forespørsler
- SQLAlchemy : et bibliotek for arbeid med SQL-databaser
- Desperat : et rammeverk for å bygge multi-touch-applikasjoner
- Pygame : et bibliotek for spillutvikling
- REST rammeverk : et verktøysett for å bygge RESTful APIer
- FastAPI : et moderne, raskt nettrammeverk for å bygge APIer
- Strømbelyst : et bibliotek for å bygge interaktive nettapper for maskinlæring og datavitenskap
- NLTK : et bibliotek for naturlig språkbehandling
Python har et bredt spekter av biblioteker og rammeverk som er mye brukt i ulike felt som maskinlæring, kunstig intelligens, webapplikasjoner, etc. Vi definerer noen populære rammeverk og biblioteker til Python som følger.
Python print() funksjon
Python print()-funksjonen brukes til å vise utdata til konsollen eller terminalen. Den lar oss vise tekst, variabler og andre data i et menneskelig lesbart format.
Syntaks:
print(objekt(er), sep=separator, end=end, file=file, flush=flush)
Den tar ett eller flere argumenter atskilt med komma(,) og legger til en 'nylinje' på slutten som standard.
Parametere:
- objekt(er) - Så mange som du vil at data skal vises, vil først konverteres til streng og skrives ut til konsollen.
- sep - Separerer objektene med et skilletegn, standardverdi = ' '.
- slutt - Avslutter en linje med et linjeskifttegn
- fil - et filobjekt med skrivemetode, standardverdi = sys.stdout
Eksempel:
# 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))
Produksjon:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
I dette eksemplet brukes print-setningen til å skrive ut streng-, heltalls- og flyteverdier i et menneskelig lesbart format.
Utskriftserklæringen kan brukes til feilsøking, logging og for å gi informasjon til brukeren.
Python betingede erklæringer
Betingede utsagn hjelper oss med å utføre en bestemt blokk for en bestemt tilstand. I denne opplæringen vil vi lære hvordan du bruker betinget uttrykk for å utføre en annen blokk med utsagn. Python gir if og else nøkkelord for å sette opp logiske forhold. De Elif nøkkelord brukes også som et betinget utsagn.
Eksempelkode for if..else-setning
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Produksjon:
x is greater than y
I koden ovenfor har vi to variabler, x og y, med henholdsvis 10 og 5. Deretter brukte vi en if..else-setning for å sjekke om x er større enn y eller omvendt. Hvis den første betingelsen er sann, skrives setningen 'x er større enn y' ut. Hvis den første betingelsen er usann, skrives utsagnet 'y er større enn eller lik x' i stedet.
Nøkkelordet if kontrollerer at betingelsen er sann og kjører kodeblokken inne i den. Koden inne i else-blokken utføres hvis betingelsen er falsk. På denne måten hjelper if..else-setningen oss til å utføre forskjellige kodeblokker basert på en betingelse.
Vi vil lære mer om dette i den videre artikkelen for Python-opplæringen.
Python-løkker
Noen ganger må vi kanskje endre flyten i programmet. Utførelsen av en bestemt kode må kanskje gjentas flere ganger. For dette formålet gir programmeringsspråkene forskjellige løkker som er i stand til å gjenta en bestemt kode flere ganger. Vurder følgende veiledning for å forstå utsagnene i detalj.
Python For Loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Produksjon:
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:>
I eksempelkoden ovenfor har vi demonstrert bruk av to typer løkker i Python - For loop og While loop.
For-løkken brukes til å iterere over en sekvens av elementer, for eksempel en liste, tuppel eller streng. I eksemplet definerte vi en liste over frukter og brukte en for-løkke for å skrive ut hver frukt, men den kan også brukes til å skrive ut en rekke tall.
While-løkken gjentar en kodeblokk hvis den angitte betingelsen er sann. I eksemplet har vi initialisert en variabel i til 1 og brukt en while-løkke for å skrive ut verdien av i til den blir større enn eller lik 6. i += 1-setningen brukes til å øke verdien til i i hver iterasjon .
Vi vil lære om dem i opplæringen i detalj.
Python-datastrukturer
Python tilbyr fire innebygde datastrukturer: lister , tupler , settene , og ordbøker som lar oss lagre data på en effektiv måte. Nedenfor er de ofte brukte datastrukturene i Python, sammen med eksempelkode:
1. Lister
- Lister er bestilte samlinger av dataelementer av ulike datatyper.
- Lister er foranderlig betyr at en liste kan endres når som helst.
- Elementer kan være tilgang til ved hjelp av indekser .
- De er definert ved hjelp av firkantet parentes ' [] '.
Eksempel:
# 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)
Produksjon:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Tuples
- Tuples er også bestilte samlinger av dataelementer av forskjellige datatyper, lik Lister.
- Elementer kan være tilgang til ved hjelp av indekser .
- Tuples er uforanderlig noe som betyr at Tuples ikke kan endres når de først er opprettet.
- De er definert med åpen parentes ' () '.
Eksempel:
# 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_)
Produksjon:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Sett
- Sett er uordnet samlinger av uforanderlige dataelementer av forskjellige datatyper.
- Sett er foranderlig .
- Elementer er ikke tilgjengelige ved å bruke indekser.
- Settene inneholder ikke dupliserte elementer .
- De er definert ved hjelp av krøllete seler ' {} '
Eksempel:
# 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)
Produksjon:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Ordbøker
- Ordbok er nøkkel-verdi-par som lar deg assosiere verdier med unike nøkler.
- De er definert ved hjelp av krøllete seler ' {} ' med nøkkelverdi-par atskilt med kolon ':' .
- Ordbøker er foranderlig .
- Elementer kan nås ved hjelp av taster.
Eksempel:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Produksjon:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Dette er bare noen få eksempler på Pythons innebygde datastrukturer. Hver datastruktur har sine egne egenskaper og brukstilfeller.
alfabet til tall
Python funksjonell programmering
Denne delen av Python-opplæringen definerer noen viktige verktøy relatert til funksjonell programmering, for eksempel lambda og rekursive funksjoner. Disse funksjonene er svært effektive når det gjelder å utføre komplekse oppgaver. Vi definerer noen få viktige funksjoner, for eksempel redusere, kartlegge og filtrere. Python leverer functools-modulen som inkluderer ulike funksjonelle programmeringsverktøy. Besøk følgende veiledning for å lære mer om funksjonell programmering.
Nyere versjoner av Python har introdusert funksjoner som gjør funksjonell programmering mer kortfattet og uttrykksfull. For eksempel tillater 'walrus-operatoren':= innebygd variabeltilordning i uttrykk, noe som kan være nyttig når du arbeider med nestede funksjonskall eller listeforståelser.
Python funksjon
- Lambda funksjon - En lambdafunksjon er en liten, anonym funksjon som kan ta et hvilket som helst antall argumenter, men kan bare ha ett uttrykk. Lambda-funksjoner brukes ofte i funksjonell programmering for å lage funksjoner 'on the fly' uten å definere en navngitt funksjon.
- Rekursiv funksjon – En rekursiv funksjon er en funksjon som kaller seg for å løse et problem. Rekursive funksjoner brukes ofte i funksjonell programmering for å utføre komplekse beregninger eller for å krysse komplekse datastrukturer.
- Kartfunksjon - Map()-funksjonen bruker en gitt funksjon på hvert element i en iterabel og returnerer en ny iterabel med resultatene. Inndataene som kan gjentas kan være en liste, tuppel eller annet.
- Filterfunksjon - Filter()-funksjonen returnerer en iterator fra en iterabel som funksjonen passerte som det første argumentet returnerer True for. Den filtrerer ut elementene fra en iterabel som ikke oppfyller den gitte betingelsen.
- Reduser funksjon - Reduser()-funksjonen bruker en funksjon av to argumenter kumulativt på elementene i en iterabel fra venstre til høyre for å redusere den til en enkelt verdi.
- functools modul - Functools-modulen i Python gir funksjoner av høyere orden som opererer på andre funksjoner, for eksempel partial() og reduce().
- Currying funksjon - En currying-funksjon er en funksjon som tar flere argumenter og returnerer en sekvens av funksjoner som hver tar et enkelt argument.
- Memoiseringsfunksjon - Memoisering er en teknikk som brukes i funksjonell programmering for å bufre resultatene av dyre funksjonskall og returnere det hurtigbufrede resultatet når de samme inngangene skjer igjen.
- Trådefunksjon - Threading er en teknikk som brukes i funksjonell programmering for å kjøre flere oppgaver samtidig for å gjøre koden mer effektiv og raskere.
Python-moduler
Python-moduler er programfilene som inneholder Python-kode eller funksjoner. Python har to typer moduler – Brukerdefinerte moduler og innebygde moduler. En modul brukeren definerer, eller vår Python-kode lagret med .py-utvidelsen, behandles som en brukerdefinert modul.
Innebygde moduler er forhåndsdefinerte moduler av Python. For å bruke funksjonaliteten til modulene, må vi importere dem til vårt nåværende arbeidsprogram.
Python-moduler er avgjørende for språkets økosystem siden de tilbyr gjenbrukbar kode og funksjonalitet som kan importeres til et hvilket som helst Python-program. Her er noen eksempler på flere Python-moduler, sammen med en kort beskrivelse av hver:
Matte : Gir brukere tilgang til matematiske konstanter og pi og trigonometriske funksjoner.
Dato tid : Gir klasser for en enklere måte å manipulere datoer, klokkeslett og perioder på.
DU : Muliggjør interaksjon med basisoperativsystemet, inkludert administrasjon av prosesser og filsystemaktiviteter.
tilfeldig : Tilfeldig funksjon tilbyr verktøy for å generere tilfeldige heltall og velge tilfeldige elementer fra en liste.
JSON : JSON er en datastruktur som kan kodes og dekodes og brukes ofte i online APIer og datautveksling. Denne modulen gjør det mulig å håndtere JSON.
Re : Støtter regulære uttrykk, et kraftig verktøy for tekstsøk og tekstmanipulering.
Samlinger : Gir alternative datastrukturer som sorterte ordbøker, standardordbøker og navngitte tupler.
NumPy : NumPy er et kjerneverktøysett for vitenskapelig databehandling som støtter numeriske operasjoner på matriser og matriser.
Pandaer : Den gir datastrukturer og operasjoner på høyt nivå for å håndtere tidsserier og andre strukturerte datatyper.
Forespørsler : Tilbyr et enkelt brukergrensesnitt for web-APIer og utfører HTTP-forespørsler.
Python-fil I/O
Filer brukes til å lagre data på en datamaskindisk. I denne opplæringen forklarer vi det innebygde filobjektet til Python. Vi kan åpne en fil ved hjelp av Python-skript og utføre ulike operasjoner som å skrive, lese og legge til. Det er forskjellige måter å åpne en fil på. Vi blir forklart med det aktuelle eksempelet. Vi vil også lære å utføre lese-/skriveoperasjoner på binære filer.
Pythons filinn-/utdatasystem (I/O). tilbyr programmer for å kommunisere med filer som er lagret på en plate. Pythons innebygde metoder for filobjektet lar oss utføre handlinger som å lese, skrive og legge til data i filer.
De åpen() metoden i Python lager et filobjekt når du arbeider med filer. Navnet på filen som skal åpnes og modusen som filen skal åpnes i er de to parameterne som kreves av denne funksjonen. Modusen kan brukes i henhold til arbeid som må gjøres med filen, for eksempel ' r 'for lesing,' I ' for å skrive, eller ' en ' for å feste.
Etter vellykket opprettelse av et objekt, kan forskjellige metoder brukes i henhold til vårt arbeid. Hvis vi vil skrive i filen, kan vi bruke write()-funksjonene, og hvis du vil lese og skrive begge, så kan vi bruke append()-funksjonen og, i tilfeller hvor vi kun ønsker å lese innholdet i filen kan vi bruke read() funksjonen. Binære filer som inneholder data i et binært snarere enn et tekstformat kan også jobbes med ved å bruke Python. Binære filer er skrevet på en måte som mennesker ikke kan forstå direkte. De rb og wb moduser kan lese og skrive binære data i binære filer.
Python-unntak
Et unntak kan defineres som en uvanlig tilstand i et program som resulterer i et avbrudd i flyten av programmet.
Når et unntak oppstår, stopper programmet kjøringen, og dermed blir den andre koden ikke utført. Derfor er et unntak kjøretidsfeilene som ikke er i stand til å håndtere Python-skriptet. Et unntak er et Python-objekt som representerer en feil.
Python-unntak er et viktig aspekt ved feilhåndtering i Python-programmering. Når et program støter på en uventet situasjon eller feil, kan det oppstå et unntak, som kan forstyrre den normale flyten av programmet.
I Python er unntak representert som objekter som inneholder informasjon om feilen, inkludert type og melding. Den vanligste typen unntak i Python er Exception-klassen, en basisklasse for alle andre innebygde unntak.
For å håndtere unntak i Python bruker vi prøve og unntatt uttalelser. De prøve setningen brukes til å omslutte koden som kan gi et unntak, mens unntatt setning brukes til å definere en kodeblokk som skal utføres når et unntak oppstår.
Tenk for eksempel på følgende kode:
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')
Produksjon:
Enter a number: 0 Error: Division by zero
I denne koden bruker vi try-setningen for å forsøke å utføre en divisjonsoperasjon. Hvis en av disse operasjonene gir et unntak, utføres den matchende unntatt-blokken.
Python gir også mange innebygde unntak som kan reises i lignende situasjoner. Noen vanlige innebygde unntak inkluderer IndexError, TypeError , og Navnefeil . Vi kan også definere våre egendefinerte unntak ved å opprette en ny klasse som arver fra Exception-klassen.
Python CSV
En CSV står for 'kommaseparerte verdier', som er definert som et enkelt filformat som bruker spesifikk strukturering for å ordne tabelldata. Den lagrer tabelldata som regneark eller databaser i ren tekst og har et felles format for datautveksling. En CSV-fil åpnes i Excel-arket, og radene og kolonnedataene definerer standardformatet.
Vi kan bruke funksjonen CSV.reader til å lese en CSV-fil. Denne funksjonen returnerer et leserobjekt som vi kan bruke til å gjenta over radene i CSV-filen. Hver rad returneres som en liste over verdier, der hver verdi tilsvarer en kolonne i CSV-filen.
Tenk for eksempel på følgende kode:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Her åpner vi filen data.csv i lesemodus og lager en csv.leser objekt ved hjelp av csv.reader() funksjon. Vi itererer så over radene i CSV-filen ved å bruke en for-løkke og skriver ut hver rad til konsollen.
Vi kan bruke CSV.writer() funksjon for å skrive data til en CSV-fil. Den returnerer et writer-objekt vi kan bruke til å skrive rader til CSV-filen. Vi kan skrive rader ved å ringe til forfatter () metode på forfatterobjektet.
Tenk for eksempel på følgende kode:
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)
I dette programmet lager vi en liste over lister kalt data, der hver indre liste representerer en rad med data. Vi åpner deretter filen data.csv i skrivemodus og lager en CSV.writer objekt ved å bruke funksjonen CSV.writer. Vi itererer deretter over radene i data ved å bruke en for-løkke og skriver hver rad til CSV-filen ved å bruke writer-metoden.
Python sender e-post
Vi kan sende eller lese en e-post ved å bruke Python-skriptet. Pythons standard bibliotekmoduler er nyttige for å håndtere ulike protokoller som PoP3 og IMAP. Python gir smtplib modul for å sende e-poster ved hjelp av SMTP (Simple Mail Transfer Protocol). Vi vil lære hvordan du sender e-post med den populære e-posttjenesten SMTP fra et Python-skript.
Python magiske metoder
Python-magimetoden er den spesielle metoden som legger til 'magi' til en klasse. Det starter og slutter med doble understrekinger, for eksempel, _varmt_ eller _str_ .
De innebygde klassene definerer mange magiske metoder. De du() funksjonen kan brukes til å se antall magiske metoder som er arvet av en klasse. Den har to prefikser og suffiksunderstrekinger i metodenavnet.
- Python magiske metoder er også kjent som dunder metoder , forkortelse for 'dobbelt understrek'-metoder fordi navnene deres starter og slutter med en dobbel understreking.
- Magiske metoder blir automatisk påkalt av Python-tolken i visse situasjoner, for eksempel når et objekt opprettes, sammenlignes med et annet objekt eller skrives ut.
- Magiske metoder kan brukes til å tilpasse oppførselen til klasser, for eksempel å definere hvordan objekter sammenlignes, konverteres til strenger eller åpnes som containere.
- Noen vanlige magiske metoder inkluderer varme for initialisering av et objekt, str for å konvertere et objekt til en streng, ekv for å sammenligne to objekter for likhet, og tidsbestemt og settelement for å få tilgang til elementer i et beholderobjekt.
For eksempel str magisk metode kan definere hvordan et objekt skal representeres som en streng. Her er et eksempel
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)
Produksjon:
Vikas (22)
I dette eksemplet er str-metoden definert for å returnere en formatert strengrepresentasjon av Person-objektet med personens navn og alder.
En annen vanlig brukt magisk metode er ekv , som definerer hvordan objekter skal sammenlignes for likhet. Her er et eksempel:
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)
Produksjon:
False True
I dette eksemplet er ekv metoden er definert for å returnere True hvis to punktobjekter har samme x- og y-koordinater og usann ellers.
Python Oops-konsepter
Alt i Python behandles som et objekt, inkludert heltallsverdier, flyter, funksjoner, klasser og ingen. Bortsett fra det støtter Python alle orienterte konsepter. Nedenfor er en kort introduksjon til Oops-konseptene til Python.
- Klasser og objekter - Python-klasser er tegningene til objektet. Et objekt er en samling av data og metoder som virker på dataene.
- Arv – En arv er en teknikk der en klasse arver egenskapene til andre klasser.
- Konstruktør - Python gir en spesiell metode __init__() som er kjent som en konstruktør. Denne metoden kalles automatisk når et objekt instansieres.
- Polymorfisme – Polymorfisme er et begrep hvor en gjenstand kan ha mange former. I Python kan polymorfisme oppnås gjennom metodeoverbelastning og metodeoverstyring.
- Metodeoverstyring – Metodeoverstyring er et konsept der en underklasse implementerer en metode som allerede er definert i sin superklasse.
- Innkapsling – Innkapsling er å pakke inn data og metoder i en enkelt enhet. I Python oppnås innkapsling gjennom tilgangsmodifikatorer, for eksempel offentlig, privat og beskyttet. Python håndhever imidlertid ikke tilgangsmodifikatorer strengt, og navnekonvensjonen indikerer tilgangsnivået.
- Dataabstraksjon : En teknikk for å skjule kompleksiteten til data og vise bare viktige funksjoner til brukeren. Det gir et grensesnitt for å samhandle med dataene. Dataabstraksjon reduserer kompleksiteten og gjør koden mer modulær, slik at utviklere kan fokusere på programmets essensielle funksjoner.
For å lese Oops-konseptet i detalj, besøk følgende ressurser.
- Python Oops Concepts - I Python er det objektorienterte paradigmet å designe programmet ved å bruke klasser og objekter. Objektet er relatert til virkelige ord-enheter som bok, hus, blyant osv. og klassen definerer egenskapene og oppførselen.
- Python-objekter og klasser - I Python er objekter forekomster av klasser og klasser er blåkopier som definerer struktur og oppførsel av data.
- Python-konstruktør – En konstruktør er en spesiell metode i en klasse som brukes til å initialisere objektets attributter når objektet lages.
- Python arv - Arv er en mekanisme der ny klasse (underklasse eller barneklasse) arver egenskapene og oppførselen til en eksisterende klasse (superklasse eller overordnet klasse).
- Python-polymorfisme - Polymorfisme gjør at objekter av forskjellige klasser kan behandles som objekter av en felles superklasse, noe som gjør at forskjellige klasser kan brukes om hverandre gjennom et felles grensesnitt.
Python Advance Emner
Python inneholder mange fremskritt og nyttige konsepter som hjelper programmereren med å løse komplekse oppgaver. Disse konseptene er gitt nedenfor.
Python Iterator
En iterator er ganske enkelt et objekt som kan itereres på. Den returnerer ett objekt om gangen. Det kan implementeres ved hjelp av de to spesielle metodene, __iter__() og __neste__().
Iteratorer i Python er objekter som tillater iterasjon over en samling av data. De behandler hvert samlingselement individuelt uten å laste hele samlingen inn i minnet.
La oss for eksempel lage en iterator som returnerer kvadratene av tall opp til en gitt grense:
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></=>
I dette eksemplet har vi laget en klasse Squares som fungerer som en iterator ved å implementere metodene __iter__() og __next__(). __iter__()-metoden returnerer selve objektet, og __next__()-metoden returnerer neste kvadrat av tallet til grensen er nådd.
For å lære mer om iteratorene, besøk vår Python Iterators-opplæring.
Python-generatorer
Python generatorer produsere en sekvens av verdier ved hjelp av en avkastningsoppgave snarere enn en retur siden de er funksjoner som returnerer iteratorer. Generatorer avslutter funksjonens utførelse mens de beholder den lokale staten. Den fortsetter der den slapp når den startes på nytt. Fordi vi ikke trenger å implementere iteratorprotokollen takket være denne funksjonen, er det enklere å skrive iteratorer. Her er en illustrasjon av en enkel generatorfunksjon som produserer kvadrater av tall:
# 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)
Produksjon:
0 1 4 9 16
Python-modifikatorer
Python dekoratører er funksjoner som brukes til å endre oppførselen til en annen funksjon. De tillater å legge til funksjonalitet til en eksisterende funksjon uten å endre koden direkte. Dekoratører er definert ved hjelp av @ symbol etterfulgt av navnet på dekorasjonsfunksjonen. De kan brukes til logging, timing, caching, etc.
Her er et eksempel på en dekorasjonsfunksjon som legger til tidsfunksjonalitet til en annen funksjon:
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)
Produksjon:
I eksemplet ovenfor tar time_it-dekoratorfunksjonen en annen funksjon som argument og returnerer en wrapper-funksjon. Innpakningsfunksjonen beregner tiden det tar å utføre den opprinnelige funksjonen og skriver den ut til konsollen. @time_it-dekoratoren brukes til å bruke time_it-funksjonen på funksjonen min_funksjon. Når my_function kalles, utføres dekoratoren, og tidsfunksjonaliteten legges til.
Python MySQL
Python MySQL er et kraftig relasjonsdatabaseadministrasjonssystem. Vi må sette opp miljøet og etablere en forbindelse for å bruke MySQL med Python. Vi kan lage en ny database og tabeller ved å bruke SQL-kommandoer i Python.
- Miljøoppsett : Installere og konfigurere MySQL Connector/Python for å bruke Python med MySQL.
- Databasetilkobling : Etablere en forbindelse mellom Python og MySQL-database ved hjelp av MySQL Connector/Python.
- Opprette ny database : Opprette en ny database i MySQL ved hjelp av Python.
- Opprette tabeller : Opprette tabeller i MySQL-databasen med Python ved hjelp av SQL-kommandoer.
- Innsettingsoperasjon : Sett inn data i MySQL-tabeller ved hjelp av Python- og SQL-kommandoer.
- Les Operasjon : Leser data fra MySQL-tabeller ved hjelp av Python- og SQL-kommandoer.
- Oppdateringsoperasjon : Oppdatere data i MySQL-tabeller ved hjelp av Python- og SQL-kommandoer.
- Bli med i Operation : Sammenføyning av to eller flere tabeller i MySQL ved hjelp av Python- og SQL-kommandoer.
- Utføre transaksjoner : Utføre en gruppe SQL-spørringer som en enkelt arbeidsenhet i MySQL ved hjelp av Python.
Andre relative punkter inkluderer håndtering av feil, opprettelse av indekser og bruk av lagrede prosedyrer og funksjoner i MySQL med Python.
Python MongoDB
Python MongoDB er en populær NoSQL-database som lagrer data i JSON-lignende dokumenter. Den er skjemaløs og gir høy skalerbarhet og fleksibilitet for datalagring. Vi kan bruke MongoDB med Python ved å bruke PyMongo-biblioteket, som gir et enkelt og intuitivt grensesnitt for samhandling med MongoDB.
Her er noen vanlige oppgaver når du arbeider med MongoDB i Python:
- Miljøoppsett : Installer og konfigurer MongoDB og PyMongo-biblioteket på systemet ditt.
- Databasetilkobling : Koble til en MongoDB-server ved å bruke MongoClient-klassen fra PyMongo.
- Opprette en ny database : Bruk MongoClient-objektet til å opprette en ny database.
- Opprette samlinger : Opprett samlinger i en database for å lagre dokumenter.
- Legge inn dokumenter : Sett inn nye dokumenter i en samling ved å bruke metodene insert_one() eller insert_many().
- Spørre etter dokumenter : Hent dokumenter fra en samling ved hjelp av ulike spørringsmetoder som find_one(), find(), etc.
- Oppdatering av dokumenter : Endre eksisterende dokumenter i en samling ved å bruke metodene update_one() eller update_many().
- Sletting av dokumenter : Fjern dokumenter fra en samling ved å bruke metodene delete_one() eller delete_many().
- Aggregasjon : Utfør aggregeringsoperasjoner som gruppering, telling osv. ved å bruke rammeverket for aggregeringsrørledning.
Det er mange mer avanserte emner i MongoDB, for eksempel datadeling, replikering og mer, men disse oppgavene dekker det grunnleggende om å jobbe med MongoDB i Python.
Python SQLite
Relasjonsdatabaser bygges og vedlikeholdes ved hjelp av Python SQLite, en kompakt, serverløs, selvstendig databasemotor. Mobiliteten og enkelheten gjør den til et populært alternativ for lokale eller småskala applikasjoner. Python har en innebygd modul for å koble til SQLite-databaser kalt SQLite3, som gjør det mulig for utviklere å jobbe med SQLite-databaser uten problemer.
Ulike API-metoder er tilgjengelige gjennom SQLite3-biblioteket som kan brukes til å kjøre SQL-spørringer, sette inn, velge, oppdatere og fjerne data, samt hente data fra tabeller. I tillegg tillater det transaksjoner, slik at programmerere kan angre endringer i tilfelle et problem. Python SQLite er et fantastisk alternativ for å lage programmer som trenger et innebygd databasesystem, inkludert skrivebords-, mobil- og nettprogrammer av beskjeden størrelse. SQLite har blitt populær blant utviklere for lette apper med databasefunksjonalitet takket være dens brukervennlighet, portabilitet og jevn tilkobling med Python.
Python CGI
Python CGI er en teknologi for å kjøre skript gjennom webservere for å produsere dynamisk nettinnhold. Den tilbyr en kommunikasjonskanal og et dynamisk innholdsgenereringsgrensesnitt for eksterne CGI-skript og webserveren. Python CGI-skript kan lage HTML-websider, håndtere skjemainndata og kommunisere med databaser. Python CGI gjør det mulig for serveren å utføre Python-skript og gi resultatene til klienten, og tilbyr en rask og effektiv tilnærming til å lage dynamiske nettapplikasjoner.
Python CGI-skript kan brukes til mange ting, inkludert å lage dynamiske nettsider, behandle skjemaer og samhandle med databaser. Siden Python, et potent og populært programmeringsspråk, kan brukes til å lage skript, muliggjør det en mer tilpasset og fleksibel tilnærming til nettoppretting. Skalerbare, sikre og vedlikeholdbare nettapplikasjoner kan lages med Python CGI. Python CGI er et hendig verktøy for webutviklere som bygger dynamiske og interaktive nettapplikasjoner.
Asynkron programmering i Python
Asynkron programmering er et paradigme for dataprogrammering som muliggjør uavhengig og samtidig drift av aktiviteter. Det brukes ofte i applikasjoner som webservere, databaseprogramvare og nettverksprogrammering, der flere oppgaver eller forespørsler må håndteres samtidig.
Python har asyncio, Twisted og Tornado blant sine biblioteker og rammeverk for asynkron programmering. Asyncio, en av disse, tilbyr et enkelt grensesnitt for asynkron programmering og er det offisielle biblioteket for asynkron programmering i Python.
Coroutines er funksjoner som kan stoppes og startes på nytt på bestemte steder i koden og brukes av asyncio. Dette gjør at mange koroutiner kan operere samtidig uten å forstyrre hverandre. For å konstruere og vedlikeholde korutiner tilbyr biblioteket flere klasser og metoder, inkludert asyncio.gather(), asyncio.wait(), og asyncio.create_task().
Eventloops, som har ansvaret for planlegging og drift av koroutiner, er en annen funksjon ved asyncio. Ved å sykle mellom korutiner på en ikke-blokkerende måte, kontrollerer hendelsessløyfen utførelsen av korutiner og sikrer at ingen korutiner blokkerer en annen. I tillegg støtter den tidtakere og planlegge tilbakeringinger, noe som kan være nyttig når aktiviteter må fullføres til bestemte tider eller intervaller.
Python samtidighet
Begrepet ' samtidighet ' beskriver et programs kapasitet til å utføre flere oppgaver samtidig, noe som øker programmets effektivitet. Python tilbyr flere moduler og samtidighetsrelaterte metoder, inkludert asynkron programmering, multiprosessering og multithreading. Mens multiprosessering innebærer å kjøre mange prosesser samtidig på et system, innebærer multithreading å kjøre mange tråder samtidig i en enkelt prosess.
De gjengemodul i Python gjør det mulig for programmerere å bygge multithreading. Den tilbyr klasser og operasjoner for å etablere og kontrollere tråder. Motsatt lar multiprosesseringsmodulen utviklere designe og kontrollere prosesser. Pythons asyncio-modul gir støtte for asynkron programmering, slik at utviklere kan skrive ikke-blokkerende kode som kan håndtere flere oppgaver samtidig. Ved å bruke disse teknikkene kan utviklere skrive skalerbare programmer med høy ytelse som kan håndtere flere oppgaver samtidig.
Pythons trådmodul muliggjør samtidig utførelse av flere tråder innenfor en enkelt prosess, noe som er nyttig for I/O-bundne aktiviteter.
For CPU-intensive operasjoner som bildebehandling eller dataanalyse, gjør multiprosesseringsmoduler det mulig å utføre en rekke prosesser samtidig på tvers av flere CPU-kjerner.
Asyncio-modulen støtter asynkron I/O og tillater opprettelse av entråds samtidig kode ved bruk av korutiner for høykonkurransenettverksapplikasjoner.
Med biblioteker som Dask , PySpark , og MPI, kan Python også brukes for parallell databehandling. Disse bibliotekene lar arbeidsbelastninger distribueres på tvers av en rekke noder eller klynger for bedre ytelse.
Nettscrapping med Python
Prosessen med nettskraping brukes til å hente data fra nettsteder automatisk. Ulike verktøy og biblioteker trekker ut data fra HTML og andre nettformater. Python er blant de mest brukte programmeringsspråkene for nettskraping på grunn av dets brukervennlighet, tilpasningsevne og variasjon av biblioteker.
Vi må ta noen få skritt for å oppnå nettskraping med Python. Vi må først bestemme hvilken nettside vi skal skrape og hvilken informasjon vi skal samle inn. Deretter kan vi sende inn en forespørsel til nettstedet og motta HTML-innholdet ved å bruke Pythons forespørselspakke. Når vi har HTML-teksten, kan vi trekke ut de nødvendige dataene ved å bruke en rekke parsingspakker, som Nydelig suppe og lxml .
Vi kan bruke flere strategier, som å bremse forespørsler, bruke brukeragenter og bruke proxyer, for å forhindre overbelastning av nettstedets server. Det er også avgjørende å overholde tjenestevilkårene for nettstedet og respektere robots.txt-filen.
Datautvinning, lead-oppretting, prissporing og mange flere bruksområder er mulig for nettskraping. Men siden uautorisert nettskraping kan være i strid med loven og uetisk, er det viktig å bruke det profesjonelt og etisk.
Natural Language Processing (NLP) ved hjelp av Python
En gren av kunstig intelligens (AI) kalt 'naturlig språkbehandling' (NLP) studerer hvordan datamaskiner og menneskelig språk samhandler. Takket være NLP kan datamaskiner nå forstå, tolke og produsere menneskelig språk. På grunn av sin enkelhet, allsidighet og sterke biblioteker som NLTK (Natural Language Toolkit) og spaCy, er Python et velkjent programmeringsspråk for NLP.
For NLP-oppgaver, inkludert tokenisering, stemming, lemmatisering, del-of-speech-tagging, navngitt enhetsidentifikasjon, sentimentanalyse og andre, tilbyr NLTK et komplett bibliotek. Den har en rekke korpus (store, organiserte tekstsamlinger) for utvikling og evaluering av NLP-modeller. Et annet godt likt bibliotek for NLP-oppgaver er spaCy , som tilbyr rask og effektiv behandling av enorme mengder tekst. Den muliggjør enkel modifikasjon og utvidelse og leveres med forhåndsopplærte modeller for ulike NLP-arbeidsbelastninger.
NLP kan brukes i Python til ulike praktiske formål, inkludert chatbots, sentimentanalyse, tekstkategorisering, maskinoversettelse og mer. NLP brukes for eksempel av chatbots for å forstå og svare på brukerhenvendelser på et naturlig språk. Sentimentanalyse, som kan være nyttig for merkevareovervåking, analyse av tilbakemeldinger fra kunder og andre formål, bruker NLP for å kategorisere tekstsentiment (positiv, negativ eller nøytral). Tekstdokumenter er kategorisert ved bruk av naturlig språkbehandling (NLP) i forhåndsetablerte kategorier for spam-deteksjon, nyhetskategorisering og andre formål.
Python er et sterkt og nyttig verktøy når man skal analysere og behandle menneskelig språk. Utviklere kan utføre ulike NLP-aktiviteter og lage nyttige apper som kan kommunisere med forbrukere på naturlig språk med biblioteker som NLTK og spaCy.
Konklusjon:
I denne opplæringen har vi sett på noen av Pythons viktigste funksjoner og ideer, inkludert variabler, datatyper, løkker, funksjoner, moduler og mer. Mer komplekse emner, inkludert nettskraping, naturlig språkbehandling, parallellitet og databasetilkobling, har også blitt diskutert. Du vil ha et sterkt grunnlag for å fortsette å lære om Python og dets applikasjoner ved å bruke informasjonen du har lært fra denne leksjonen.
konvertere streng til dato
Husk at å øve og utvikle kode er den beste metoden for å lære Python. Du kan finne mange ressurser på javaTpoint for å støtte din videre læring, inkludert dokumentasjon, opplæringsprogrammer, nettgrupper og mer. Du kan mestre Python og bruke den til å lage fantastiske ting hvis du jobber hardt og holder på.
Forutsetning
Før du lærer Python, må du ha grunnleggende kunnskap om programmeringskonsepter.
Publikum
Python-opplæringen vår er utviklet for å hjelpe nybegynnere og profesjonelle.
Problem
Vi forsikrer at du ikke vil finne noe problem i denne Python-opplæringen. Men hvis det er noen feil, vennligst legg ut problemet i kontaktskjemaet.
=>5:>