Krajta je široce používaný programovací jazyk, který nabízí několik jedinečných funkcí a výhod ve srovnání s jazyky jako Jáva a C++. Náš Python tutoriál důkladně vysvětluje základy Pythonu a pokročilé koncepty, počínaje instalací, podmíněné příkazy , smyčky , vestavěné datové struktury , objektově orientované programování , generátory , zpracování výjimek , Python RegEx a mnoho dalších konceptů. Tento tutoriál je určen pro začátečníky a pracující profesionály.
Na konci 80. let Guido van Rossum snil o vývoji Pythonu. První verze Python 0.9.0 byl vydán v roce 1991 . Od svého vydání si Python začal získávat na popularitě. Podle zpráv je Python nyní nejoblíbenějším programovacím jazykem mezi vývojáři kvůli jeho vysokým nárokům v oblasti technologií.
Co je Python
Python je univerzální, dynamicky typovaný, vysokoúrovňový, kompilovaný a interpretovaný, garbage-shromažďovaný a čistě objektově orientovaný programovací jazyk, který podporuje procedurální, objektově orientované a funkcionální programování.
Vlastnosti Pythonu:
Python má mnoho webová aktiva , open-source projekty , a pulzující komunita . Učit se jazyk, spolupracovat na projektech a přispívat do ekosystému Pythonu je pro vývojáře velmi snadné.
Díky svému přímočarému jazykovému rámci je Python snazší pochopit a psát kód. To z něj dělá fantastický programovací jazyk pro nováčky. Navíc pomáhá zkušeným programátorům psát jasný a bezchybný kód.
Python má mnoho knihoven třetích stran, které lze použít k usnadnění jeho funkčnosti. Tyto knihovny pokrývají mnoho domén, například vývoj webu, vědecké výpočty, analýzu dat a další.
Java vs. Python
Python je vynikající volbou pro rychlý vývoj a skriptovací úlohy. Zatímco Java klade důraz na silný typový systém a objektově orientované programování.
Zde je několik základních programů, které ilustrují klíčové rozdíly mezi nimi.
Tisk „Hello World“
Python kód:
print('Hello World)'
V Pythonu je to jeden řádek kódu. K vytištění „Hello World“ vyžaduje jednoduchou syntaxi
Java kód:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
V Javě potřebujeme deklarovat třídy, struktury metod a mnoho dalších věcí.
Zatímco oba programy poskytují stejný výstup, můžeme si všimnout rozdílu v syntaxi v příkazu print.
najít můj iphone android
- V Pythonu je snadné se naučit a psát kód. Zatímco v Javě, vyžaduje více kódu k provedení určitých úkolů.
- Python je dynamicky typován, což znamená, že nemusíme deklarovat proměnnou, zatímco Java je typována statisticky, což znamená, že musíme deklarovat typ proměnné.
- Python je vhodný pro různé domény, jako je Data Science, Machine Learning, Web development a další. Zatímco Java je vhodná pro vývoj webových aplikací, vývoj mobilních aplikací (Android) a další.
Základní syntaxe Pythonu
V programovacím jazyce Python se nepoužívají složené závorky ani středníky. Je to jazyk podobný angličtině. Ale Python používá odsazení k definování bloku kódu. Odsazení není nic jiného než přidání mezer před příkaz, když je to potřeba.
Například -
def func(): statement 1 statement 2 ………………… ………………… statement N
Ve výše uvedeném příkladu příkazy, které jsou na stejné úrovni zprava, patří do funkce. Obecně můžeme k definování odsazení použít čtyři mezery.
Místo středníku používaného v jiných jazycích ukončuje Python své příkazy znakem Nový řádek.
Python je jazyk citlivý na velká a malá písmena, což znamená, že se s velkými a malými písmeny zachází odlišně. Například 'name' a 'Name' jsou dvě různé proměnné v Pythonu.
V Pythonu lze komentáře přidávat pomocí symbolu '#'. Jakýkoli text napsaný za symbolem '#' je považován za komentář a překladač jej ignoruje. Tento trik je užitečný pro přidávání poznámek do kódu nebo dočasné zakázání bloku kódu. Pomáhá také lépe porozumět kódu některým dalším vývojářům.
'Li' , 'jinak', 'for' , 'zatímco' , 'zkusit', 'kromě' a 'konečně' je několik vyhrazených klíčových slov v Pythonu, která nelze použít jako názvy proměnných. Tyto výrazy se v jazyce používají ze zvláštních důvodů a mají pevný význam. Pokud použijete tato klíčová slova, váš kód může obsahovat chyby nebo je může interpret odmítnout jako potenciální nové proměnné.
Historie Pythonu
Python vytvořil Guido van Rossum . Na konci 80. let 20. století začal Guido van Rossum, holandský programátor, pracovat na Pythonu v Centru Wiskunde & Informatica (CWI) v Nizozemsku. Chtěl vytvořit nástupce Programovací jazyk ABC to by bylo snadno čitelné a efektivní.
V únoru 1991 byla vydána první veřejná verze Pythonu, verze 0.9.0. To znamenalo oficiální zrod Python jako open-source projekt . Jazyk byl pojmenován po britském komediálním seriálu ' Monty Pythonův létající cirkus '.
Vývoj Pythonu prošel několika fázemi. V lednu 1994 byl vydán Python 1.0 jako použitelný a stabilní programovací jazyk. Tato verze obsahovala mnoho funkcí, které jsou v Pythonu dodnes přítomné.
Od roku 1990 do roku 2000 , Python si získal oblibu pro svou jednoduchost, čitelnost a všestrannost. V říjnu 2000 byl vydán Python 2.0 . Python 2.0 zavedl porozumění seznamům, shromažďování odpadků a podporu Unicode.
V prosinci 2008 byl vydán Python 3.0. Python 3.0 zavedl několik zpětně nekompatibilních změn pro zlepšení čitelnosti kódu a jeho udržovatelnosti.
V průběhu roku 2010 se popularita Pythonu zvýšila, zejména v oblastech, jako je strojové učení a vývoj webu. Díky svému bohatému ekosystému knihoven a rámců se stal oblíbeným mezi vývojáři.
The Python Software Foundation (PSF) byla založena v roce 2001 propagovat, chránit a rozvíjet programovací jazyk Python a jeho komunitu.
Proč se učit Python?
Python poskytuje programátorům mnoho užitečných funkcí. Tyto vlastnosti z něj dělají nejoblíbenější a nejrozšířenější jazyk. Níže uvádíme několik základních funkcí Pythonu.
- Objektově orientovaný jazyk : Podporuje objektově orientované programování, což usnadňuje psaní opakovaně použitelného a modulárního kódu.
Kde se Python používá?
Python je univerzální, populární programovací jazyk a používá se téměř ve všech technických oborech. Různé oblasti použití Pythonu jsou uvedeny níže.
- Umělá inteligence : AI je nově vznikající technologie a Python je dokonalý jazyk pro umělou inteligenci a strojové učení díky dostupnosti výkonných knihoven, jako jsou TensorFlow, Keras a PyTorch.
- DevOps : Python je široce používán v DevOps pro automatizaci a skriptování správy infrastruktury, správy konfigurace a procesů nasazení.
- Žádosti : knihovna pro vytváření požadavků HTTP
- SQLAlchemy : knihovna pro práci s SQL databázemi
- Zoufalý : framework pro vytváření vícedotykových aplikací
- Pygame : knihovna pro vývoj her
- Rámec REST : sada nástrojů pro vytváření RESTful API
- FastAPI : moderní, rychlý webový rámec pro vytváření API
- Streamlit : knihovna pro vytváření interaktivních webových aplikací pro strojové učení a datovou vědu
- NLTK : knihovna pro zpracování přirozeného jazyka
Python má širokou škálu knihoven a rámců široce používaných v různých oblastech, jako je strojové učení, umělá inteligence, webové aplikace atd. Některé populární rámce a knihovny Pythonu definujeme následovně.
Funkce print() Pythonu
Funkce print() Pythonu se používá k zobrazení výstupu do konzole nebo terminálu. Umožňuje nám zobrazovat text, proměnné a další data ve formátu čitelném pro člověka.
Syntax:
print(objekt(y), sep=separator, end=end, file=file, flush=flush)
Vyžaduje jeden nebo více argumentů oddělených čárkou (,) a ve výchozím nastavení přidá na konec 'nový řádek'.
Parametry:
- objekt(y) – tolik dat, kolik chcete zobrazit, bude nejprve převedeno na řetězec a vytištěno na konzoli.
- sep - Odděluje objekty předaným oddělovačem, výchozí hodnota = ' '.
- end - Ukončí řádek znakem nového řádku
- file - souborový objekt s metodou zápisu, výchozí hodnota = sys.stdout
Příklad:
# 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))
Výstup:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
V tomto příkladu se příkaz print používá k tisku hodnot řetězců, celých čísel a float ve formátu čitelném pro člověka.
Tiskový výpis lze použít pro ladění, protokolování a poskytování informací uživateli.
Podmíněné příkazy Pythonu
Podmíněné příkazy nám pomáhají provést konkrétní blok pro konkrétní podmínku. V tomto tutoriálu se naučíme, jak používat podmíněný výraz k provedení jiného bloku příkazů. Python poskytuje klíčová slova if a else pro nastavení logických podmínek. The Elif klíčové slovo se také používá jako podmíněný příkaz.
Příklad kódu pro příkaz if..else
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Výstup:
x is greater than y
Ve výše uvedeném kódu máme dvě proměnné, x a y, s 10 a 5. Potom jsme použili příkaz if..else ke kontrole, zda je x větší než y nebo naopak. Pokud je první podmínka pravdivá, vytiskne se příkaz 'x je větší než y'. Pokud je první podmínka nepravdivá, vytiskne se místo toho příkaz 'y je větší nebo rovno x'.
Klíčové slovo if zkontroluje, zda je podmínka pravdivá, a spustí blok kódu uvnitř. Kód uvnitř bloku else se provede, pokud je podmínka nepravdivá. Tímto způsobem nám příkaz if..else pomáhá provádět různé bloky kódu na základě podmínky.
Dozvíme se o tom podrobněji v dalším článku pro tutoriál Python.
Python Loops
Někdy můžeme potřebovat změnit tok programu. Spuštění konkrétního kódu může být nutné několikrát opakovat. Pro tento účel programovací jazyky poskytují různé smyčky schopné několikrát opakovat určitý specifický kód. Chcete-li podrobně porozumět příkazům, zvažte následující výukový program.
Python pro smyčku
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Výstup:
apple banana cherry
Python While Loop
i = 1 while i<5: print(i, end=" " ) i +="1" < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 </pre> <p>In the above example code, we have demonstrated using two types of loops in Python - For loop and While loop.</p> <p>The For loop is used to iterate over a sequence of items, such as a list, tuple, or string. In the example, we defined a list of fruits and used a for loop to print each fruit, but it can also be used to print a range of numbers.</p> <p>The While loop repeats a code block if the specified condition is true. In the example, we have initialized a variable i to 1 and used a while loop to print the value of i until it becomes greater than or equal to 6. The i += 1 statement is used to increment the value of i in each iteration.</p> <p>We will learn about them in the tutorial in detail.</p> <h2>Python Data Structures</h2> <p> <strong>Python offers four built-in data structures:</strong> <strong>lists</strong> , <strong>tuples</strong> , <strong>sets</strong> , and <strong>dictionaries</strong> that allow us to store data in an efficient way. Below are the commonly used data structures in Python, along with example code:</p> <h3>1. Lists </h3> <ul> <li>Lists are <strong>ordered collections</strong> of data elements of different data types.</li> <li>Lists are <strong>mutable</strong> meaning a list can be modified anytime.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>They are defined using square bracket ' <strong>[]</strong> '.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a list fruits = ['apple', 'banana', 'cherry'] print('fuirts[1] =', fruits[1]) # Modify list fruits.append('orange') print('fruits =', fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print('sum_nums =', sum_nums) </pre> <p> <strong>Output:</strong> </p> <pre> fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15 </pre> <h3>2. Tuples </h3> <ul> <li>Tuples are also <strong>ordered collections</strong> of data elements of different data types, similar to Lists.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>Tuples are <strong>immutable</strong> meaning Tuples can't be modified once created.</li> <li>They are defined using open bracket ' <strong>()</strong> '.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a tuple point = (3, 4) x, y = point print('(x, y) =', x, y) # Create another tuple tuple_ = ('apple', 'banana', 'cherry', 'orange') print('Tuple =', tuple_) </pre> <p> <strong>Output:</strong> </p> <pre> (x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange') </pre> <h3>3. Sets </h3> <ul> <li>Sets are <strong>unordered</strong> collections of immutable data elements of different data types.</li> <li>Sets are <strong>mutable</strong> .</li> <li>Elements can't be accessed using indices.</li> <li>Sets <strong>do not contain duplicate elements</strong> .</li> <li>They are defined using curly braces ' <strong>{}</strong> '</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a set set1 = {1, 2, 2, 1, 3, 4} print('set1 =', set1) # Create another set set2 = {'apple', 'banana', 'cherry', 'apple', 'orange'} print('set2 =', set2) </pre> <p> <strong>Output:</strong> </p> <pre> set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'} </pre> <h3>4. Dictionaries </h3> <ul> <li>Dictionary are <strong>key-value pairs</strong> that allow you to associate values with unique keys.</li> <li>They are defined using curly braces ' <strong>{}</strong> ' with key-value pairs <strong>separated by colons ':'</strong> .</li> <li>Dictionaries are <strong>mutable</strong> .</li> <li>Elements can be accessed using keys.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person) </pre> <p> <strong>Output:</strong> </p> <pre> person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'} </pre> <p>These are just a few examples of Python's built-in data structures. Each data structure has its own characteristics and use cases.</p> <h2>Python Functional Programming</h2> <p>This section of the Python tutorial defines some important tools related to functional programming, such as lambda and recursive functions. These functions are very efficient in accomplishing complex tasks. We define a few important functions, such as reduce, map, and filter. Python provides the functools module that includes various functional programming tools. Visit the following tutorial to learn more about functional programming.</p> <p>Recent versions of Python have introduced features that make functional programming more concise and expressive. For example, the 'walrus operator':= allows for inline variable assignment in expressions, which can be useful when working with nested function calls or list comprehensions.</p> <h2>Python Function</h2> <ol class="points"> <li> <strong>Lambda Function</strong> - A lambda function is a small, <strong>anonymous function</strong> that can take any number of arguments but can only have one expression. Lambda functions are often used in functional programming to create functions 'on the fly' without defining a named function.</li> <li> <strong>Recursive Function</strong> - A recursive function is a function that calls itself to solve a problem. Recursive functions are often used in functional programming to perform complex computations or to traverse complex data structures.</li> <li> <a href="/python-map-function"> <strong>Map Function</strong> </a> - The map() function applies a given function to each item of an iterable and returns a new iterable with the results. The input iterable can be a list, tuple, or other.</li> <li> <a href="/python-filter-function"> <strong>Filter Function</strong> </a> - The filter() function returns an iterator from an iterable for which the function passed as the first argument returns True. It filters out the items from an iterable that do not meet the given condition.</li> <li> <a href="/reduce-python"> <strong>Reduce Function</strong> </a> - The reduce() function applies a function of two arguments cumulatively to the items of an iterable from left to right to reduce it to a single value.</li> <li> <strong>functools Module</strong> - The functools module in Python provides higher-order functions that operate on other functions, such as partial() and reduce().</li> <li> <strong>Currying Function</strong> - A currying function is a function that takes multiple arguments and returns a sequence of functions that each take a single argument.</li> <li> <strong>Memoization Function</strong> - Memoization is a technique used in functional programming to cache the results of expensive function calls and return the cached Result when the same inputs occur again.</li> <li> <strong>Threading Function</strong> - Threading is a technique used in functional programming to run multiple tasks simultaneously to make the code more efficient and faster.</li> </ol> <h2>Python Modules</h2> <p> Python modules are the program files that contain Python code or functions. Python has two types of modules - User-defined modules and built-in modules. A module the user defines, or our Python code saved with .py extension, is treated as a user-define module.</p> <p>Built-in modules are predefined modules of Python. To use the functionality of the modules, we need to import them into our current working program.</p> <p>Python modules are essential to the language's ecosystem since they offer reusable code and functionality that can be imported into any Python program. Here are a few examples of several Python modules, along with a brief description of each:</p> <p> <strong>Math</strong> : Gives users access to mathematical constants and pi and trigonometric functions.</p> <p> <strong>Datetime</strong> : Provides classes for a simpler way of manipulating dates, times, and periods.</p> <p> <a href="/python-os-module"> <strong>OS</strong> </a> : Enables interaction with the base operating system, including administration of processes and file system activities.</p> <p> <a href="/python-random-module"> <strong>Random</strong> </a> : The random function offers tools for generating random integers and picking random items from a list.</p> <p> <strong>JSON</strong> : JSON is a data structure that can be encoded and decoded and is frequently used in online APIs and data exchange. This module allows dealing with JSON. <br> <strong>Re</strong> : Supports regular expressions, a potent text-search and text-manipulation tool.</p> <p> <strong>Collections</strong> : Provides alternative data structures such as sorted dictionaries, default dictionaries, and named tuples.</p> <p> <strong>NumPy</strong> : NumPy is a core toolkit for scientific computing that supports numerical operations on arrays and matrices.</p> <p> <strong>Pandas</strong> : It provides high-level data structures and operations for dealing with time series and other structured data types.</p> <p> <strong>Requests</strong> : Offers a simple user interface for web APIs and performs HTTP requests.</p> <h2>Python File I/O</h2> <p>Files are used to store data in a computer disk. In this tutorial, we explain the built-in file object of Python. We can open a file using Python script and perform various operations such as writing, reading, and appending. There are various ways of opening a file. We are explained with the relevant example. We will also learn to perform read/write operations on binary files.</p> <p> <strong>Python's file input/output (I/O) system</strong> offers programs to communicate with files stored on a disc. Python's built-in methods for the file object let us carry out actions like reading, writing, and adding data to files.</p> <p>The <strong>open()</strong> method in Python makes a file object when working with files. The name of the file to be opened and the mode in which the file is to be opened are the two parameters required by this function. The mode can be used according to work that needs to be done with the file, such as ' <strong>r</strong> ' for reading, ' <strong>w</strong> ' for writing, or ' <strong>a</strong> ' for attaching.</p> <p>After successfully creating an object, different methods can be used according to our work. If we want to write in the file, we can use the write() functions, and if you want to read and write both, then we can use the append() function and, in cases where we only want to read the content of the file we can use read() function. Binary files containing data in a binary rather than a text format may also be worked with using Python. Binary files are written in a manner that humans cannot directly understand. The <strong>rb</strong> and <strong>wb</strong> modes can read and write binary data in binary files.</p> <h2>Python Exceptions</h2> <p>An exception can be defined as an unusual condition in a program resulting in an interruption in the flow of the program.</p> <p>Whenever an exception occurs, the program stops the execution, and thus the other code is not executed. Therefore, an exception is the run-time errors that are unable to handle to Python script. An exception is a Python object that represents an error.</p> <p> <strong>Python Exceptions</strong> are an important aspect of error handling in Python programming. When a program encounters an unexpected situation or error, it may raise an exception, which can interrupt the normal flow of the program.</p> <p>In Python, exceptions are represented as objects containing information about the error, including its type and message. The most common type of Exception in Python is the Exception class, a base class for all other built-in exceptions.</p> <p>To handle exceptions in Python, we use the <strong>try</strong> and <strong>except</strong> statements. The <strong>try</strong> statement is used to enclose the code that may raise an exception, while the <strong>except</strong> statement is used to define a block of code that should be executed when an exception occurs.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> try: x = int ( input ('Enter a number: ')) y = 10 / x print ('Result:', y) except ZeroDivisionError: print ('Error: Division by zero') except ValueError: print ('Error: Invalid input') </pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 0 Error: Division by zero </pre> <p>In this code, we use the try statement to attempt to perform a division operation. If either of these operations raises an exception, the matching except block is executed.</p> <p>Python also provides many built-in exceptions that can be raised in similar situations. Some common built-in exceptions include <strong>IndexError, TypeError</strong> , and <strong>NameError</strong> . Also, we can define our custom exceptions by creating a new class that inherits from the Exception class.</p> <h2>Python CSV</h2> <p>A CSV stands for 'comma separated values', which is defined as a simple file format that uses specific structuring to arrange tabular data. It stores tabular data such as spreadsheets or databases in plain text and has a common format for data interchange. A CSV file opens into the Excel sheet, and the rows and columns data define the standard format.</p> <p>We can use the CSV.reader function to read a CSV file. This function returns a reader object that we can use to repeat over the rows in the CSV file. Each row is returned as a list of values, where each value corresponds to a column in the CSV file.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row) </pre> <p>Here, we open the file data.csv in read mode and create a <strong>csv.reader</strong> object using the <strong>csv.reader()</strong> function. We then iterate over the rows in the CSV file using a for loop and print each row to the console.</p> <p>We can use the <strong>CSV.writer()</strong> function to write data to a CSV file. It returns a writer object we can use to write rows to the CSV file. We can write rows by calling the <strong>writer ()</strong> method on the writer object.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv data = [ ['Name', 'Age', 'Country'], ['Alice', '25', 'USA'], ['Bob', '30', 'Canada'], ['Charlie', '35', 'Australia'] ] with open('data.csv', 'w') as file: writer = csv.writer(file) for row in data: writer.writerow(row) </pre> <p>In this program, we create a list of lists called data, where each inner list represents a row of data. We then open the file data.csv in write mode and create a <strong>CSV.writer</strong> object using the CSV.writer function. We then iterate over the rows in data using a for loop and write each row to the CSV file using the writer method.</p> <h2>Python Sending Mail</h2> <p>We can send or read a mail using the Python script. Python's standard library modules are useful for handling various protocols such as PoP3 and IMAP . Python provides the <a href="/python-sending-email-using-smtp">smtplib</a> module for sending emails using SMTP (Simple Mail Transfer Protocol). We will learn how to send mail with the popular email service SMTP from a Python script.</p> <h3>Python Magic Methods</h3> <p>The Python magic method is the special method that adds 'magic' to a class. It starts and ends with double underscores, for example, <strong>_init_</strong> or <strong>_str_</strong> .</p> <p>The built-in classes define many magic methods. The <strong>dir()</strong> function can be used to see the number of magic methods inherited by a class. It has two prefixes and suffix underscores in the method name.</p> <ul> <li>Python magic methods are also known as <strong>dunder methods</strong> , short for ' double underscore ' methods because their names start and end with a double underscore.</li> <li> <strong>Magic methods</strong> are automatically invoked by the Python interpreter in certain situations, such as when an object is created, compared to another object, or printed.</li> <li>Magic methods can be used to customize the behavior of classes, such as defining how objects are compared, converted to strings, or accessed as containers.</li> <li>Some commonly used magic methods include <strong>init</strong> for initializing an object, str for converting an object to a string, <strong>eq</strong> for comparing two objects for equality, and <strong>getitem</strong> and <strong>setitem</strong> for accessing items in a container object.</li> </ul> <p>For example, the <strong>str</strong> magic method can define how an object should be represented as a string. Here's an example</p> <pre> class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f'{self.name} ({self.age})' person = Person('Vikas', 22) print(person) </pre> <p> <strong>Output:</strong> </p> <pre> Vikas (22) </pre> <p>In this example, the str method is defined to return a formatted string representation of the Person object with the person's name and age.</p> <p>Another commonly used magic method is <strong>eq</strong> , which defines how objects should be compared for equality. Here's an example:</p> <pre> class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) </pre> <p> <strong>Output:</strong> </p> <pre> False True </pre> <p>In this example, the <strong>eq</strong> method is defined to return True if two Point objects have the same x and y coordinates and False otherwise.</p> <h2>Python Oops Concepts</h2> <p>Everything in Python is treated as an object, including integer values, floats, functions, classes, and none. Apart from that, Python supports all oriented concepts. Below is a brief introduction to the Oops concepts of Python.</p> <ul> <li> <a href="/classes-objects-python"> <strong>Classes and Objects</strong> </a> - Python classes are the blueprints of the Object. An object is a collection of data and methods that act on the data.</li> <li> <a href="/python-inheritance"> <strong>Inheritance</strong> </a> - An inheritance is a technique where one class inherits the properties of other classes.</li> <li> <a href="/python-constructor"> <strong>Constructor</strong> </a> - Python provides a special method __init__() which is known as a constructor. This method is automatically called when an object is instantiated.</li> <tr><td>Data Member</td> - A variable that holds data associated with a class and its objects. <li> <strong>Polymorphism</strong> - Polymorphism is a concept where an object can take many forms. In Python, polymorphism can be achieved through method overloading and method overriding.</li> </tr><tr><td>Method Overloading</td> - In Python, method overloading is achieved through default arguments, where a method can be defined with multiple parameters. The default values are used if some parameters are not passed while calling the method. <li> <strong>Method Overriding</strong> - Method overriding is a concept where a subclass implements a method already defined in its superclass.</li> <li> <strong>Encapsulation</strong> - Encapsulation is wrapping data and methods into a single unit. In Python, encapsulation is achieved through access modifiers, such as public, private, and protected. However, Python does not strictly enforce access modifiers, and the naming convention indicates the access level.</li> <li> <strong>Data Abstraction</strong> : A technique to hide the complexity of data and show only essential features to the user. It provides an interface to interact with the data. Data abstraction reduces complexity and makes code more modular, allowing developers to focus on the program's essential features.</li> </tr></ul> <p>To read the Oops concept in detail, visit the following resources.</p> <ul> <li> Python Oops Concepts - In Python, the object-oriented paradigm is to design the program using classes and objects. The object is related to real-word entities such as book, house, pencil, etc. and the class defines its properties and behaviours.</li> <li> <a href="/classes-objects-python">Python Objects and classes</a> - In Python, objects are instances of classes and classes are blueprints that defines structure and behaviour of data.</li> <li> <a href="/python-constructor">Python Constructor</a> - A constructor is a special method in a class that is used to initialize the object's attributes when the object is created.</li> <li> <a href="/python-inheritance">Python Inheritance</a> - Inheritance is a mechanism in which new class (subclass or child class) inherits the properties and behaviours of an existing class (super class or parent class).</li> <li> Python Polymorphism - Polymorphism allows objects of different classes to be treated as objects of a common superclass, enabling different classes to be used interchangeably through a common interface.</li> </ul> <h2>Python Advance Topics</h2> <p>Python includes many advances and useful concepts that help the programmer solve complex tasks. These concepts are given below.</p> <h3> Python Iterator </h3> <p>An iterator is simply an object that can be iterated upon. It returns one Object at a time. It can be implemented using the two special methods, <strong>__iter__()</strong> and __next__().</p> <p>Iterators in Python are objects that allow iteration over a collection of data. They process each collection element individually without loading the entire collection into memory.</p> <p>For example, let's create an iterator that returns the squares of numbers up to a given limit:</p> <pre> def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p> <strong>Python generators</strong> produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function's execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don't have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p> <strong>Python Decorators</strong> are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here's an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f'{func.__name__} took {end-start:.5f} seconds to run.') return result return wrapper @time_it def my_function(n): time.sleep(2) print(f'Factorial of {n} = {factorial(n)}') my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li> <strong>Environment Setup</strong> : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li> <strong>Database Connection</strong> : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li> <strong>Creating New Database</strong> : Creating a new database in MySQL using Python.</li> <li> <strong>Creating Tables</strong> : Creating tables in the MySQL database with Python using SQL commands.</li> <li> <strong>Insert Operation</strong> : Insert data into MySQL tables using Python and SQL commands.</li> <li> <strong>Read Operation</strong> : Reading data from MySQL tables using Python and SQL commands.</li> <li> <strong>Update Operation</strong> : Updating data in MySQL tables using Python and SQL commands.</li> <li> <strong>Join Operation</strong> : Joining two or more tables in MySQL using Python and SQL commands.</li> <li> <strong>Performing Transactions</strong> : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li> <strong>Environment Setup</strong> : Install and configure MongoDB and PyMongo library on your system.</li> <li> <strong>Database Connection</strong> : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li> <strong>Creating a new database</strong> : Use the MongoClient Object to create a new database.</li> <li> <strong>Creating collections</strong> : Create collections within a database to store documents.</li> <li> <strong>Inserting documents</strong> : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li> <strong>Querying documents</strong> : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li> <strong>Updating documents</strong> : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li> <strong>Deleting documents</strong> : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li> <strong>Aggregation</strong> : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p> <strong>Python CGI</strong> is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term ' <strong>concurrency</strong> ' describes a program's capacity to carry out several tasks at once, enhancing the program's efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python's asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python's threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python's requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website's server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called 'natural language processing' (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we've looked at some of Python's most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=></pre></5:>
Ve výše uvedeném příkladu kódu jsme demonstrovali použití dvou typů smyček v Pythonu – smyčky For a smyčky While.
Cyklus For se používá k iteraci sekvence položek, jako je seznam, n-tice nebo řetězec. V příkladu jsme definovali seznam ovoce a použili jsme smyčku for k vytištění každého ovoce, ale lze ji také použít k tisku řady čísel.
Cyklus While opakuje blok kódu, pokud je zadaná podmínka pravdivá. V příkladu jsme inicializovali proměnnou i na 1 a pomocí cyklu while vytiskli hodnotu i, dokud nebude větší nebo rovna 6. Příkaz i += 1 se používá ke zvýšení hodnoty i v každé iteraci. .
Podrobně se o nich dozvíme v tutoriálu.
Datové struktury Pythonu
Python nabízí čtyři vestavěné datové struktury: seznamy , n-tice , sady , a slovníky které nám umožňují ukládat data efektivním způsobem. Níže jsou běžně používané datové struktury v Pythonu spolu s ukázkovým kódem:
1. Seznamy
- Seznamy jsou objednané sbírky datových prvků různých datových typů.
- Seznamy jsou proměnlivý což znamená, že seznam lze kdykoli upravit.
- Prvky mohou být přístupné pomocí indexů .
- Jsou definovány pomocí hranatých závorek ' [] '.
Příklad:
# 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)
Výstup:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. N-tice
- N-tice jsou také objednané sbírky datových prvků různých datových typů, podobně jako seznamy.
- Prvky mohou být přístupné pomocí indexů .
- N-tice jsou neměnný což znamená, že n-tice nelze po vytvoření upravit.
- Jsou definovány pomocí otevřené závorky ' () '.
Příklad:
# 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_)
Výstup:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Sady
- Sady jsou neuspořádané kolekce neměnných datových prvků různých datových typů.
- Sady jsou proměnlivý .
- K prvkům nelze přistupovat pomocí indexů.
- Sady neobsahují duplicitní prvky .
- Jsou definovány pomocí složených závorek ' {} '
Příklad:
# 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)
Výstup:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Slovníky
- Slovník jsou páry klíč-hodnota které umožňují přiřadit hodnoty k jedinečným klíčům.
- Jsou definovány pomocí složených závorek ' {} s páry klíč–hodnota oddělené dvojtečkami ':' .
- Slovníky jsou proměnlivý .
- K prvkům lze přistupovat pomocí kláves.
Příklad:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Výstup:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Toto je jen několik příkladů vestavěných datových struktur Pythonu. Každá datová struktura má své vlastní charakteristiky a případy použití.
Funkční programování v Pythonu
Tato část výukového programu Python definuje některé důležité nástroje související s funkčním programováním, jako jsou lambda a rekurzivní funkce. Tyto funkce jsou velmi účinné při plnění složitých úkolů. Definujeme několik důležitých funkcí, jako je zmenšení, mapa a filtr. Python poskytuje modul functools, který obsahuje různé funkční programovací nástroje. Navštivte následující výukový program, kde se dozvíte více o funkcionálním programování.
Nedávné verze Pythonu zavedly funkce, díky nimž je funkční programování stručnější a výraznější. Například 'mrož operátor':= umožňuje inline přiřazení proměnných ve výrazech, což může být užitečné při práci s vnořenými voláními funkcí nebo s porozuměním seznamu.
Funkce Python
- Funkce lambda - Funkce lambda je malá, anonymní funkce který může mít libovolný počet argumentů, ale může mít pouze jeden výraz. Funkce lambda se často používají ve funkcionálním programování k vytváření funkcí „za běhu“ bez definování pojmenované funkce.
- Rekurzivní funkce - Rekurzivní funkce je funkce, která volá sama sebe, aby vyřešila problém. Rekurzivní funkce se často používají ve funkčním programování k provádění složitých výpočtů nebo k procházení složitými datovými strukturami.
- Funkce mapy - Funkce map() aplikuje danou funkci na každou položku iterovatelné a vrátí novou iterovatelnou s výsledky. Iterovatelný vstup může být seznam, n-tice nebo jiný.
- Funkce filtru - Funkce filter() vrací iterátor z iterovatelného, pro který funkce předaná jako první argument vrací True. Odfiltruje položky z iterovatelného prvku, které nesplňují danou podmínku.
- Snížit funkci - Funkce reduction() aplikuje funkci dvou argumentů kumulativně na položky iterovatelné zleva doprava, aby se redukovala na jedinou hodnotu.
- modul functools - Modul functools v Pythonu poskytuje funkce vyššího řádu, které pracují s jinými funkcemi, jako je například částečné () a snížit ().
- Funkce kari - Funkce currying je funkce, která přebírá více argumentů a vrací posloupnost funkcí, z nichž každá má jeden argument.
- Funkce paměti - Memoizace je technika používaná ve funkčním programování k ukládání výsledků volání drahých funkcí do mezipaměti a vrácení výsledku uloženého v mezipaměti, když se znovu objeví stejné vstupy.
- Funkce závitování - Threading je technika používaná ve funkčním programování ke spouštění více úloh současně, aby byl kód efektivnější a rychlejší.
Moduly Pythonu
Moduly Pythonu jsou programové soubory, které obsahují kód nebo funkce Pythonu. Python má dva typy modulů – Uživatelsky definované moduly a vestavěné moduly. Modul, který uživatel definuje, nebo náš kód Python uložený s příponou .py, je považován za modul definovaný uživatelem.
Vestavěné moduly jsou předdefinované moduly Pythonu. Abychom mohli využívat funkčnost modulů, musíme je importovat do našeho aktuálního pracovního programu.
Moduly Pythonu jsou nezbytné pro ekosystém jazyka, protože nabízejí opakovaně použitelný kód a funkce, které lze importovat do jakéhokoli programu Python. Zde je několik příkladů několika modulů Pythonu spolu se stručným popisem každého z nich:
Matematika : Poskytuje uživatelům přístup k matematickým konstantám a pí a goniometrickým funkcím.
Čas schůzky : Poskytuje třídy pro jednodušší způsob manipulace s daty, časy a obdobími.
řetězec zřetězení v jazyce Java
VY : Umožňuje interakci se základním operačním systémem, včetně správy procesů a činností souborového systému.
náhodný : Funkce náhodný nabízí nástroje pro generování náhodných celých čísel a vybírání náhodných položek ze seznamu.
JSON : JSON je datová struktura, kterou lze kódovat a dekódovat a která se často používá v online rozhraních API a výměně dat. Tento modul umožňuje práci s JSON.
Re : Podporuje regulární výrazy, účinný nástroj pro vyhledávání a manipulaci s textem.
Sbírky : Poskytuje alternativní datové struktury, jako jsou tříděné slovníky, výchozí slovníky a pojmenované n-tice.
NumPy : NumPy je základní sada nástrojů pro vědecké výpočty, která podporuje numerické operace s poli a maticemi.
pandy : Poskytuje datové struktury a operace na vysoké úrovni pro práci s časovými řadami a dalšími strukturovanými datovými typy.
Žádosti : Nabízí jednoduché uživatelské rozhraní pro webová rozhraní API a provádí požadavky HTTP.
I/O souboru Python
Soubory slouží k ukládání dat na disk počítače. V tomto tutoriálu vysvětlíme vestavěný souborový objekt Pythonu. Můžeme otevřít soubor pomocí skriptu Python a provádět různé operace, jako je zápis, čtení a přidávání. Existují různé způsoby otevření souboru. Jsme vysvětleni na příslušném příkladu. Naučíme se také provádět operace čtení/zápisu na binárních souborech.
Vstupně/výstupní (I/O) systém Pythonu nabízí programy pro komunikaci se soubory uloženými na disku. Vestavěné metody Pythonu pro objekt file nám umožňují provádět akce, jako je čtení, zápis a přidávání dat do souborů.
The OTEVŘENO() metoda v Pythonu vytváří souborový objekt při práci se soubory. Název souboru, který se má otevřít, a režim, ve kterém se má soubor otevřít, jsou dva parametry vyžadované touto funkcí. Režim lze použít podle práce, kterou je třeba se souborem provést, např. r ' na čtení,' v ' za psaní, nebo' A “ pro připojení.
Po úspěšném vytvoření objektu lze použít různé metody podle naší práce. Pokud chceme do souboru zapisovat, můžeme použít funkce write(), a pokud chcete číst i zapisovat obojí, pak můžeme použít funkci append() a v případech, kdy chceme pouze číst obsah soubor můžeme použít funkci read(). Pomocí Pythonu lze také pracovat s binárními soubory obsahujícími data v binárním spíše než textovém formátu. Binární soubory jsou zapsány způsobem, kterému lidé přímo nerozumí. The rb a wb režimy mohou číst a zapisovat binární data do binárních souborů.
Výjimky v Pythonu
Výjimku lze definovat jako neobvyklou podmínku v programu, která má za následek přerušení toku programu.
Kdykoli dojde k výjimce, program zastaví provádění, a proto se další kód nespustí. Výjimkou jsou proto chyby za běhu, které nejsou schopny zpracovat skript Python. Výjimkou je objekt Pythonu, který představuje chybu.
Výjimky v Pythonu jsou důležitým aspektem zpracování chyb v programování v Pythonu. Když program narazí na neočekávanou situaci nebo chybu, může vyvolat výjimku, která může přerušit normální tok programu.
V Pythonu jsou výjimky reprezentovány jako objekty obsahující informace o chybě, včetně jejího typu a zprávy. Nejběžnějším typem výjimky v Pythonu je třída Exception, základní třída pro všechny ostatní vestavěné výjimky.
Ke zpracování výjimek v Pythonu používáme Snaž se a až na prohlášení. The Snaž se příkaz se používá k uzavření kódu, který může vyvolat výjimku, zatímco příkaz až na příkaz se používá k definování bloku kódu, který by měl být proveden, když dojde k výjimce.
Zvažte například následující kód:
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')
Výstup:
Enter a number: 0 Error: Division by zero
V tomto kódu používáme příkaz try k pokusu o provedení operace rozdělení. Pokud některá z těchto operací vyvolá výjimku, provede se blok shody s výjimkou.
Python také poskytuje mnoho vestavěných výjimek, které lze v podobných situacích vyvolat. Některé běžné vestavěné výjimky zahrnují IndexError, TypeError , a NameError . Také můžeme definovat naše vlastní výjimky vytvořením nové třídy, která dědí z třídy Exception.
Python CSV
CSV je zkratka pro „hodnoty oddělené čárkami“, které jsou definovány jako jednoduchý formát souboru, který používá specifické strukturování k uspořádání tabulkových dat. Ukládá tabulková data, jako jsou tabulky nebo databáze, v prostém textu a má společný formát pro výměnu dat. Soubor CSV se otevře v listu aplikace Excel a data řádků a sloupců definují standardní formát.
Pro čtení CSV souboru můžeme použít funkci CSV.reader. Tato funkce vrací objekt čtečky, který můžeme použít k opakování na řádcích v souboru CSV. Každý řádek je vrácen jako seznam hodnot, kde každá hodnota odpovídá sloupci v souboru CSV.
Zvažte například následující kód:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Zde otevřeme soubor data.csv v režimu čtení a vytvoříme a csv.reader objekt pomocí csv.reader() funkce. Poté iterujeme řádky v souboru CSV pomocí cyklu for a vytiskneme každý řádek do konzoly.
Můžeme použít CSV.writer() funkce pro zápis dat do souboru CSV. Vrací objekt Writer, který můžeme použít k zápisu řádků do souboru CSV. Řádky můžeme psát voláním spisovatel () metoda na objektu Writer.
Zvažte například následující kód:
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)
V tomto programu vytváříme seznam seznamů nazývaných data, kde každý vnitřní seznam představuje řádek dat. Poté otevřeme soubor data.csv v režimu zápisu a vytvoříme a CSV.spisovatel objekt pomocí funkce CSV.writer. Poté iterujeme řádky v datech pomocí cyklu for a zapíšeme každý řádek do souboru CSV pomocí metody Writer.
Python odesílání pošty
Poštu můžeme odesílat nebo číst pomocí skriptu Python. Standardní moduly knihovny Pythonu jsou užitečné pro práci s různými protokoly, jako je PoP3 a IMAP. Python poskytuje smtplib modul pro odesílání emailů pomocí SMTP (Simple Mail Transfer Protocol). Naučíme se odesílat poštu pomocí oblíbené e-mailové služby SMTP ze skriptu Python.
Magické metody Pythonu
Magická metoda Pythonu je speciální metoda, která do třídy přidává 'kouzlo'. Začíná a končí dvojitým podtržením, např. _horký_ nebo _str_ .
Vestavěné třídy definují mnoho magických metod. The vy() funkci lze použít k zobrazení počtu magických metod zděděných třídou. V názvu metody má dvě předpony a příponu podtržítka.
- Magické metody Pythonu jsou také známé jako dunderovy metody , zkratka pro metody ' dvojité podtržení ', protože jejich názvy začínají a končí dvojitým podtržením.
- Magické metody jsou automaticky vyvolány interpretem Pythonu v určitých situacích, například když je objekt vytvořen, porovnán s jiným objektem nebo vytištěn.
- Metody Magic lze použít k přizpůsobení chování tříd, jako je definování toho, jak se objekty porovnávají, převádějí na řetězce nebo k nim přistupují jako kontejnery.
- Některé běžně používané magické metody zahrnují teplo pro inicializaci objektu, str pro převod objektu na řetězec, ekv pro porovnání dvou objektů pro rovnost a s názvem a setitem pro přístup k položkám v objektu kontejneru.
Například, str magická metoda může definovat, jak by měl být objekt reprezentován jako řetězec. Zde je příklad
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)
Výstup:
Vikas (22)
V tomto příkladu je metoda str definována tak, aby vracela formátovanou řetězcovou reprezentaci objektu Person se jménem a věkem osoby.
Další běžně používanou magickou metodou je ekv , který definuje, jak by měly být objekty porovnávány z hlediska rovnosti. Zde je příklad:
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)
Výstup:
False True
V tomto příkladu je ekv metoda je definována tak, aby vracela True, pokud dva objekty Point mají stejné souřadnice x a y a False jinak.
Python Jejda koncepty
Se vším v Pythonu se zachází jako s objektem, včetně celočíselných hodnot, floats, funkcí, tříd a žádných. Kromě toho Python podporuje všechny orientované koncepty. Níže je uveden stručný úvod do konceptů Oops v Pythonu.
- Třídy a objekty - Třídy Pythonu jsou plány objektu. Objekt je soubor dat a metod, které na data působí.
- Dědictví - Dědičnost je technika, kdy jedna třída dědí vlastnosti jiných tříd.
- Konstruktér - Python poskytuje speciální metodu __init__(), která je známá jako konstruktor. Tato metoda je automaticky volána při vytváření instance objektu.
- Polymorfismus - Polymorfismus je koncept, kdy objekt může mít mnoho podob. V Pythonu lze polymorfismu dosáhnout přetížením metody a přepsáním metody.
- Přepsání metody - Přepsání metody je koncept, kdy podtřída implementuje metodu již definovanou ve své nadtřídě.
- Zapouzdření - Zapouzdření je zabalení dat a metod do jednoho celku. V Pythonu je zapouzdření dosaženo prostřednictvím modifikátorů přístupu, jako je veřejný, soukromý a chráněný. Python však modifikátory přístupu striktně nevynucuje a konvence pojmenování udává úroveň přístupu.
- Abstrakce dat : Technika, která skryje složitost dat a zobrazí uživateli pouze základní funkce. Poskytuje rozhraní pro interakci s daty. Abstrakce dat snižuje složitost a činí kód modulárnějším, což umožňuje vývojářům soustředit se na základní funkce programu.
Chcete-li si podrobně přečíst koncept Oops, navštivte následující zdroje.
- Python Oops pojetí - V Pythonu, objektově orientované paradigma je navrhnout program používat třídy a objekty. Objekt souvisí s entitami reálného slova, jako je kniha, dům, tužka atd. a třída definuje jeho vlastnosti a chování.
- Objekty a třídy Pythonu - V Pythonu jsou objekty instancemi tříd a třídy jsou plány, které definují strukturu a chování dat.
- Konstruktor Pythonu - Konstruktor je speciální metoda ve třídě, která se používá k inicializaci atributů objektu, když je objekt vytvořen.
- Dědičnost Pythonu - Dědičnost je mechanismus, ve kterém nová třída (podtřída nebo podřízená třída) zdědí vlastnosti a chování existující třídy (nadtřída nebo nadřazená třída).
- Polymorfismus Pythonu – Polymorfismus umožňuje, aby se s objekty různých tříd zacházelo jako s objekty společné nadtřídy, což umožňuje zaměnitelné používání různých tříd prostřednictvím společného rozhraní.
Pokročilá témata Pythonu
Python obsahuje mnoho pokroků a užitečných konceptů, které pomáhají programátorovi řešit složité úkoly. Tyto pojmy jsou uvedeny níže.
Python Iterator
Iterátor je jednoduše objekt, na kterém lze iterovat. Vrací vždy jeden objekt. Lze jej implementovat pomocí dvou speciálních metod, __iter__() a další__().
Iterátory v Pythonu jsou objekty, které umožňují iteraci přes kolekci dat. Zpracovávají každý prvek kolekce samostatně, aniž by načítaly celou kolekci do paměti.
Vytvořme například iterátor, který vrátí druhé mocniny čísel až do daného limitu:
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></=>
V tomto příkladu jsme vytvořili třídu Squares, která funguje jako iterátor implementací metod __iter__() a __next__(). Metoda __iter__() vrací samotný objekt a metoda __next__() vrací další čtverec čísla, dokud není dosaženo limitu.
Chcete-li se dozvědět více o iterátorech, navštivte náš tutoriál Python Iterators.
Generátory Pythonu
Python generátory vytvořit posloupnost hodnot pomocí výkazu výnosu spíše než návrat, protože jsou to funkce, které vracejí iterátory. Generátory ukončí provádění funkce při zachování místního stavu. Po restartu pokračuje přesně tam, kde skončil. Protože díky této funkci nemusíme implementovat protokol iterátoru, je psaní iterátorů jednodušší. Zde je ilustrace jednoduché funkce generátoru, která vytváří druhé mocniny čísel:
# 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)
Výstup:
0 1 4 9 16
Modifikátory Pythonu
Python Decorators jsou funkce používané k úpravě chování jiné funkce. Umožňují přidání funkcí k existující funkci bez přímé úpravy jejího kódu. Dekorátoři jsou definováni pomocí @ symbol následovaný názvem funkce dekorátoru. Mohou být použity pro protokolování, časování, ukládání do mezipaměti atd.
Zde je příklad funkce dekoratér, která přidává funkci časování k jiné funkci:
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)
Výstup:
Ve výše uvedeném příkladu používá funkce dekorátoru time_it jinou funkci jako argument a vrací funkci wrapper. Funkce wrapper vypočítá čas pro provedení původní funkce a vytiskne ji do konzoly. Dekorátor @time_it se používá k aplikaci funkce time_it na funkci my_function. Když se zavolá funkce my_function, provede se dekorátor a přidá se funkce časování.
Python MySQL
Python MySQL je výkonný systém pro správu relačních databází. Abychom mohli používat MySQL s Pythonem, musíme nastavit prostředí a navázat spojení. Můžeme vytvořit novou databázi a tabulky pomocí SQL příkazů v Pythonu.
- Nastavení prostředí : Instalace a konfigurace MySQL Connector/Python pro použití Pythonu s MySQL.
- Připojení k databázi : Navázání spojení mezi Pythonem a MySQL databází pomocí MySQL Connector/Python.
- Vytvoření nové databáze : Vytvoření nové databáze v MySQL pomocí Pythonu.
- Vytváření tabulek : Vytváření tabulek v databázi MySQL pomocí Pythonu pomocí příkazů SQL.
- Operace vložení : Vkládání dat do tabulek MySQL pomocí příkazů Python a SQL.
- Přečtěte si operaci : Čtení dat z tabulek MySQL pomocí příkazů Python a SQL.
- Operace aktualizace : Aktualizace dat v tabulkách MySQL pomocí příkazů Python a SQL.
- Připojte se k operaci : Spojení dvou nebo více tabulek v MySQL pomocí příkazů Python a SQL.
- Provádění transakcí : Provádění skupiny SQL dotazů jako jediné pracovní jednotky v MySQL pomocí Pythonu.
Mezi další relativní body patří zpracování chyb, vytváření indexů a používání uložených procedur a funkcí v MySQL s Pythonem.
Python MongoDB
Python MongoDB je populární databáze NoSQL, která ukládá data do dokumentů podobných JSON. Je bez schématu a poskytuje vysokou škálovatelnost a flexibilitu pro ukládání dat. MongoDB můžeme používat s Pythonem pomocí knihovny PyMongo, která poskytuje jednoduché a intuitivní rozhraní pro interakci s MongoDB.
Zde jsou některé běžné úkoly při práci s MongoDB v Pythonu:
- Nastavení prostředí : Nainstalujte a nakonfigurujte knihovnu MongoDB a PyMongo ve vašem systému.
- Připojení k databázi : Připojte se k serveru MongoDB pomocí třídy MongoClient z PyMongo.
- Vytvoření nové databáze : Použijte objekt MongoClient k vytvoření nové databáze.
- Vytváření kolekcí : Vytvářejte kolekce v databázi pro ukládání dokumentů.
- Vkládání dokumentů : Vložení nových dokumentů do kolekce pomocí metod insert_one() nebo insert_many().
- Dotazování dokumentů : Načtení dokumentů z kolekce pomocí různých metod dotazu, jako je find_one(), find() atd.
- Aktualizace dokumentů : Upravte existující dokumenty v kolekci pomocí metod update_one() nebo update_many().
- Mazání dokumentů : Odstraňte dokumenty z kolekce pomocí metod delete_one() nebo delete_many().
- Agregace : Provádějte agregační operace, jako je seskupování, počítání atd., pomocí rámce agregačního kanálu.
V MongoDB je mnoho pokročilejších témat, jako je sdílení dat, replikace a další, ale tyto úlohy pokrývají základy práce s MongoDB v Pythonu.
Python SQLite
Relační databáze jsou vytvářeny a udržovány pomocí Python SQLite, kompaktního, bezserverového, samostatného databázového stroje. Jeho mobilita a jednoduchost z něj činí oblíbenou volbu pro místní nebo malé aplikace. Python má vestavěný modul pro připojení k databázím SQLite s názvem SQLite3, který umožňuje vývojářům bez problémů pracovat s databázemi SQLite.
Prostřednictvím knihovny SQLite3 jsou k dispozici různé metody API, které lze použít ke spouštění dotazů SQL, vkládání, výběru, aktualizaci a odstraňování dat a také k získávání dat z tabulek. Navíc umožňuje transakce, což umožňuje programátorům vrátit změny v případě problému. Python SQLite je fantastická možnost pro vytváření programů, které potřebují vestavěný databázový systém, včetně desktopových, mobilních a skromných webových programů. SQLite se stal populární mezi vývojáři pro lehké aplikace s databázovými funkcemi díky snadnému použití, přenositelnosti a hladkému propojení s Pythonem.
CGI v Pythonu
CGI v Pythonu je technologie pro spouštění skriptů prostřednictvím webových serverů za účelem vytváření dynamického online obsahu. Nabízí komunikační kanál a rozhraní pro generování dynamického obsahu pro externí CGI skripty a webový server. Python CGI skripty mohou vytvářet HTML webové stránky, zpracovávat vstupní formuláře a komunikovat s databázemi. Python CGI umožňuje serveru provádět Python skripty a poskytovat výsledky klientovi, čímž nabízí rychlý a efektivní přístup k vytváření dynamických online aplikací.
Python CGI skripty lze použít pro mnoho věcí, včetně vytváření dynamických webových stránek, zpracování formulářů a interakce s databázemi. Protože Python, silný a oblíbený programovací jazyk, lze využít k vytváření skriptů, umožňuje přizpůsobenější a flexibilnější přístup k tvorbě webu. S Python CGI lze vytvářet škálovatelné, bezpečné a udržovatelné online aplikace. Python CGI je užitečný nástroj pro webové vývojáře, kteří vytvářejí dynamické a interaktivní online aplikace.
Asynchronní programování v Pythonu
Asynchronní programování je paradigma pro počítačové programování, které umožňuje nezávislé a souběžné provozování činností. Často se používá v aplikacích, jako jsou webové servery, databázový software a síťové programování, kde musí být zpracováno několik úkolů nebo požadavků současně.
Python má mezi svými knihovnami a frameworky pro asynchronní programování asyncio, Twisted a Tornado. Asyncio, jedna z nich, nabízí jednoduché rozhraní pro asynchronní programování a je oficiální knihovnou asynchronního programování v Pythonu.
Coroutines jsou funkce, které mohou být zastaveny a znovu spuštěny na konkrétních místech v kódu a jsou využívány asyncio. To umožňuje, aby četné korutiny fungovaly současně, aniž by se navzájem rušily. Pro konstrukci a údržbu korutin nabízí knihovna několik tříd a metod, včetně asyncio.gather(), asyncio.wait(), a asyncio.create_task().
Další funkcí asyncio jsou smyčky událostí, které mají na starosti plánování a provozování korutin. Cyklováním mezi koroutiny neblokujícím způsobem řídí smyčka událostí provádění koroutin a zajišťuje, že žádná koroutina neblokuje jinou. Kromě toho podporuje časovače a plánování zpětných volání, což může být užitečné, když je třeba činnosti dokončit v určených časech nebo intervalech.
Python Concurrency
Termín ' konkurence “ popisuje schopnost programu provádět několik úkolů najednou, čímž se zvyšuje efektivita programu. Python nabízí několik modulů a metod souvisejících se souběžností, včetně asynchronního programování, multiprocessingu a multithreadingu. Zatímco multiprocessing zahrnuje spouštění mnoha procesů současně v systému, multithreading zahrnuje souběžné spouštění mnoha vláken v rámci jednoho procesu.
The závitový modul v Pythonu umožňuje programátorům vytvářet multithreading. Nabízí třídy a operace pro zakládání a řízení vláken. Naopak modul multiprocessing umožňuje vývojářům navrhovat a řídit procesy. Modul asyncio Pythonu poskytuje podporu asynchronního programování, což umožňuje vývojářům psát neblokující kód, který dokáže zpracovávat více úloh současně. Pomocí těchto technik mohou vývojáři psát vysoce výkonné, škálovatelné programy, které dokážou zpracovat více úloh současně.
Modul vláken v Pythonu umožňuje souběžné spouštění několika vláken v rámci jednoho procesu, což je užitečné pro aktivity spojené s I/O.
Pro operace náročné na CPU, jako je zpracování obrazu nebo analýza dat, umožňují multiprocesní moduly spouštět četné procesy současně na více jádrech CPU.
Modul asyncio podporuje asynchronní I/O a umožňuje vytváření jednovláknového souběžného kódu pomocí korutin pro síťové aplikace s vysokou souběžností.
S knihovnami jako Dask, PySpark a MPI, Python lze také použít pro paralelní výpočty. Tyto knihovny umožňují distribuci pracovní zátěže mezi četné uzly nebo clustery pro lepší výkon.
Odstraňování webu pomocí Pythonu
Proces web scraping se používá k automatickému získávání dat z webových stránek. Různé nástroje a knihovny extrahují data z HTML a dalších online formátů. Python je jedním z nejrozšířenějších programovacích jazyků pro web scraping kvůli jeho snadnému použití, přizpůsobivosti a rozmanitosti knihoven.
Musíme udělat několik kroků, abychom dosáhli odstranění webu pomocí Pythonu. Nejprve se musíme rozhodnout, který web seškrábeme a jaké informace shromáždíme. Poté můžeme odeslat požadavek na web a získat obsah HTML pomocí balíčku požadavků Pythonu. Jakmile máme HTML text, můžeme extrahovat potřebná data pomocí různých parsovacích balíčků, např Krásná polévka a lxml .
Můžeme použít několik strategií, jako je zpomalení požadavků, zaměstnávání uživatelských agentů a používání proxy, abychom zabránili přetížení serveru webové stránky. Je také důležité dodržovat podmínky služby pro web a respektovat jeho soubor robots.txt.
Data mining, vytváření potenciálních zákazníků, sledování cen a mnoho dalších využití je možné pro web scraping. Protože však neoprávněné škrábání webu může být v rozporu se zákonem a neetické, je nezbytné jej využívat profesionálně a eticky.
Zpracování přirozeného jazyka (NLP) pomocí Pythonu
Odvětví umělé inteligence (AI) nazývané „zpracování přirozeného jazyka“ (NLP) studuje interakci počítačů a lidského jazyka. Díky NLP mohou počítače nyní rozumět, interpretovat a produkovat lidský jazyk. Díky své jednoduchosti, všestrannosti a silným knihovnám jako NLTK (Natural Language Toolkit) a spaCy je Python známým programovacím jazykem pro NLP.
Pro úlohy NLP, včetně tokenizace, stemmingu, lemmatizace, značkování slovních druhů, identifikace pojmenovaných entit, analýzy sentimentu a dalších, poskytuje NLTK kompletní knihovnu. Má různé korpusy (velké, organizované sbírky textů) pro vývoj a hodnocení modelů NLP. Další oblíbenou knihovnou pro úlohy NLP je spaCy , která nabízí rychlé a efektivní zpracování obrovského množství textu. Umožňuje jednoduché úpravy a rozšiřování a dodává se s předem vyškolenými modely pro různé pracovní zátěže NLP.
NLP lze v Pythonu použít pro různé praktické účely, včetně chatbotů, analýzy sentimentu, kategorizace textu, strojového překladu a dalších. NLP používají například chatboti, aby porozuměli uživatelským dotazům a odpovídali na ně ve stylu přirozeného jazyka. Analýza sentimentu, která může být užitečná pro monitorování značky, analýzu zpětné vazby od zákazníků a další účely, využívá NLP ke kategorizaci textového sentimentu (pozitivní, negativní nebo neutrální). Textové dokumenty jsou kategorizovány pomocí zpracování přirozeného jazyka (NLP) do předem stanovených kategorií pro detekci spamu, kategorizaci zpráv a další účely.
Python je silný a užitečný nástroj při analýze a zpracování lidského jazyka. Vývojáři mohou provádět různé aktivity NLP a vytvářet užitečné aplikace, které mohou komunikovat se spotřebiteli v přirozeném jazyce s knihovnami jako NLTK a spaCy.
Závěr:
V tomto tutoriálu jsme se podívali na některé z nejdůležitějších funkcí a nápadů Pythonu, včetně proměnných, datových typů, smyček, funkcí, modulů a dalších. Diskutovalo se také o složitějších tématech, včetně web scraping, zpracování přirozeného jazyka, paralelismus a připojení k databázi. Budete mít pevný základ pro další učení o Pythonu a jeho aplikacích pomocí informací, které jste se naučili z této lekce.
webové stránky jako coomeet
Pamatujte, že procvičování a vývoj kódu je nejlepší metodou, jak se naučit Python. Na webu javaTpoint můžete najít mnoho zdrojů na podporu vašeho dalšího učení, včetně dokumentace, výukových programů, online skupin a dalších. Pokud budete tvrdě pracovat a vytrváte, můžete ovládat Python a používat jej k vytváření úžasných věcí.
Předpoklad
Než se naučíte Python, musíte mít základní znalosti o programování.
Publikum
Náš výukový program Python je navržen tak, aby pomohl začátečníkům i profesionálům.
Problém
Ujišťujeme vás, že v tomto tutoriálu Pythonu nenajdete žádný problém. Ale pokud se vyskytne nějaká chyba, napište problém do kontaktního formuláře.
=>5:>