Python er et meget brugt programmeringssprog, der tilbyder flere unikke funktioner og fordele sammenlignet med sprog som f.eks Java og C++. Vores Python tutorial forklarer grundigt Python grundlæggende og avancerede koncepter, startende med installation, betingede erklæringer , sløjfer , indbyggede datastrukturer , Objektorienteret programmering , Generatorer , Undtagelseshåndtering , Python RegEx og mange andre koncepter. Denne tutorial er designet til begyndere og professionelle.
I slutningen af 1980'erne, Guido van Rossum drømte om at udvikle Python. Den første version af Python 0.9.0 blev udgivet i 1991 . Siden udgivelsen begyndte Python at vinde popularitet. Ifølge rapporter er Python nu det mest populære programmeringssprog blandt udviklere på grund af dets høje krav inden for teknologiområdet.
Hvad er Python
Python er et generel formål, dynamisk skrevet, højt niveau, kompileret og fortolket, skraldopsamlet og rent objektorienteret programmeringssprog, der understøtter proceduremæssig, objektorienteret og funktionel programmering.
Funktioner i Python:
Python har mange webbaserede aktiver , open source-projekter , og et levende samfund . At lære sproget, arbejde sammen om projekter og bidrage til Python-økosystemet er alt sammen gjort meget nemt for udviklere.
På grund af dens ligefremme sprogramme er Python nemmere at forstå og skrive kode i. Dette gør det til et fantastisk programmeringssprog for begyndere. Derudover hjælper det erfarne programmører med at skrive klar og fejlfri kode.
Python har mange tredjepartsbiblioteker, der kan bruges til at gøre dets funktionalitet nemmere. Disse biblioteker dækker mange domæner, for eksempel webudvikling, videnskabelig databehandling, dataanalyse og meget mere.
Java vs. Python
Python er et glimrende valg til hurtig udvikling og scripting opgaver. Hvorimod Java lægger vægt på et stærkt typesystem og objektorienteret programmering.
Her er nogle grundlæggende programmer, der illustrerer de vigtigste forskelle mellem dem.
Udskrivning af 'Hello World'
Python kode:
print('Hello World)'
I Python er det en kodelinje. Det kræver simpel syntaks at udskrive 'Hello World'
Java kode:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
I Java er vi nødt til at erklære klasser, metodestrukturerer mange andre ting.
Mens begge programmer giver det samme output, kan vi bemærke syntaksforskellen i printsætningen.
hvordan man henter game pigeon på Android
- I Python er det nemt at lære og skrive kode. Mens det er i Java, kræver det mere kode for at udføre visse opgaver.
- Python er dynamisk skrevet, hvilket betyder, at vi ikke behøver at erklære variablen, hvorimod Java er statistisk skrevet, hvilket betyder, at vi skal erklære variabeltypen.
- Python er velegnet til forskellige domæner såsom Data Science, Machine Learning, Webudvikling og meget mere. Hvorimod Java er velegnet til webudvikling, udvikling af mobilapps (Android) og mere.
Python grundlæggende syntaks
Der er ingen brug af krøllede seler eller semikolon i programmeringssproget Python. Det er et engelsk-lignende sprog. Men Python bruger indrykning til at definere en kodeblok. Indrykning er ikke andet end at tilføje mellemrum før erklæringen, når det er nødvendigt.
For eksempel -
def func(): statement 1 statement 2 ………………… ………………… statement N
I ovenstående eksempel hører de udsagn, der er på samme niveau til højre, til funktionen. Generelt kan vi bruge fire mellemrum til at definere indrykning.
I stedet for semikolon som brugt på andre sprog, afslutter Python sine udsagn med et NewLine-tegn.
Python er et sprog, der skelner mellem store og små bogstaver, hvilket betyder, at store og små bogstaver behandles forskelligt. For eksempel er 'navn' og 'navn' to forskellige variabler i Python.
I Python kan kommentarer tilføjes ved hjælp af '#'-symbolet. Enhver tekst skrevet efter '#'-symbolet betragtes som en kommentar og ignoreres af tolken. Dette trick er nyttigt til at tilføje noter til koden eller midlertidigt deaktivere en kodeblok. Det hjælper også med at forstå koden bedre af nogle andre udviklere.
'Hvis' , 'andet', 'for' , 'mens' , 'try', 'undtagen' og 'endelig' er nogle få reserverede nøgleord i Python, der ikke kan bruges som variabelnavne. Disse udtryk bruges i sproget af særlige årsager og har faste betydninger. Hvis du bruger disse nøgleord, kan din kode indeholde fejl, eller tolken kan afvise dem som potentielle nye variabler.
Pythons historie
Python blev skabt af Guido van Rossum . I slutningen af 1980'erne begyndte Guido van Rossum, en hollandsk programmør, at arbejde på Python, mens han var på Centrum Wiskunde & Informatica (CWI) i Holland. Han ønskede at skabe en efterfølger til ABC programmeringssprog det ville være let at læse og effektivt.
I februar 1991 blev den første offentlige version af Python, version 0.9.0, udgivet. Dette markerede den officielle fødsel af Python som et open source-projekt . Sproget blev opkaldt efter den britiske komedieserie ' Monty Pythons flyvende cirkus '.
Python-udviklingen har gennemgået flere faser. I januar 1994 blev Python 1.0 udgivet som et brugbart og stabilt programmeringssprog. Denne version inkluderede mange af de funktioner, der stadig er til stede i Python i dag.
Fra 1990'erne til 2000'erne , vandt Python popularitet for sin enkelhed, læsbarhed og alsidighed. I oktober 2000 blev Python 2.0 udgivet . Python 2.0 introducerede listeforståelser, affaldsindsamling og understøttelse af Unicode.
I december 2008 blev Python 3.0 udgivet. Python 3.0 introducerede flere bagud-inkompatible ændringer for at forbedre kodelæsbarhed og vedligeholdelse.
Gennem 2010'erne steg Pythons popularitet, især inden for områder som maskinlæring og webudvikling. Dets rige økosystem af biblioteker og rammer gjorde det til en favorit blandt udviklere.
Det Python Software Foundation (PSF) blev etableret i 2001 at fremme, beskytte og fremme Python-programmeringssproget og dets fællesskab.
Hvorfor lære Python?
Python giver mange nyttige funktioner til programmøren. Disse funktioner gør det til det mest populære og udbredte sprog. Vi har nedenfor listet nogle væsentlige funktioner i Python.
- Objektorienteret sprog : Det understøtter objektorienteret programmering, hvilket gør det nemt at skrive genanvendelig og modulær kode.
Hvor bruges Python?
Python er et populært programmeringssprog til generelle formål, og det bruges i næsten alle tekniske områder. De forskellige områder af Python-brug er angivet nedenfor.
- Kunstig intelligens : AI er en ny teknologi, og Python er et perfekt sprog til kunstig intelligens og maskinlæring på grund af tilgængeligheden af kraftfulde biblioteker såsom TensorFlow, Keras og PyTorch.
- DevOps : Python er meget brugt i DevOps til automatisering og scripting af infrastrukturstyring, konfigurationsstyring og implementeringsprocesser.
- Forespørgsler : et bibliotek til at lave HTTP-anmodninger
- SQLAlchemy : et bibliotek til at arbejde med SQL-databaser
- Desperat : en ramme til opbygning af multi-touch-applikationer
- Pygame : et bibliotek til spiludvikling
- REST-ramme : et værktøjssæt til at bygge RESTful API'er
- FastAPI : en moderne, hurtig webramme til opbygning af API'er
- Strømbelyst : et bibliotek til at bygge interaktive webapps til maskinlæring og datavidenskab
- NLTK : et bibliotek til naturlig sprogbehandling
Python har en bred vifte af biblioteker og rammer, der er meget udbredt inden for forskellige områder såsom maskinlæring, kunstig intelligens, webapplikationer osv. Vi definerer nogle populære rammer og biblioteker i Python som følger.
Python print() Funktion
Python print()-funktionen bruges til at vise output til konsollen eller terminalen. Det giver os mulighed for at vise tekst, variabler og andre data i et menneskeligt læsbart format.
Syntaks:
print(objekt(er), sep=separator, end=end, file=file, flush=flush)
Det tager et eller flere argumenter adskilt af komma(,) og tilføjer som standard en 'nylinje' i slutningen.
Parametre:
- objekt(er) - Så mange som du ønsker data skal vise, vil først konverteres til streng og udskrives til konsollen.
- sep - Adskiller objekterne ved hjælp af en separator, standardværdi = ' '.
- ende - Afslutter en linje med et nylinjetegn
- fil - et filobjekt med skrivemetode, standardværdi = 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))
Produktion:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
I dette eksempel bruges print-sætningen til at udskrive streng-, heltal- og flydende værdier i et menneskeligt læsbart format.
Udskriftserklæringen kan bruges til debugging, logning og til at give information til brugeren.
Python betingede erklæringer
Betingede udsagn hjælper os med at udføre en bestemt blok for en bestemt tilstand. I denne øvelse lærer vi, hvordan man bruger betinget udtryk til at udføre en anden blok af sætninger. Python giver if og else nøgleord til at opsætte logiske betingelser. Det Elif nøgleord bruges også som et betinget udsagn.
Eksempelkode for if..else-sætning
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Produktion:
x is greater than y
I ovenstående kode har vi to variable, x og y, med henholdsvis 10 og 5. Så brugte vi en if..else-sætning til at kontrollere, om x er større end y eller omvendt. Hvis den første betingelse er sand, udskrives udsagnet 'x er større end y'. Hvis den første betingelse er falsk, udskrives udsagnet 'y er større end eller lig med x' i stedet.
Nøgleordet if kontrollerer, at betingelsen er sand og udfører kodeblokken inde i den. Koden inde i else-blokken udføres, hvis betingelsen er falsk. På denne måde hjælper if..else-sætningen os med at udføre forskellige kodeblokke baseret på en betingelse.
Vi vil lære mere om dette i den yderligere artikel til Python-tutorialen.
Python-løkker
Nogle gange kan vi være nødt til at ændre programmets flow. Udførelsen af en specifik kode skal muligvis gentages flere gange. Til dette formål tilvejebringer programmeringssprogene forskellige sløjfer, der er i stand til at gentage en bestemt kode flere gange. Overvej følgende vejledning for at forstå udsagnene i detaljer.
Python til loop
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Produktion:
apple banana cherry
Python Mens 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 ovenstående eksempelkode har vi demonstreret brugen af to typer loops i Python - For loop og While loop.
For-løkken bruges til at iterere over en sekvens af elementer, såsom en liste, tuple eller streng. I eksemplet definerede vi en liste over frugter og brugte en for-løkke til at udskrive hver frugt, men den kan også bruges til at udskrive en række tal.
While-løkken gentager en kodeblok, hvis den angivne betingelse er sand. I eksemplet har vi initialiseret en variabel i til 1 og brugt en while-løkke til at udskrive værdien af i, indtil den bliver større end eller lig med 6. i += 1-sætningen bruges til at øge værdien af i i hver iteration .
Vi vil lære om dem i selvstudiet i detaljer.
Python datastrukturer
Python tilbyder fire indbyggede datastrukturer: lister , tupler , sæt , og ordbøger som giver os mulighed for at gemme data på en effektiv måde. Nedenfor er de almindeligt anvendte datastrukturer i Python sammen med eksempelkode:
1. Lister
- Lister er bestilte samlinger af dataelementer af forskellige datatyper.
- Lister er foranderlig hvilket betyder, at en liste kan ændres når som helst.
- Elementer kan være tilgås ved hjælp af indekser .
- De er defineret ved hjælp af 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)
Produktion:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Tuples
- Tuples er også bestilte samlinger af dataelementer af forskellige datatyper, svarende til Lists.
- Elementer kan være tilgås ved hjælp af indekser .
- Tuples er uforanderlig hvilket betyder, at Tuples ikke kan ændres, når de først er oprettet.
- De er defineret ved hjælp af åben 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_)
Produktion:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Sæt
- Sæt er uordnet samlinger af uforanderlige dataelementer af forskellige datatyper.
- Sæt er foranderlig .
- Elementer kan ikke tilgås ved hjælp af indekser.
- Sæt indeholder ikke duplikerede elementer .
- De er defineret ved hjælp af krøllede 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)
Produktion:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Ordbøger
- Ordbog er nøgleværdi-par der giver dig mulighed for at knytte værdier til unikke nøgler.
- De er defineret ved hjælp af krøllede seler ' {} ' med nøgleværdi-par adskilt af kolon ':' .
- Ordbøger er foranderlig .
- Elementer kan tilgås ved hjælp af 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)
Produktion:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Dette er blot nogle få eksempler på Pythons indbyggede datastrukturer. Hver datastruktur har sine egne karakteristika og use cases.
xdxd betydning
Python funktionel programmering
Denne sektion af Python-vejledningen definerer nogle vigtige værktøjer relateret til funktionel programmering, såsom lambda og rekursive funktioner. Disse funktioner er meget effektive til at udføre komplekse opgaver. Vi definerer et par vigtige funktioner, såsom reducere, kortlægge og filtrere. Python leverer functools-modulet, der indeholder forskellige funktionelle programmeringsværktøjer. Besøg følgende selvstudie for at lære mere om funktionel programmering.
Nylige versioner af Python har introduceret funktioner, der gør funktionel programmering mere kortfattet og udtryksfuld. For eksempel giver 'walrus-operatoren':= mulighed for indlejret variabeltildeling i udtryk, hvilket kan være nyttigt, når du arbejder med indlejrede funktionskald eller listeforståelser.
Python funktion
- Lambda funktion - En lambdafunktion er en lille, anonym funktion der kan tage et vilkårligt antal argumenter, men kan kun have ét udtryk. Lambda-funktioner bruges ofte i funktionel programmering til at skabe funktioner 'on the fly' uden at definere en navngivet funktion.
- Rekursiv funktion - En rekursiv funktion er en funktion, der kalder sig selv for at løse et problem. Rekursive funktioner bruges ofte i funktionel programmering til at udføre komplekse beregninger eller til at krydse komplekse datastrukturer.
- Kort funktion - Map()-funktionen anvender en given funktion til hvert element i en iterabel og returnerer en ny iterabel med resultaterne. Det iterable input kan være en liste, tuple eller andet.
- Filter funktion - Filter()-funktionen returnerer en iterator fra en iterabel, for hvilken funktionen bestod som det første argument, returnerer True. Det bortfiltrerer elementerne fra en iterable, der ikke opfylder den givne betingelse.
- Reducer funktion - Funktionen reduce() anvender en funktion af to argumenter kumulativt på elementerne i en iterabel fra venstre mod højre for at reducere den til en enkelt værdi.
- functools modul - Functools-modulet i Python giver funktioner af højere orden, der fungerer på andre funktioner, såsom partial() og reduce().
- Currying funktion - En currying-funktion er en funktion, der tager flere argumenter og returnerer en sekvens af funktioner, der hver tager et enkelt argument.
- Memoization funktion - Memoisering er en teknik, der bruges i funktionel programmering til at cache resultaterne af dyre funktionskald og returnere det cachelagrede resultat, når de samme input forekommer igen.
- Trådefunktion - Threading er en teknik, der bruges i funktionel programmering til at køre flere opgaver samtidigt for at gøre koden mere effektiv og hurtigere.
Python moduler
Python-moduler er de programfiler, der indeholder Python-kode eller funktioner. Python har to typer moduler - Brugerdefinerede moduler og indbyggede moduler. Et modul, som brugeren definerer, eller vores Python-kode gemt med .py-udvidelsen, behandles som et brugerdefineret modul.
Indbyggede moduler er foruddefinerede moduler af Python. For at bruge modulernes funktionalitet skal vi importere dem til vores nuværende arbejdsprogram.
Python-moduler er essentielle for sprogets økosystem, da de tilbyder genanvendelig kode og funktionalitet, der kan importeres til ethvert Python-program. Her er et par eksempler på flere Python-moduler sammen med en kort beskrivelse af hver:
Matematik : Giver brugere adgang til matematiske konstanter og pi og trigonometriske funktioner.
Dato tid : Giver klasser til en enklere måde at manipulere datoer, tidspunkter og perioder på.
DU : Muliggør interaktion med basisoperativsystemet, herunder administration af processer og filsystemaktiviteter.
tilfældig : Den tilfældige funktion tilbyder værktøjer til at generere tilfældige heltal og vælge tilfældige elementer fra en liste.
JSON : JSON er en datastruktur, der kan kodes og afkodes og bruges ofte i online API'er og dataudveksling. Dette modul gør det muligt at håndtere JSON.
Vedr : Understøtter regulære udtryk, et potent tekstsøgnings- og tekstmanipulationsværktøj.
Samlinger : Giver alternative datastrukturer såsom sorterede ordbøger, standardordbøger og navngivne tuples.
NumPy : NumPy er et kerneværktøjssæt til videnskabelig databehandling, der understøtter numeriske operationer på arrays og matricer.
Pandaer : Det giver datastrukturer og operationer på højt niveau til håndtering af tidsserier og andre strukturerede datatyper.
Forespørgsler : Tilbyder en enkel brugergrænseflade til web-API'er og udfører HTTP-anmodninger.
Python-fil I/O
Filer bruges til at gemme data på en computerdisk. I denne tutorial forklarer vi det indbyggede filobjekt i Python. Vi kan åbne en fil ved hjælp af Python-script og udføre forskellige handlinger såsom at skrive, læse og tilføje. Der er forskellige måder at åbne en fil på. Vi forklares med det relevante eksempel. Vi vil også lære at udføre læse/skrive operationer på binære filer.
Pythons filinput/output (I/O) system tilbyder programmer til at kommunikere med filer gemt på en disk. Pythons indbyggede metoder til filobjektet lader os udføre handlinger som at læse, skrive og tilføje data til filer.
Det åben() metode i Python laver et filobjekt, når du arbejder med filer. Navnet på den fil, der skal åbnes, og den tilstand, filen skal åbnes i, er de to parametre, der kræves af denne funktion. Tilstanden kan bruges efter arbejde, der skal udføres med filen, såsom ' r 'til læsning' I 'til at skrive, eller' -en ' til vedhæftning.
Efter succesfuld oprettelse af et objekt, kan forskellige metoder bruges i henhold til vores arbejde. Hvis vi vil skrive i filen, kan vi bruge write() funktionerne, og hvis du vil læse og skrive begge dele, så kan vi bruge append() funktionen og, i tilfælde hvor vi kun ønsker at læse indholdet af filen kan vi bruge read() funktion. Binære filer, der indeholder data i et binært snarere end et tekstformat, kan også arbejdes med ved hjælp af Python. Binære filer er skrevet på en måde, som mennesker ikke direkte kan forstå. Det rb og wb tilstande kan læse og skrive binære data i binære filer.
Python-undtagelser
En undtagelse kan defineres som en usædvanlig tilstand i et program, der resulterer i en afbrydelse i programmets flow.
Når der opstår en undtagelse, stopper programmet udførelsen, og den anden kode udføres derfor ikke. Derfor er en undtagelse de køretidsfejl, der ikke er i stand til at håndtere til Python-script. En undtagelse er et Python-objekt, der repræsenterer en fejl.
Python-undtagelser er et vigtigt aspekt af fejlhåndtering i Python-programmering. Når et program støder på en uventet situation eller fejl, kan det rejse en undtagelse, som kan afbryde programmets normale flow.
I Python er undtagelser repræsenteret som objekter, der indeholder information om fejlen, inklusive dens type og meddelelse. Den mest almindelige type undtagelse i Python er undtagelsesklassen, en basisklasse for alle andre indbyggede undtagelser.
For at håndtere undtagelser i Python bruger vi prøve og undtagen udsagn. Det prøve statement bruges til at omslutte koden, der kan rejse en undtagelse, mens undtagen sætning bruges til at definere en kodeblok, der skal udføres, når der opstår en undtagelse.
Overvej f.eks. 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')
Produktion:
Enter a number: 0 Error: Division by zero
I denne kode bruger vi try-sætningen til at forsøge at udføre en divisionsoperation. Hvis en af disse operationer rejser en undtagelse, udføres den matchende undtagen-blok.
Python giver også mange indbyggede undtagelser, der kan rejses i lignende situationer. Nogle almindelige indbyggede undtagelser omfatter IndexError, TypeError , og Navnefejl . Vi kan også definere vores tilpassede undtagelser ved at oprette en ny klasse, der arver fra klassen Exception.
Python CSV
En CSV står for 'kommaseparerede værdier', som er defineret som et simpelt filformat, der bruger specifik strukturering til at arrangere tabeldata. Det gemmer tabeldata såsom regneark eller databaser i almindelig tekst og har et fælles format til dataudveksling. En CSV-fil åbnes i Excel-arket, og rækkerne og kolonnedataene definerer standardformatet.
Vi kan bruge CSV.reader-funktionen til at læse en CSV-fil. Denne funktion returnerer et læseobjekt, som vi kan bruge til at gentage over rækkerne i CSV-filen. Hver række returneres som en liste over værdier, hvor hver værdi svarer til en kolonne i CSV-filen.
Overvej f.eks. følgende kode:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Her åbner vi filen data.csv i læsetilstand og opretter en csv.læser objekt ved hjælp af csv.reader() fungere. Vi itererer derefter over rækkerne i CSV-filen ved hjælp af en for-løkke og udskriver hver række til konsollen.
Vi kan bruge CSV.writer() funktion til at skrive data til en CSV-fil. Det returnerer et writer-objekt, vi kan bruge til at skrive rækker til CSV-filen. Vi kan skrive rækker ved at kalde forfatter () metode på skribentobjektet.
Overvej f.eks. 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 program opretter vi en liste over lister kaldet data, hvor hver indre liste repræsenterer en række data. Vi åbner derefter filen data.csv i skrivetilstand og opretter en CSV.writer objekt ved hjælp af CSV.writer-funktionen. Vi itererer derefter over rækkerne i data ved hjælp af en for-løkke og skriver hver række til CSV-filen ved hjælp af writer-metoden.
Python sender mail
Vi kan sende eller læse en mail ved hjælp af Python-scriptet. Pythons standardbiblioteksmoduler er nyttige til håndtering af forskellige protokoller såsom PoP3 og IMAP. Python leverer smtplib modul til afsendelse af e-mails ved hjælp af SMTP (Simple Mail Transfer Protocol). Vi vil lære, hvordan du sender mail med den populære e-mail-tjeneste SMTP fra et Python-script.
Python magiske metoder
Python-magimetoden er den specielle metode, der tilføjer 'magi' til en klasse. Det starter og slutter med dobbelt understregning, f.eks. _hed_ eller _str_ .
De indbyggede klasser definerer mange magiske metoder. Det du() funktion kan bruges til at se antallet af magiske metoder, der er arvet af en klasse. Den har to præfikser og suffiksunderstregninger i metodenavnet.
- Python magiske metoder er også kendt som dunder metoder , en forkortelse for 'dobbelt understregning'-metoder, fordi deres navne starter og slutter med en dobbelt understregning.
- Magiske metoder bliver automatisk påkaldt af Python-fortolkeren i visse situationer, såsom når et objekt oprettes, sammenlignes med et andet objekt eller udskrives.
- Magiske metoder kan bruges til at tilpasse adfærden af klasser, såsom at definere hvordan objekter sammenlignes, konverteres til strenge eller tilgås som containere.
- Nogle almindeligt anvendte magiske metoder omfatter varme til initialisering af et objekt, str til at konvertere et objekt til en streng, lign for at sammenligne to objekter for lighed, og med titlen og sætitem for at få adgang til elementer i et containerobjekt.
For eksempel str magisk metode kan definere, hvordan et objekt skal repræsenteres 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)
Produktion:
Vikas (22)
I dette eksempel er str-metoden defineret til at returnere en formateret strengrepræsentation af Person-objektet med personens navn og alder.
En anden almindeligt anvendt magisk metode er lign , som definerer, hvordan objekter skal sammenlignes for lighed. 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)
Produktion:
False True
I dette eksempel er lign metode er defineret til at returnere Sand, hvis to punktobjekter har de samme x- og y-koordinater og ellers Falsk.
Python Ups-koncepter
Alt i Python behandles som et objekt, inklusive heltalsværdier, flydere, funktioner, klasser og ingen. Bortset fra det understøtter Python alle orienterede koncepter. Nedenfor er en kort introduktion til Pythons Oops-koncepter.
- Klasser og objekter - Python-klasser er tegningerne af objektet. Et objekt er en samling af data og metoder, der virker på dataene.
- Arv - En nedarvning er en teknik, hvor en klasse arver andre klassers egenskaber.
- Konstruktør - Python giver en speciel metode __init__(), som er kendt som en konstruktør. Denne metode kaldes automatisk, når et objekt instansieres.
- Polymorfi - Polymorfi er et begreb, hvor en genstand kan antage mange former. I Python kan polymorfi opnås gennem metodeoverbelastning og metodetilsidesættelse.
- Metode tilsidesættelse - Metodetilsidesættelse er et koncept, hvor en underklasse implementerer en metode, der allerede er defineret i sin superklasse.
- Indkapsling - Indkapsling er at pakke data og metoder ind i en enkelt enhed. I Python opnås indkapsling gennem adgangsmodifikatorer, såsom offentlig, privat og beskyttet. Python håndhæver dog ikke strengt adgangsmodifikatorer, og navngivningskonventionen angiver adgangsniveauet.
- Dataabstraktion : En teknik til at skjule kompleksiteten af data og kun vise væsentlige funktioner til brugeren. Det giver en grænseflade til at interagere med dataene. Dataabstraktion reducerer kompleksiteten og gør koden mere modulær, hvilket giver udviklere mulighed for at fokusere på programmets væsentlige funktioner.
For at læse Oops-konceptet i detaljer, besøg følgende ressourcer.
- Python Ups Concepts - I Python er det objektorienterede paradigme at designe programmet ved hjælp af klasser og objekter. Objektet er relateret til virkelige ord-enheder såsom bog, hus, blyant osv., og klassen definerer dens egenskaber og adfærd.
- Python-objekter og klasser - I Python er objekter forekomster af klasser, og klasser er tegninger, der definerer struktur og opførsel af data.
- Python-konstruktør - En konstruktør er en speciel metode i en klasse, der bruges til at initialisere objektets attributter, når objektet oprettes.
- Python arv - Arv er en mekanisme, hvor ny klasse (underklasse eller underklasse) arver egenskaber og adfærd fra en eksisterende klasse (superklasse eller overordnet klasse).
- Python Polymorphism - Polymorphism tillader objekter af forskellige klasser at blive behandlet som objekter af en fælles superklasse, hvilket gør det muligt for forskellige klasser at blive brugt i flæng gennem en fælles grænseflade.
Python Advance-emner
Python indeholder mange fremskridt og nyttige koncepter, der hjælper programmøren med at løse komplekse opgaver. Disse begreber er givet nedenfor.
Python Iterator
En iterator er simpelthen et objekt, der kan gentages. Det returnerer et objekt ad gangen. Det kan implementeres ved hjælp af de to specielle metoder, __iter__() og __næste__().
Iteratorer i Python er objekter, der tillader iteration over en samling af data. De behandler hvert samlingselement individuelt uden at indlæse hele samlingen i hukommelsen.
Lad os for eksempel oprette en iterator, der returnerer kvadraterne af tal op til en given grænse:
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 eksempel har vi lavet en klasse Squares, der fungerer som en iterator ved at implementere __iter__() og __next__() metoderne. Metoden __iter__() returnerer selve Objektet, og __next__() metoden returnerer det næste kvadrat af tallet, indtil grænsen er nået.
For at lære mere om iteratorerne, besøg vores Python Iterators tutorial.
Python generatorer
Python generatorer producere en række værdier ved hjælp af en udbytteopgørelse snarere end et retur, da de er funktioner, der returnerer iteratorer. Generatorer afslutter funktionens udførelse, mens de bevarer den lokale tilstand. Den fortsætter lige hvor den slap, når den genstartes. Fordi vi ikke behøver at implementere iterator-protokollen takket være denne funktion, er det nemmere at skrive iteratorer. Her er en illustration af en ligetil generatorfunktion, der producerer kvadrater af tal:
# 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)
Produktion:
0 1 4 9 16
Python-modifikatorer
Python dekoratører er funktioner, der bruges til at ændre adfærden af en anden funktion. De tillader tilføjelse af funktionalitet til en eksisterende funktion uden at ændre dens kode direkte. Dekoratører defineres ved hjælp af @ symbol efterfulgt af navnet på dekorationsfunktionen. De kan bruges til logning, timing, caching osv.
Her er et eksempel på en dekorationsfunktion, der tilføjer timingfunktionalitet til en anden funktion:
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)
Produktion:
I ovenstående eksempel tager time_it-dekoratorfunktionen en anden funktion som et argument og returnerer en indpakningsfunktion. Indpakningsfunktionen beregner tiden til at udføre den originale funktion og udskriver den til konsollen. @time_it-dekoratøren bruges til at anvende time_it-funktionen på funktionen min_funktion. Når my_function kaldes, udføres dekoratoren, og timing-funktionaliteten tilføjes.
Python MySQL
Python MySQL er et kraftfuldt relationelt databasestyringssystem. Vi skal opsætte miljøet og etablere en forbindelse for at bruge MySQL med Python. Vi kan oprette en ny database og tabeller ved hjælp af SQL-kommandoer i Python.
- Miljøopsætning : Installation og konfiguration af MySQL Connector/Python til at bruge Python med MySQL.
- Database forbindelse : Etablering af en forbindelse mellem Python og MySQL-database ved hjælp af MySQL Connector/Python.
- Oprettelse af ny database : Oprettelse af en ny database i MySQL ved hjælp af Python.
- Oprettelse af tabeller : Oprettelse af tabeller i MySQL-databasen med Python ved hjælp af SQL-kommandoer.
- Indsæt operation : Indsæt data i MySQL-tabeller ved hjælp af Python- og SQL-kommandoer.
- Læs Operation : Læsning af data fra MySQL-tabeller ved hjælp af Python- og SQL-kommandoer.
- Opdateringsoperation : Opdatering af data i MySQL-tabeller ved hjælp af Python- og SQL-kommandoer.
- Deltag i Operation : Sammenføjning af to eller flere tabeller i MySQL ved hjælp af Python- og SQL-kommandoer.
- Udførelse af transaktioner : Udførelse af en gruppe SQL-forespørgsler som en enkelt arbejdsenhed i MySQL ved hjælp af Python.
Andre relative punkter omfatter håndtering af fejl, oprettelse af indekser og brug af lagrede procedurer og funktioner i MySQL med Python.
Python MongoDB
Python MongoDB er en populær NoSQL-database, der gemmer data i JSON-lignende dokumenter. Det er skemaløst og giver høj skalerbarhed og fleksibilitet til datalagring. Vi kan bruge MongoDB med Python ved hjælp af PyMongo-biblioteket, som giver en enkel og intuitiv grænseflade til at interagere med MongoDB.
Her er nogle almindelige opgaver, når du arbejder med MongoDB i Python:
- Miljøopsætning : Installer og konfigurer MongoDB- og PyMongo-biblioteket på dit system.
- Database forbindelse : Opret forbindelse til en MongoDB-server ved hjælp af MongoClient-klassen fra PyMongo.
- Oprettelse af en ny database : Brug MongoClient-objektet til at oprette en ny database.
- Oprettelse af samlinger : Opret samlinger i en database for at gemme dokumenter.
- Indsættelse af dokumenter : Indsæt nye dokumenter i en samling ved hjælp af metoderne insert_one() eller insert_many().
- Forespørgsel på dokumenter : Hent dokumenter fra en samling ved hjælp af forskellige forespørgselsmetoder som find_one(), find() osv.
- Opdatering af dokumenter : Rediger eksisterende dokumenter i en samling ved hjælp af metoderne update_one() eller update_many().
- Sletning af dokumenter : Fjern dokumenter fra en samling ved hjælp af delete_one()- eller delete_many()-metoderne.
- Aggregation : Udfør aggregeringsoperationer som gruppering, optælling osv. ved hjælp af aggregeringspipeline-rammen.
Der er mange mere avancerede emner i MongoDB, såsom datadeling, replikering og mere, men disse opgaver dækker det grundlæggende i at arbejde med MongoDB i Python.
Python SQLite
Relationelle databaser bygges og vedligeholdes ved hjælp af Python SQLite, en kompakt, serverløs, selvstændig databasemotor. Dens mobilitet og enkelhed gør den til en populær mulighed for lokale eller små applikationer. Python har et indbygget modul til at oprette forbindelse til SQLite-databaser kaldet SQLite3, hvilket gør det muligt for udviklere at arbejde med SQLite-databaser uden problemer.
Forskellige API-metoder er tilgængelige gennem SQLite3-biblioteket, som kan bruges til at køre SQL-forespørgsler, indsætte, vælge, opdatere og fjerne data samt hente data fra tabeller. Derudover tillader det transaktioner, hvilket giver programmører mulighed for at fortryde ændringer i tilfælde af et problem. Python SQLite er en fantastisk mulighed for at skabe programmer, der har brug for et indlejret databasesystem, inklusive desktop-, mobil- og webprogrammer af beskeden størrelse. SQLite er blevet populær blandt udviklere for lette apps med databasefunktionalitet takket være dens brugervenlighed, portabilitet og glatte forbindelse med Python.
Python CGI
Python CGI er en teknologi til at køre scripts gennem webservere for at producere dynamisk onlineindhold. Det tilbyder en kommunikationskanal og en dynamisk indholdsgenereringsgrænseflade til eksterne CGI-scripts og webserveren. Python CGI-scripts kan oprette HTML-websider, håndtere formularinput og kommunikere med databaser. Python CGI gør det muligt for serveren at udføre Python-scripts og levere resultaterne til klienten, hvilket tilbyder en hurtig og effektiv tilgang til at skabe dynamiske onlineapplikationer.
Python CGI-scripts kan bruges til mange ting, herunder at skabe dynamiske websider, behandle formularer og interagere med databaser. Da Python, et potent og populært programmeringssprog, kan bruges til at skabe scripts, muliggør det en mere tilpasset og fleksibel tilgang til weboprettelse. Skalerbare, sikre og vedligeholdelige onlineapplikationer kan oprettes med Python CGI. Python CGI er et praktisk værktøj til webudviklere, der bygger dynamiske og interaktive onlineapplikationer.
Asynkron programmering i Python
Asynkron programmering er et paradigme for computerprogrammering, der muliggør uafhængig og samtidig drift af aktiviteter. Det bruges ofte i applikationer som webservere, databasesoftware og netværksprogrammering, hvor flere opgaver eller anmodninger skal håndteres samtidigt.
Python har asyncio, Twisted og Tornado blandt sine biblioteker og rammer til asynkron programmering. Asyncio, en af disse, tilbyder en enkel grænseflade til asynkron programmering og er det officielle asynkrone programmeringsbibliotek i Python.
Coroutiner er funktioner, der kan stoppes og genstartes på bestemte steder i koden og bruges af asyncio. Dette gør det muligt for adskillige coroutiner at fungere samtidigt uden at forstyrre hinanden. Til opbygning og vedligeholdelse af koroutiner tilbyder biblioteket flere klasser og metoder, bl.a asyncio.gather(), asyncio.wait(), og asyncio.create_task().
Event-loops, som er ansvarlige for planlægning og drift af koroutiner, er en anden funktion af asyncio. Ved at cykle mellem koroutiner på en ikke-blokerende måde, styrer hændelsesløkken udførelsen af koroutiner og sikrer, at ingen coroutine blokerer en anden. Derudover understøtter den timere og planlægning af tilbagekald, hvilket kan være nyttigt, når aktiviteter skal gennemføres på bestemte tidspunkter eller intervaller.
Python samtidighed
Begrebet ' samtidighed ' beskriver et programs kapacitet til at udføre flere opgaver på én gang, hvilket øger programmets effektivitet. Python tilbyder flere moduler og samtidighedsrelaterede metoder, herunder asynkron programmering, multiprocessing og multithreading. Mens multiprocessing involverer at køre mange processer samtidigt på et system, involverer multithreading at køre adskillige tråde samtidigt inde i en enkelt proces.
Det gevindskæringsmodul i Python gør det muligt for programmører at bygge multithreading. Det tilbyder klasser og operationer til etablering og kontrol af tråde. Omvendt giver multiprocessing-modulet udviklere mulighed for at designe og styre processer. Pythons asyncio-modul giver asynkron programmeringsunderstøttelse, hvilket giver udviklere mulighed for at skrive ikke-blokerende kode, der kan håndtere flere opgaver samtidigt. Ved hjælp af disse teknikker kan udviklere skrive højtydende, skalerbare programmer, der kan håndtere flere opgaver samtidigt.
Pythons threading-modul muliggør samtidig udførelse af flere tråde inden for en enkelt proces, hvilket er nyttigt for I/O-bundne aktiviteter.
Til CPU-intensive operationer som billedbehandling eller dataanalyse gør multiprocessing-moduler det muligt at udføre adskillige processer samtidigt på tværs af flere CPU-kerner.
Asyncio-modulet understøtter asynkron I/O og tillader oprettelse af enkelt-trådet samtidig kode ved hjælp af coroutiner til netværksapplikationer med høj samtidighed.
Med biblioteker som Dask , PySpark , og MPI, kan Python også bruges til parallel databehandling. Disse biblioteker gør det muligt at fordele arbejdsbelastninger på tværs af adskillige noder eller klynger for bedre ydeevne.
Webophugning ved hjælp af Python
Processen med web-skrabning bruges til automatisk at hente data fra websteder. Forskellige værktøjer og biblioteker udtrækker data fra HTML og andre online-formater. Python er blandt de mest udbredte programmeringssprog til web-skrabning på grund af dets brugervenlighed, tilpasningsevne og mangfoldighed af biblioteker.
Vi skal tage et par skridt for at opnå web-skrabning ved hjælp af Python. Vi skal først beslutte, hvilken hjemmeside der skal skrabes, og hvilken information der skal indsamles. Derefter kan vi sende en anmodning til webstedet og modtage HTML-indholdet ved hjælp af Pythons anmodningspakke. Når vi har HTML-teksten, kan vi udtrække de nødvendige data ved hjælp af en række forskellige parsingspakker, f.eks Smuk suppe og lxml .
Vi kan anvende flere strategier, såsom at bremse anmodninger, ansætte brugeragenter og bruge proxyer, for at forhindre overbelastning af webstedets server. Det er også afgørende at overholde servicevilkårene for webstedet og respektere dets robots.txt-fil.
Data mining, oprettelse af leads, prissporing og mange flere anvendelser er mulige til web-skrabning. Men da uautoriseret webskrabning kan være i strid med loven og uetisk, er det vigtigt at bruge det professionelt og etisk.
Natural Language Processing (NLP) ved hjælp af Python
En gren af kunstig intelligens (AI) kaldet 'naturlig sprogbehandling' (NLP) studerer, hvordan computere og menneskeligt sprog interagerer. Takket være NLP kan computere nu forstå, fortolke og producere menneskeligt sprog. På grund af dets enkelhed, alsidighed og stærke biblioteker som NLTK (Natural Language Toolkit) og spaCy, er Python et velkendt programmeringssprog til NLP.
Til NLP-opgaver, herunder tokenisering, stemming, lemmatisering, mundtlig tagging, navngivne enhedsidentifikation, sentimentanalyse og andre, leverer NLTK et komplet bibliotek. Det har en række corpora (store, organiserede tekstsamlinger) til udvikling og evaluering af NLP-modeller. Et andet vellidt bibliotek til NLP-opgaver er spaCy , som tilbyder hurtig og effektiv behandling af enorme mængder tekst. Den muliggør enkel modifikation og udvidelse og leveres med præ-trænede modeller til forskellige NLP-arbejdsbelastninger.
NLP kan bruges i Python til forskellige praktiske formål, herunder chatbots, sentimentanalyse, tekstkategorisering, maskinoversættelse og mere. NLP bruges f.eks. af chatbots til at forstå og besvare brugerforespørgsler i et naturligt sprog. Følelsesanalyse, som kan være nyttig til brandovervågning, kundefeedbackanalyse og andre formål, anvender NLP til at kategorisere tekstfølelse (positiv, negativ eller neutral). Tekstdokumenter kategoriseres ved hjælp af naturlig sprogbehandling (NLP) i forudetablerede kategorier til spamdetektion, nyhedskategorisering og andre formål.
Python er et stærkt og nyttigt værktøj, når man analyserer og bearbejder menneskeligt sprog. Udviklere kan udføre forskellige NLP-aktiviteter og skabe nyttige apps, der kan kommunikere med forbrugere i naturligt sprog med biblioteker som NLTK og spaCy.
Konklusion:
I denne tutorial har vi set på nogle af Pythons vigtigste funktioner og ideer, herunder variabler, datatyper, sløjfer, funktioner, moduler og mere. Mere komplekse emner, herunder web-skrabning, naturlig sprogbehandling, parallelitet og databaseforbindelse, er også blevet diskuteret. Du vil have et stærkt grundlag for at fortsætte med at lære om Python og dets applikationer ved at bruge de oplysninger, du har lært fra denne lektion.
xvideoservicethief ubuntu 14.04 download
Husk, at øve og udvikle kode er den bedste metode til at lære Python. Du kan finde mange ressourcer på javaTpoint til at understøtte din videre læring, herunder dokumentation, selvstudier, onlinegrupper og mere. Du kan mestre Python og bruge det til at skabe vidunderlige ting, hvis du arbejder hårdt og fortsætter.
Forudsætning
Før du lærer Python, skal du have den grundlæggende viden om programmeringskoncepter.
Publikum
Vores Python-tutorial er designet til at hjælpe begyndere og professionelle.
Problem
Vi forsikrer, at du ikke vil finde noget problem i denne Python-tutorial. Men hvis der er nogen fejl, bedes du skrive problemet i kontaktformularen.
=>5:>