Python gibi dillere kıyasla birçok benzersiz özellik ve avantaj sunan, yaygın olarak kullanılan bir programlama dilidir. Java Ve C++. Python eğitimimiz, kurulumdan başlayarak Python'un temellerini ve ileri düzey kavramlarını kapsamlı bir şekilde açıklamaktadır. koşullu ifadeler , döngüler , yerleşik veri yapıları , Nesneye Dayalı Programlama , Jeneratörler , İstisna İşleme , Python RegEx ve diğer birçok kavram. Bu eğitim yeni başlayanlar ve çalışan profesyoneller için tasarlanmıştır.
1980'lerin sonunda, Guido van Rossum Python'u geliştirmeyi hayal ettim. İlk versiyonu Python 0.9.0 1991'de piyasaya sürüldü . Python piyasaya sürülmesinden bu yana popülerlik kazanmaya başladı. Raporlara göre Python, teknoloji alanındaki yüksek talepler nedeniyle artık geliştiriciler arasında en popüler programlama dili.
Python Nedir?
Python, prosedürel, nesne yönelimli ve işlevsel programlamayı destekleyen genel amaçlı, dinamik olarak yazılan, üst düzey, derlenmiş ve yorumlanmış, çöp toplanmış ve tamamen nesne yönelimli bir programlama dilidir.
Python'un özellikleri:
Python'un birçok özelliği var web tabanlı varlıklar , açık kaynaklı projeler , Ve canlı bir topluluk . Dili öğrenmek, projeler üzerinde birlikte çalışmak ve Python ekosistemine katkıda bulunmak geliştiriciler için çok kolay hale getirildi.
Basit dil çerçevesi nedeniyle Python'un anlaşılması ve kod yazılması daha kolaydır. Bu, onu acemiler için harika bir programlama dili yapar. Ayrıca deneyimli programcıların net ve hatasız kod yazmalarına yardımcı olur.
Python'un işlevselliğini kolaylaştırmak için kullanılabilecek birçok üçüncü taraf kütüphanesi vardır. Bu kütüphaneler, örneğin web geliştirme, bilimsel hesaplama, veri analizi ve daha fazlası gibi birçok alanı kapsar.
Java ve Python
Python, hızlı geliştirme ve komut dosyası oluşturma görevleri için mükemmel bir seçimdir. Oysa Java güçlü bir tip sistemini ve nesne yönelimli programlamayı vurgular.
İşte aralarındaki temel farkları gösteren bazı temel programlar.
'Merhaba Dünya' yazdırılıyor
Python Kodu:
print('Hello World)'
Python'da bu bir kod satırıdır. 'Merhaba Dünya'yı yazdırmak için basit bir sözdizimi gerekir
Java Kodu:
public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } }
Java'da sınıfları, yöntem yapılarını ve diğer birçok şeyi tanımlamamız gerekir.
Her iki program da aynı çıktıyı verirken, print ifadesinde söz dizimi farklılığını fark edebiliyoruz.
rudyard kipling eğer açıklama
- Python'da kod öğrenmek ve yazmak kolaydır. Java'da belirli görevleri gerçekleştirmek için daha fazla kod gerekir.
- Python dinamik olarak yazılmıştır, yani değişkeni bildirmemize gerek yoktur. Oysa Java istatistiksel olarak yazılmıştır, yani değişken türünü bildirmemiz gerekir.
- Python, Veri Bilimi, Makine Öğrenimi, Web geliştirme ve daha fazlası gibi çeşitli alanlar için uygundur. Oysa Java web geliştirme, mobil uygulama geliştirme (Android) ve daha fazlası için uygundur.
Python Temel Söz Dizimi
Python programlama dilinde küme parantezleri veya noktalı virgüllerin kullanımı yoktur. İngilizceye benzeyen bir dildir. Ancak Python bir kod bloğunu tanımlamak için girintiyi kullanır. Girinti, ihtiyaç duyulduğunda ifadenin önüne boşluk eklemekten başka bir şey değildir.
Örneğin -
def func(): statement 1 statement 2 ………………… ………………… statement N
Yukarıdaki örnekte sağda aynı seviyede olan ifadeler fonksiyona aittir. Genellikle girintiyi tanımlamak için dört boşluk kullanabiliriz.
Python, diğer dillerde kullanılan noktalı virgül yerine, ifadelerini NewLine karakteriyle bitirir.
Python büyük/küçük harfe duyarlı bir dildir; bu, büyük ve küçük harflerin farklı şekilde ele alındığı anlamına gelir. Örneğin 'isim' ve 'Ad' Python'da iki farklı değişkendir.
Python'da yorumlar '#' sembolü kullanılarak eklenebilir. '#' sembolünden sonra yazılan her türlü metin yorum olarak kabul edilir ve yorumlayıcı tarafından dikkate alınmaz. Bu numara, koda not eklemek veya bir kod bloğunu geçici olarak devre dışı bırakmak için kullanışlıdır. Ayrıca kodun diğer bazı geliştiriciler tarafından daha iyi anlaşılmasına da yardımcı olur.
'Eğer' , 'otherwise', 'for' , 'while' , 'try', 'hariç' ve 'nihayet' Python'da değişken adı olarak kullanılamayan birkaç ayrılmış anahtar kelimedir. Bu terimler dilde belirli nedenlerden dolayı kullanılır ve sabit anlamlara sahiptir. Bu anahtar kelimeleri kullanırsanız kodunuz hatalar içerebilir veya yorumlayıcı bunları potansiyel yeni Değişkenler olarak reddedebilir.
Python'un Tarihi
Python Guido van Rossum tarafından yaratıldı . 1980'lerin sonlarında Hollandalı programcı Guido van Rossum, Hollanda'daki Centrum Wiskunde & Informatica'da (CWI) Python üzerinde çalışmaya başladı. Bir halef yaratmak istiyordu ABC programlama dili okunması kolay ve verimli olurdu.
Şubat 1991'de Python'un ilk halka açık sürümü olan 0.9.0 sürümü yayınlandı. Bu, resmi doğumunu işaret ediyordu Açık kaynaklı bir proje olarak Python . Dil, adını İngiliz komedi dizisi 'den almıştır. Monty Python'un Uçan Sirki '.
Python gelişimi birkaç aşamadan geçti. Ocak 1994'te Python 1.0, kullanışlı ve istikrarlı bir programlama dili olarak piyasaya sürüldü. Bu sürüm, bugün Python'da hala mevcut olan birçok özelliği içeriyordu.
1990'lardan 2000'lere Python basitliği, okunabilirliği ve çok yönlülüğü nedeniyle popülerlik kazandı. Ekim 2000'de Python 2.0 piyasaya sürüldü . Python 2.0, liste kavramalarını, çöp toplamayı ve Unicode desteğini tanıttı.
Aralık 2008'de Python 3.0 piyasaya sürüldü. Python 3.0, kodun okunabilirliğini ve bakımını geliştirmek için geriye dönük olarak uyumsuz birkaç değişiklik getirdi.
2010'lu yıllar boyunca Python'un popülaritesi özellikle makine öğrenimi ve web geliştirme gibi alanlarda arttı. Zengin kütüphane ve çerçeve ekosistemi onu geliştiricilerin favorisi haline getirdi.
Python Yazılım Vakfı (PSF) 2001 yılında kuruldu Python programlama dilini ve topluluğunu tanıtmak, korumak ve geliştirmek.
Neden Python öğrenmelisiniz?
Python programcıya birçok yararlı özellik sağlar. Bu özellikler onu en popüler ve en yaygın kullanılan dil haline getirmektedir. Python'un birkaç temel özelliğini aşağıda listeledik.
- Nesneye Yönelik Dil : Nesne yönelimli programlamayı destekleyerek yeniden kullanılabilir ve modüler kod yazmayı kolaylaştırır.
Python nerede kullanılır?
Python genel amaçlı, popüler bir programlama dilidir ve hemen hemen her teknik alanda kullanılmaktadır. Python'un çeşitli kullanım alanları aşağıda verilmiştir.
- Yapay zeka : Yapay zeka yeni gelişen bir teknolojidir ve Python, TensorFlow, Keras ve PyTorch gibi güçlü kitaplıkların varlığı nedeniyle yapay zeka ve makine öğrenimi için mükemmel bir dildir.
- DevOps : Python, DevOps'ta altyapı yönetimi, konfigürasyon yönetimi ve dağıtım süreçlerinin otomasyonu ve komut dosyası oluşturulması için yaygın olarak kullanılır.
- İstekler : HTTP istekleri yapmak için bir kütüphane
- SQLAlchemy : SQL veritabanlarıyla çalışmaya yönelik bir kütüphane
- Çaresiz : çoklu dokunma uygulamaları oluşturmaya yönelik bir çerçeve
- Pygame : oyun geliştirme için bir kütüphane
- REST çerçevesi : RESTful API'ler oluşturmak için bir araç seti
- FastAPI : API'ler oluşturmaya yönelik modern, hızlı bir web çerçevesi
- Kolaylaştırılmış : makine öğrenimi ve veri bilimine yönelik etkileşimli web uygulamaları oluşturmaya yönelik bir kitaplık
- NLTK : doğal dil işlemeye yönelik bir kütüphane
Python'un makine öğrenimi, yapay zeka, web uygulamaları vb. gibi birçok alanda yaygın olarak kullanılan çok çeşitli kütüphaneleri ve çerçeveleri vardır. Python'un bazı popüler çerçevelerini ve kütüphanelerini aşağıdaki gibi tanımlıyoruz.
Python yazdırma() İşlevi
Python print() işlevi, çıktıyı konsola veya terminale görüntülemek için kullanılır. Metinleri, değişkenleri ve diğer verileri insanların okuyabileceği bir biçimde görüntülememize olanak tanır.
Sözdizimi:
print(nesne(ler), sep=ayırıcı, end=bitiş, dosya=dosya, floş=flush)
Virgülle (,) ayırarak bir veya daha fazla bağımsız değişken alır ve varsayılan olarak sonuna bir 'yeni satır' ekler.
Parametreler:
- nesne(ler) - Görüntülenmesini istediğiniz sayıda veri, önce dizeye dönüştürülecek ve konsola yazdırılacaktır.
- sep - Nesneleri geçirilen bir ayırıcıyla ayırır, varsayılan değer = ' '.
- end - Satırı yeni satır karakteriyle bitirir
- dosya - yazma yöntemine sahip bir dosya nesnesi, varsayılan değer = sys.stdout
Örnek:
# 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))
Çıktı:
Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75%
Bu örnekte, print ifadesi dize, tamsayı ve kayan nokta değerlerini insan tarafından okunabilir biçimde yazdırmak için kullanılır.
Print ifadesi hata ayıklamak, günlüğe kaydetmek ve kullanıcıya bilgi sağlamak için kullanılabilir.
Python Koşullu İfadeler
Koşullu ifadeler, belirli bir koşul için belirli bir bloğu çalıştırmamıza yardımcı olur. Bu derste, farklı bir ifade bloğunu yürütmek için koşullu ifadeyi nasıl kullanacağımızı öğreneceğiz. Python, mantıksal koşulları ayarlamak için if ve else anahtar sözcüklerini sağlar. elif anahtar kelime aynı zamanda koşullu ifade olarak da kullanılır.
if..else ifadesi için örnek kod
x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x')
Çıktı:
x is greater than y
Yukarıdaki kodda sırasıyla 10 ve 5 olmak üzere iki değişkenimiz var: x ve y. Daha sonra x'in y'den büyük olup olmadığını veya tam tersini kontrol etmek için if..else ifadesini kullandık. İlk koşul doğruysa 'x, y'den büyüktür' ifadesi yazdırılır. İlk koşul yanlışsa bunun yerine 'y büyük veya eşittir x' ifadesi yazdırılır.
If anahtar sözcüğü koşulun doğru olup olmadığını kontrol eder ve içindeki kod bloğunu çalıştırır. Koşul yanlışsa else bloğunun içindeki kod yürütülür. Bu şekilde if..else ifadesi, bir koşula bağlı olarak farklı kod bloklarını çalıştırmamıza yardımcı olur.
Bunu Python eğitiminin sonraki makalesinde daha ayrıntılı olarak öğreneceğiz.
Python Döngüleri
Bazen programın akışını değiştirmemiz gerekebilir. Belirli bir kodun yürütülmesinin birkaç kez tekrarlanması gerekebilir. Bu amaçla programlama dilleri, belirli bir kodu birkaç kez tekrarlayabilen çeşitli döngüler sağlar. İfadeleri ayrıntılı olarak anlamak için aşağıdaki öğreticiyi göz önünde bulundurun.
Döngü İçin Python
fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ')
Çıktı:
apple banana cherry
Python While Döngüsü
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:>
Yukarıdaki örnek kodda, Python'da For döngüsü ve While döngüsü olmak üzere iki tür döngünün kullanıldığını gösterdik.
For döngüsü, liste, tuple veya dize gibi bir dizi öğe üzerinde yineleme yapmak için kullanılır. Örnekte, bir meyve listesi tanımladık ve her meyveyi yazdırmak için bir for döngüsü kullandık, ancak bu aynı zamanda bir dizi sayıyı yazdırmak için de kullanılabilir.
While döngüsü, belirtilen koşulun doğru olması durumunda kod bloğunu tekrarlar. Örnekte, i değişkenini 1'e başlattık ve i'nin değerini 6'dan büyük veya ona eşit olana kadar yazdırmak için bir while döngüsü kullandık. i += 1 ifadesi, her yinelemede i'nin değerini artırmak için kullanılır .
Bunları öğreticide ayrıntılı olarak öğreneceğiz.
Python Veri Yapıları
Python dört yerleşik veri yapısı sunar: listeler , demetler , setleri , Ve sözlükler Bu, verileri verimli bir şekilde saklamamıza olanak tanır. Aşağıda örnek kodlarla birlikte Python'da yaygın olarak kullanılan veri yapıları verilmiştir:
1. Listeler
- Listeler sipariş edilen koleksiyonlar farklı veri türlerindeki veri öğelerinin birleşimi.
- Listeler değişken Bu, bir listenin herhangi bir zamanda değiştirilebileceği anlamına gelir.
- Elemanlar olabilir endeksler kullanılarak erişildi .
- Köşeli parantez ' kullanılarak tanımlanırlar [] '.
Örnek:
# 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)
Çıktı:
fuirts[1] = banana fruits = ['apple', 'banana', 'cherry', 'orange'] sum_nums = 15
2. Tuple'lar
- Tuple'lar da sipariş edilen koleksiyonlar Listelere benzer şekilde, farklı veri türlerindeki veri öğelerinin listesi.
- Elemanlar olabilir endeksler kullanılarak erişildi .
- Tuple'lar değişmez yani Tuple'lar oluşturulduktan sonra değiştirilemez.
- Açık parantez ' kullanılarak tanımlanırlar () '.
Örnek:
# 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_)
Çıktı:
(x, y) = 3 4 Tuple = ('apple', 'banana', 'cherry', 'orange')
3. Setler
- Setler sırasız farklı veri türlerindeki değişmez veri öğelerinin koleksiyonları.
- Setler değişken .
- Öğelere indeksler kullanılarak erişilemez.
- Setler yinelenen öğeler içermez .
- Kıvrımlı ayraçlar kullanılarak tanımlanırlar ' {} '
Örnek:
# 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)
Çıktı:
set1 = {1, 2, 3, 4} set2 = {'apple', 'cherry', 'orange', 'banana'}
4. Sözlükler
- Sözlük anahtar/değer çiftleri değerleri benzersiz anahtarlarla ilişkilendirmenize olanak tanır.
- Kıvrımlı ayraçlar kullanılarak tanımlanırlar ' {} ' anahtar/değer çiftleriyle iki nokta üst üste ':' ile ayrılmış .
- Sözlükler değişken .
- Öğelere tuşlar kullanılarak erişilebilir.
Örnek:
# Create a dictionary person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} print('person =', person) print(person['name']) # Modify Dictionary person['age'] = 27 print('person =', person)
Çıktı:
person = {'name': 'Umesh', 'age': 25, 'city': 'Noida'} Umesh person = {'name': 'Umesh', 'age': 27, 'city': 'Noida'}
Bunlar Python'un yerleşik veri yapılarının yalnızca birkaç örneğidir. Her veri yapısının kendine has özellikleri ve kullanım durumları vardır.
Python Fonksiyonel Programlama
Python eğitiminin bu bölümü, lambda ve özyinelemeli işlevler gibi işlevsel programlamayla ilgili bazı önemli araçları tanımlar. Bu işlevler karmaşık görevlerin yerine getirilmesinde çok etkilidir. Azaltma, eşleme ve filtreleme gibi birkaç önemli işlevi tanımlıyoruz. Python, çeşitli işlevsel programlama araçlarını içeren functools modülünü sağlar. İşlevsel programlama hakkında daha fazla bilgi edinmek için aşağıdaki öğreticiyi ziyaret edin.
Python'un son sürümleri, işlevsel programlamayı daha kısa ve anlamlı hale getiren özellikler sunmuştur. Örneğin, 'mors operatörü':= ifadelerde satır içi değişken atamasına izin verir; bu, iç içe geçmiş işlev çağrıları veya liste kavramalarıyla çalışırken yararlı olabilir.
Python İşlevi
- Lambda Fonksiyonu - Bir lambda fonksiyonu küçüktür, anonim işlev herhangi bir sayıda argüman alabilir ancak yalnızca bir ifadeye sahip olabilir. Lambda işlevleri genellikle işlevsel programlamada, adlandırılmış bir işlevi tanımlamadan 'anında' işlevler oluşturmak için kullanılır.
- Özyinelemeli İşlev - Özyinelemeli işlev, bir sorunu çözmek için kendisini çağıran bir işlevdir. Özyinelemeli işlevler genellikle fonksiyonel programlamada karmaşık hesaplamaları gerçekleştirmek veya karmaşık veri yapılarını geçmek için kullanılır.
- Harita İşlevi - Map() işlevi, belirli bir işlevi yinelenebilir öğenin her öğesine uygular ve sonuçlarla birlikte yeni bir yinelenebilir öğe döndürür. Yinelenebilir giriş bir liste, tuple veya başka bir şey olabilir.
- Filtreleme İşlevi - Filter() işlevi, ilk argüman True değerini döndürürken işlevin iletildiği yinelenebilir bir yineleyiciyi döndürür. Verilen koşulu karşılamayan yinelenebilir öğeleri filtreler.
- İşlevi Azalt - Reduc() işlevi, tek bir değere indirgemek için soldan sağa yinelenebilir bir öğenin öğelerine iki bağımsız değişkenden oluşan bir işlevi kümülatif olarak uygular.
- functools Modülü - Python'daki functools modülü, kısmi() ve azalt() gibi diğer işlevler üzerinde çalışan daha yüksek dereceli işlevler sağlar.
- Körleme Fonksiyonu - Currying fonksiyonu, birden fazla argüman alan ve her biri tek bir argüman alan bir dizi fonksiyon döndüren bir fonksiyondur.
- Not Alma İşlevi - Notlandırma, pahalı işlev çağrılarının sonuçlarını önbelleğe almak ve aynı girişler tekrar oluştuğunda önbelleğe alınan Sonucu döndürmek için işlevsel programlamada kullanılan bir tekniktir.
- Diş Açma Fonksiyonu - İş parçacığı oluşturma, kodu daha verimli ve daha hızlı hale getirmek amacıyla birden fazla görevi aynı anda çalıştırmak için işlevsel programlamada kullanılan bir tekniktir.
Python Modülleri
Python modülleri Python kodunu veya fonksiyonlarını içeren program dosyalarıdır. Python'un iki tür modülü vardır: Kullanıcı tanımlı modüller ve yerleşik modüller. Kullanıcının tanımladığı bir modül veya .py uzantısıyla kaydedilen Python kodumuz, kullanıcı tanımlı modül olarak değerlendirilir.
Yerleşik modüller Python'un önceden tanımlanmış modülleridir. Modüllerin işlevselliğini kullanabilmek için onları mevcut çalışma programımıza aktarmamız gerekiyor.
Python modülleri, herhangi bir Python programına aktarılabilecek yeniden kullanılabilir kod ve işlevsellik sunduklarından dilin ekosistemi için çok önemlidir. Aşağıda her birinin kısa bir açıklamasıyla birlikte birkaç Python modülüne ait birkaç örnek verilmiştir:
Matematik : Kullanıcıların matematiksel sabitlere, pi ve trigonometrik fonksiyonlara erişmesini sağlar.
Tarihsaat : Tarihleri, saatleri ve dönemleri değiştirmenin daha basit bir yolu için sınıflar sağlar.
SEN : İşlemlerin ve dosya sistemi etkinliklerinin yönetimi de dahil olmak üzere temel işletim sistemiyle etkileşime olanak sağlar.
rastgele : Rastgele işlevi, rastgele tamsayılar oluşturmak ve listeden rastgele öğeler seçmek için araçlar sunar.
JSON : JSON, kodlanabilen ve kodu çözülebilen, çevrimiçi API'lerde ve veri alışverişinde sıklıkla kullanılan bir veri yapısıdır. Bu modül JSON ile ilgilenmeye izin verir.
Tekrar : Güçlü bir metin arama ve metin işleme aracı olan normal ifadeleri destekler.
Koleksiyonlar : Sıralanmış sözlükler, varsayılan sözlükler ve adlandırılmış tanımlama grupları gibi alternatif veri yapıları sağlar.
Dizi : NumPy, diziler ve matrisler üzerindeki sayısal işlemleri destekleyen, bilimsel hesaplamaya yönelik temel bir araç setidir.
Pandalar : Zaman serileri ve diğer yapılandırılmış veri türleriyle ilgilenmek için üst düzey veri yapıları ve işlemleri sağlar.
İstekler : Web API'leri için basit bir kullanıcı arayüzü sunar ve HTTP isteklerini gerçekleştirir.
Python Dosyası G/Ç
Dosyalar, verileri bilgisayar diskinde depolamak için kullanılır. Bu derste Python'un yerleşik dosya nesnesini açıklıyoruz. Python betiğini kullanarak bir dosyayı açabilir ve yazma, okuma, ekleme gibi çeşitli işlemleri gerçekleştirebiliriz. Bir dosyayı açmanın çeşitli yolları vardır. İlgili örnekle açıkladık. Ayrıca ikili dosyalar üzerinde okuma/yazma işlemlerini gerçekleştirmeyi de öğreneceğiz.
Python'un dosya giriş/çıkış (G/Ç) sistemi Diskte saklanan dosyalarla iletişim kurmak için programlar sunar. Python'un dosya nesnesine yönelik yerleşik yöntemleri, dosyalara veri okuma, yazma ve ekleme gibi eylemleri gerçekleştirmemize olanak tanır.
açık() Python'daki yöntem, dosyalarla çalışırken bir dosya nesnesi oluşturur. Açılacak dosyanın adı ve dosyanın açılacağı mod bu fonksiyonun gerektirdiği iki parametredir. Mod, dosyayla yapılması gereken işe göre kullanılabilir, örneğin ' R ' okumak için, ' İçinde 'yazmak için' veya ' A 'eklemek için.
Başarıyla bir nesne oluşturulduktan sonra yaptığımız işe göre farklı yöntemler kullanılabilir. Dosyaya yazmak istiyorsak write() fonksiyonlarını kullanabiliriz, her ikisini de okuyup yazmak istiyorsanız apend() fonksiyonunu kullanabiliriz, sadece içeriğini okumak istediğimiz durumlarda ise dosyada read() fonksiyonunu kullanabiliriz. Metin biçiminden ziyade ikili dosya biçiminde veri içeren ikili dosyalarla da Python kullanılarak çalışılabilir. İkili dosyalar insanların doğrudan anlayamayacağı bir şekilde yazılmıştır. rb Ve wb modlar ikili dosyalardaki ikili verileri okuyabilir ve yazabilir.
Python İstisnaları
İstisna, bir programda programın akışında kesintiye neden olan olağandışı bir durum olarak tanımlanabilir.
Bir istisna oluştuğunda program yürütmeyi durdurur ve dolayısıyla diğer kod yürütülmez. Bu nedenle, Python betiğinin işleyemediği çalışma zamanı hataları bir istisnadır. Bir istisna, bir hatayı temsil eden bir Python nesnesidir.
Python İstisnaları Python programlamada hata işlemenin önemli bir yönüdür. Bir program beklenmedik bir durumla veya hatayla karşılaştığında, programın normal akışını kesintiye uğratabilecek bir istisna oluşturabilir.
Python'da istisnalar, hatanın türü ve mesajı da dahil olmak üzere hata hakkında bilgi içeren nesneler olarak temsil edilir. Python'daki en yaygın İstisna türü, diğer tüm yerleşik istisnalar için temel sınıf olan Exception sınıfıdır.
Python'da istisnaları ele almak için şunu kullanırız: denemek Ve hariç ifadeler. denemek ifadesi bir istisna oluşturabilecek kodu içine almak için kullanılırken, hariç İfade, bir istisna oluştuğunda çalıştırılması gereken kod bloğunu tanımlamak için kullanılır.
Örneğin aşağıdaki kodu göz önünde bulundurun:
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')
Çıktı:
Enter a number: 0 Error: Division by zero
Bu kodda try deyimini bölme işlemi gerçekleştirmek için kullanıyoruz. Bu işlemlerden herhangi biri bir istisna oluşturursa, eşleşen hariç blok yürütülür.
Python ayrıca benzer durumlarda ortaya çıkabilecek birçok yerleşik istisna da sağlar. Bazı yaygın yerleşik istisnalar şunları içerir: IndexError, TypeError , Ve Ad Hatası . Ayrıca Exception sınıfından miras alan yeni bir sınıf oluşturarak özel istisnalarımızı tanımlayabiliriz.
Python CSV'si
CSV, tablo halindeki verileri düzenlemek için özel bir yapı kullanan basit bir dosya formatı olarak tanımlanan 'virgülle ayrılmış değerler' anlamına gelir. Elektronik tablolar veya veritabanları gibi tablo halindeki verileri düz metin olarak saklar ve veri alışverişi için ortak bir formata sahiptir. Excel sayfasında bir CSV dosyası açılır ve satırlar ve sütun verileri standart biçimi tanımlar.
CSV dosyasını okumak için CSV.reader fonksiyonunu kullanabiliriz. Bu işlev, CSV dosyasındaki satırlar üzerinde tekrarlamak için kullanabileceğimiz bir okuyucu nesnesi döndürür. Her satır, her değerin CSV dosyasındaki bir sütuna karşılık geldiği bir değerler listesi olarak döndürülür.
Örneğin aşağıdaki kodu göz önünde bulundurun:
import csv with open('data.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
Burada data.csv dosyasını okuma modunda açıyoruz ve bir csv.okuyucu kullanarak nesne csv.reader() işlev. Daha sonra for döngüsü kullanarak CSV dosyasındaki satırları yineliyoruz ve her satırı konsola yazdırıyoruz.
Şunu kullanabiliriz: CSV.yazar() CSV dosyasına veri yazma işlevi. CSV dosyasına satır yazmak için kullanabileceğimiz bir yazıcı nesnesi döndürür. çağırarak satır yazabiliriz. yazar () yazar nesnesindeki yöntem.
Örneğin aşağıdaki kodu göz önünde bulundurun:
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)
Bu programda, her bir iç listenin bir veri satırını temsil ettiği, veri adı verilen listelerin bir listesini oluşturuyoruz. Daha sonra data.csv dosyasını yazma modunda açıyoruz ve bir CSV.yazar CSV.writer işlevini kullanarak nesne. Daha sonra for döngüsü kullanarak verilerdeki satırlar üzerinde yineleniriz ve her satırı write yöntemini kullanarak CSV dosyasına yazarız.
Python Posta Gönderme
Python betiğini kullanarak posta gönderebilir veya okuyabiliriz. Python'un standart kütüphane modülleri PoP3 ve IMAP gibi çeşitli protokollerin işlenmesinde kullanışlıdır. Python şunları sağlar: smtplib SMTP (Basit Posta Aktarım Protokolü) kullanarak e-posta göndermek için modül. Popüler e-posta hizmeti SMTP ile Python betiğinden nasıl posta göndereceğimizi öğreneceğiz.
java sıralamasında arraylist
Python Büyü Yöntemleri
Python büyü yöntemi, bir sınıfa 'sihir' katan özel yöntemdir. Örneğin çift alt çizgiyle başlar ve biter, _sıcak_ veya _str_ .
Yerleşik sınıflar birçok sihirli yöntemi tanımlar. Sen() işlevi, bir sınıf tarafından miras alınan sihirli yöntemlerin sayısını görmek için kullanılabilir. Yöntem adında iki önek ve sonek alt çizgisi bulunur.
- Python büyü yöntemleri aynı zamanda şu şekilde de bilinir: saçma yöntemler ' çift alt çizgi ' yöntemlerinin kısaltmasıdır çünkü adları çift alt çizgiyle başlayıp bitmektedir.
- Sihirli yöntemler belirli durumlarda, örneğin bir nesne oluşturulduğunda, başka bir nesneyle karşılaştırıldığında veya yazdırıldığında Python yorumlayıcısı tarafından otomatik olarak çağrılır.
- Nesnelerin nasıl karşılaştırılacağını, dizelere nasıl dönüştürüleceğini veya kapsayıcı olarak nasıl erişileceğini tanımlamak gibi sınıfların davranışını özelleştirmek için sihirli yöntemler kullanılabilir.
- Yaygın olarak kullanılan bazı sihirli yöntemler şunlardır: sıcaklık bir nesneyi başlatmak için, str bir nesneyi dizeye dönüştürmek için, eşitlik iki nesneyi eşitlik açısından karşılaştırmak için ve zamanlı Ve set öğesi bir konteyner nesnesindeki öğelere erişmek için.
Örneğin, cadde Magic yöntemi, bir nesnenin dize olarak nasıl temsil edilmesi gerektiğini tanımlayabilir. İşte bir örnek
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)
Çıktı:
Vikas (22)
Bu örnekte str yöntemi, Person nesnesinin kişinin adı ve yaşıyla birlikte biçimlendirilmiş bir dize temsilini döndürecek şekilde tanımlanmıştır.
Yaygın olarak kullanılan bir diğer büyü yöntemi ise eşitlik Nesnelerin eşitlik açısından nasıl karşılaştırılması gerektiğini tanımlar. İşte bir örnek:
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)
Çıktı:
False True
Bu örnekte, eşitlik yöntemi, iki Point nesnesi aynı x ve y koordinatlarına sahipse True değerini, aksi halde False değerini döndürecek şekilde tanımlanır.
Python Hatalı Kavramlar
Python'daki her şey, tamsayı değerleri, değişkenler, işlevler, sınıflar ve hiçbiri dahil olmak üzere bir nesne olarak ele alınır. Bunun dışında Python tüm odaklı kavramları desteklemektedir. Aşağıda Python'un Oops kavramlarına kısa bir giriş bulunmaktadır.
- Sınıflar ve Nesneler - Python sınıfları Nesnenin planlarıdır. Bir nesne, veriler üzerinde etkili olan bir veri ve yöntemler topluluğudur.
- Miras - Kalıtım, bir sınıfın diğer sınıfların özelliklerini devraldığı bir tekniktir.
- Oluşturucu - Python, yapıcı olarak bilinen __init__() özel yöntemini sağlar. Bu yöntem, bir nesne başlatıldığında otomatik olarak çağrılır.
- Polimorfizm - Polimorfizm, bir nesnenin birçok biçim alabileceği bir kavramdır. Python'da polimorfizm, yöntemin aşırı yüklenmesi ve yöntemin geçersiz kılınması yoluyla elde edilebilir.
- Yöntemi Geçersiz Kılma - Yöntem geçersiz kılma, bir alt sınıfın, üst sınıfında önceden tanımlanmış bir yöntemi uyguladığı bir kavramdır.
- Kapsülleme - Kapsülleme, veri ve yöntemlerin tek bir birime sarılmasıdır. Python'da kapsülleme, genel, özel ve korumalı gibi erişim değiştiriciler aracılığıyla gerçekleştirilir. Ancak Python erişim değiştiricileri katı bir şekilde uygulamaz ve adlandırma kuralı erişim düzeyini belirtir.
- Veri soyutlama : Verinin karmaşıklığını gizleyen ve kullanıcıya yalnızca temel özellikleri gösteren bir teknik. Verilerle etkileşime geçmek için bir arayüz sağlar. Veri soyutlama karmaşıklığı azaltır ve kodu daha modüler hale getirerek geliştiricilerin programın temel özelliklerine odaklanmasına olanak tanır.
Oops kavramını ayrıntılı olarak okumak için aşağıdaki kaynakları ziyaret edin.
- Python Oops Kavramları - Python'da nesne yönelimli paradigma, programı sınıfları ve nesneleri kullanarak tasarlamaktır. Nesne kitap, ev, kalem gibi gerçek varlıklarla ilişkilidir ve sınıf onun özelliklerini ve davranışlarını tanımlar.
- Python Nesneleri ve sınıfları - Python'da nesneler sınıfların örnekleridir ve sınıflar da verilerin yapısını ve davranışını tanımlayan planlardır.
- Python Oluşturucu - Yapıcı, nesne oluşturulduğunda nesnenin niteliklerini başlatmak için kullanılan, bir sınıftaki özel bir yöntemdir.
- Python Mirası - Kalıtım, yeni sınıfın (alt sınıf veya alt sınıf) mevcut bir sınıfın (süper sınıf veya ana sınıf) özelliklerini ve davranışlarını devraldığı bir mekanizmadır.
- Python Polimorfizmi - Polimorfizm, farklı sınıflardaki nesnelerin ortak bir üst sınıfın nesneleri olarak ele alınmasına olanak tanır ve farklı sınıfların ortak bir arayüz aracılığıyla birbirinin yerine kullanılmasına olanak tanır.
Python İleri Konuları
Python, programcının karmaşık görevleri çözmesine yardımcı olan birçok ilerleme ve faydalı kavram içerir. Bu kavramlar aşağıda verilmiştir.
Python Yineleyici
Yineleyici, yalnızca yinelenebilen bir nesnedir. Her seferinde bir Nesne döndürür. İki özel yöntem kullanılarak uygulanabilir, __iter__() ve sonra__().
Python'daki yineleyiciler, bir veri koleksiyonu üzerinde yinelemeye izin veren nesnelerdir. Koleksiyonun tamamını belleğe yüklemeden her koleksiyon öğesini ayrı ayrı işlerler.
Örneğin, sayıların karelerini belirli bir sınıra kadar döndüren bir yineleyici oluşturalım:
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></=>
Bu örnekte, __iter__() ve __next__() yöntemlerini uygulayarak yineleyici görevi gören bir Squares sınıfı oluşturduk. __iter__() yöntemi Nesnenin kendisini döndürür ve __next__() yöntemi, sınıra ulaşılana kadar sayının sonraki karesini döndürür.
Yineleyiciler hakkında daha fazla bilgi edinmek için Python Yineleyiciler eğitimimizi ziyaret edin.
Python Jeneratörleri
Python oluşturucuları bir dizi değer üretmek verim ifadesi kullanma yineleyicileri döndüren işlevler oldukları için geri dönüş yerine. Jeneratörler yerel durumu korurken işlevin yürütülmesini sonlandırır. Yeniden başlatıldığında kaldığı yerden devam eder. Bu özellik sayesinde yineleyici protokolünü uygulamamıza gerek kalmadığı için yineleyici yazmak daha kolay hale gelir. Sayıların karelerini üreten basit bir üreteç fonksiyonunun bir örneği:
# 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)
Çıktı:
0 1 4 9 16
Python Değiştiricileri
Python Dekoratörleri başka bir işlevin davranışını değiştirmek için kullanılan işlevlerdir. Mevcut bir fonksiyona, kodunu doğrudan değiştirmeden işlevsellik eklemeye izin verirler. Dekoratörler kullanılarak tanımlanır. @ sembolü ve ardından dekoratör fonksiyonunun adı. Günlüğe kaydetme, zamanlama, önbelleğe alma vb. için kullanılabilirler.
Başka bir işleve zamanlama işlevselliği ekleyen bir dekoratör işlevi örneği burada verilmiştir:
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)
Çıktı:
Yukarıdaki örnekte time_it dekoratör işlevi başka bir işlevi argüman olarak alır ve bir sarmalayıcı işlevi döndürür. Sarma işlevi, orijinal işlevin yürütülmesi için gereken süreyi hesaplar ve bunu konsola yazdırır. @time_it dekoratörü time_it fonksiyonunu my_function fonksiyonuna uygulamak için kullanılır. my_function çağrıldığında dekoratör çalıştırılır ve zamanlama işlevi eklenir.
Python MySQL'i
Python MySQL güçlü bir ilişkisel veritabanı yönetim sistemidir. MySQL'i Python ile kullanabilmek için ortamı ayarlamalı ve bağlantı kurmalıyız. Python'da SQL komutlarını kullanarak yeni bir veritabanı ve tablolar oluşturabiliriz.
- Ortam Kurulumu : MySQL ile Python kullanmak için MySQL Connector/Python'u yükleme ve yapılandırma.
- Veritabanı Bağlantısı : MySQL Connector/Python kullanılarak Python ile MySQL veritabanı arasında bağlantı kurulması.
- Yeni Veritabanı Oluşturma : Python kullanarak MySQL'de yeni bir veritabanı oluşturma.
- Tablo Oluşturma : SQL komutlarını kullanarak Python ile MySQL veritabanında tablolar oluşturma.
- Ekleme İşlemi : Python ve SQL komutlarını kullanarak MySQL tablolarına veri ekleyin.
- Okuma İşlemi : Python ve SQL komutlarını kullanarak MySQL tablolarından veri okumak.
- Güncelleme İşlemi : Python ve SQL komutlarını kullanarak MySQL tablolarındaki verileri güncelleme.
- Operasyona Katılın : Python ve SQL komutlarını kullanarak MySQL'de iki veya daha fazla tabloyu birleştirmek.
- İşlemlerin Gerçekleştirilmesi : Python kullanarak MySQL'de bir grup SQL sorgusunu tek bir iş birimi olarak gerçekleştirmek.
Diğer ilgili noktalar arasında hataların işlenmesi, dizinler oluşturulması ve MySQL'de Python ile saklı prosedürler ve işlevlerin kullanılması yer alır.
Python MongoDB
Python MongoDB, verileri JSON benzeri belgelerde depolayan popüler bir NoSQL veritabanıdır. Şemasızdır ve veri depolama için yüksek ölçeklenebilirlik ve esneklik sağlar. MongoDB ile etkileşim için basit ve sezgisel bir arayüz sağlayan PyMongo kütüphanesini kullanarak MongoDB'yi Python ile kullanabiliriz.
Python'da MongoDB ile çalışırken bazı genel görevler şunlardır:
- Ortam Kurulumu : MongoDB ve PyMongo kütüphanesini sisteminize kurun ve yapılandırın.
- Veritabanı Bağlantısı : PyMongo'nun MongoClient sınıfını kullanarak bir MongoDB sunucusuna bağlanın.
- Yeni bir veritabanı oluşturma : Yeni bir veritabanı oluşturmak için MongoClient Nesnesini kullanın.
- Koleksiyon oluşturma : Belgeleri depolamak için bir veritabanı içinde koleksiyonlar oluşturun.
- Belge ekleme : Insert_one() veya insert_many() yöntemlerini kullanarak bir koleksiyona yeni belgeler ekleyin.
- Belgeleri sorgulama : Find_one(), find() vb. gibi çeşitli sorgulama yöntemlerini kullanarak bir koleksiyondan belgeleri alın.
- Belgeleri güncelleme : Bir koleksiyondaki mevcut belgeleri update_one() veya update_many() yöntemlerini kullanarak değiştirin.
- Belgeleri silme : Bir koleksiyondan, delete_one() veya delete_many() yöntemlerini kullanarak belgeleri kaldırın.
- Toplama : Toplama işlem hattı çerçevesini kullanarak gruplama, sayma vb. gibi toplama işlemlerini gerçekleştirin.
MongoDB'de veri parçalama, çoğaltma ve daha fazlası gibi daha birçok gelişmiş konu vardır, ancak bu görevler Python'da MongoDB ile çalışmanın temellerini kapsar.
Python SQLite
İlişkisel veritabanları, kompakt, sunucusuz, kendi kendine yeten bir veritabanı motoru olan Python SQLite kullanılarak oluşturulur ve korunur. Hareket kabiliyeti ve basitliği, onu yerel veya küçük ölçekli uygulamalar için popüler bir seçenek haline getiriyor. Python, SQLite3 adı verilen SQLite veritabanlarına bağlanmak için yerleşik bir modüle sahiptir ve geliştiricilerin SQLite veritabanlarıyla zorluk yaşamadan çalışmasına olanak tanır.
SQLite3 kitaplığı aracılığıyla, SQL sorgularını çalıştırmak, veri eklemek, seçmek, güncellemek ve kaldırmak ve ayrıca tablolardan veri almak için kullanılabilecek çeşitli API yöntemleri mevcuttur. Ek olarak işlemlere izin vererek programcıların bir sorun durumunda değişiklikleri geri almasına olanak tanır. Python SQLite, masaüstü, mobil ve orta boyutlu web programları da dahil olmak üzere gömülü bir veritabanı sistemine ihtiyaç duyan programlar oluşturmak için harika bir seçenektir. SQLite, kullanım kolaylığı, taşınabilirliği ve Python ile sorunsuz bağlantısı sayesinde veritabanı işlevselliğine sahip hafif uygulamalar için geliştiriciler arasında popüler hale geldi.
Python CGI'sı
Python CGI'sı Dinamik çevrimiçi içerik üretmek için komut dosyalarını web sunucuları aracılığıyla çalıştıran bir teknolojidir. Harici CGI komut dosyaları ve web sunucusu için bir iletişim kanalı ve dinamik içerik oluşturma arayüzü sunar. Python CGI komut dosyaları HTML web sayfaları oluşturabilir, form girişini yönetebilir ve veritabanlarıyla iletişim kurabilir. Python CGI, sunucunun Python komut dosyalarını yürütmesine ve sonuçları müşteriye sunmasına olanak tanıyarak dinamik çevrimiçi uygulamalar oluşturmaya hızlı ve etkili bir yaklaşım sunar.
Python CGI komut dosyaları, dinamik web sayfaları oluşturmak, formları işlemek ve veritabanlarıyla etkileşim kurmak dahil olmak üzere birçok şey için kullanılabilir. Güçlü ve popüler bir programlama dili olan Python, komut dosyaları oluşturmak için kullanılabildiğinden, web oluşturma konusunda daha özelleştirilmiş ve esnek bir yaklaşım sağlar. Python CGI ile ölçeklenebilir, güvenli ve bakımı yapılabilir çevrimiçi uygulamalar oluşturulabilir. Python CGI, dinamik ve etkileşimli çevrimiçi uygulamalar geliştiren web geliştiricileri için kullanışlı bir araçtır.
Python'da Eşzamansız Programlama
Asenkron programlama faaliyetlerin bağımsız ve eş zamanlı çalışmasını sağlayan bilgisayar programlama paradigmasıdır. Web sunucuları, veritabanı yazılımı ve ağ programlama gibi çeşitli görev veya isteklerin aynı anda ele alınması gereken uygulamalarda sıklıkla kullanılır.
Python'un asenkron programlamaya yönelik kütüphaneleri ve çerçeveleri arasında asyncio, Twisted ve Tornado bulunur. Bunlardan biri olan Asyncio, asenkron programlama için basit bir arayüz sunar ve Python'daki resmi asenkron programlama kütüphanesidir.
Eşyordamlar, koddaki belirli konumlarda durdurulabilen ve yeniden başlatılabilen ve asyncio tarafından kullanılan işlevlerdir. Bu, çok sayıda eşyordamın birbirine müdahale etmeden aynı anda çalışmasına olanak tanır. Ortakyordamların oluşturulması ve sürdürülmesi için kütüphane, aşağıdakiler de dahil olmak üzere çeşitli sınıflar ve yöntemler sunar: asyncio.gather(), asyncio.wait(), Ve asyncio.create_task().
Eşyordamların planlanmasından ve işletilmesinden sorumlu olan olay döngüleri, eşzamansızlığın başka bir özelliğidir. Olay döngüsü, eşyordamlar arasında engellemesiz bir şekilde geçiş yaparak eşyordamların yürütülmesini kontrol eder ve hiçbir eşyordamın diğerini engellememesini sağlar. Ek olarak zamanlayıcıları ve geri aramaların planlanmasını da destekler; bu, etkinliklerin belirli zamanlarda veya aralıklarla tamamlanması gerektiğinde yararlı olabilir.
Python Eşzamanlılığı
Dönem ' eşzamanlılık ' bir programın birden fazla görevi aynı anda yürütme kapasitesini açıklar ve programın verimliliğini artırır. Python, eşzamansız programlama, çoklu işlem ve çoklu iş parçacığı dahil olmak üzere çeşitli modüller ve eşzamanlılıkla ilgili yöntemler sunar. Çoklu işlem, bir sistemde aynı anda birçok işlemin çalıştırılmasını içerirken, çoklu iş parçacığı, tek bir işlem içinde çok sayıda iş parçacığının aynı anda çalıştırılmasını içerir.
iş parçacığı modülü Python'da programcıların çoklu iş parçacığı oluşturmasını sağlar. İş parçacıklarını oluşturmak ve kontrol etmek için sınıflar ve işlemler sunar. Bunun tersine, çoklu işlem modülü geliştiricilerin süreçleri tasarlamasına ve kontrol etmesine olanak tanır. Python'un asyncio modülü, eş zamanlı olmayan programlama desteği sağlayarak geliştiricilerin aynı anda birden fazla görevi yerine getirebilen, engellenmeyen kod yazmasına olanak tanır. Bu teknikleri kullanarak geliştiriciler, aynı anda birden fazla görevi yerine getirebilecek yüksek performanslı, ölçeklenebilir programlar yazabilirler.
Python'un iş parçacığı modülü, tek bir işlem içinde birkaç iş parçacığının eşzamanlı yürütülmesine olanak tanır; bu, G/Ç bağlantılı etkinlikler için faydalıdır.
Görüntü işleme veya veri analizi gibi CPU'yu yoğun olarak kullanan işlemler için, çoklu işlem modülleri, birden fazla CPU çekirdeğinde çok sayıda işlemin eş zamanlı olarak yürütülmesini mümkün kılar.
Asyncio modülü, eşzamansız G/Ç'yi destekler ve yüksek eşzamanlılık ağ uygulamaları için eşyordamlar kullanılarak tek iş parçacıklı eşzamanlı kod oluşturulmasına izin verir.
Dask gibi kütüphanelerle, PySpark ve MPI, Python paralel hesaplama için de kullanılabilir. Bu kitaplıklar, daha iyi performans için iş yüklerinin çok sayıda düğüme veya kümeye dağıtılmasına olanak tanır.
Python kullanarak Web Hurdaya Çıkarma
Web kazıma işlemi, web sitelerinden verileri otomatik olarak almak için kullanılır. Çeşitli araçlar ve kitaplıklar, HTML'den ve diğer çevrimiçi formatlardan veri çıkarır. Python, kullanım kolaylığı, uyarlanabilirliği ve kütüphane çeşitliliği nedeniyle web kazıma için en yaygın kullanılan programlama dilleri arasındadır.
Python kullanarak web kazımayı gerçekleştirmek için birkaç adım atmalıyız. Öncelikle hangi web sitesini kazıyacağımıza ve hangi bilgileri toplayacağımıza karar vermeliyiz. Daha sonra web sitesine bir istek gönderebilir ve Python'un request paketini kullanarak HTML içeriğini alabiliriz. HTML metnine sahip olduğumuzda, aşağıdaki gibi çeşitli ayrıştırma paketlerini kullanarak gerekli verileri çıkartabiliriz: Güzel Çorba ve lxml .
Web sitesi sunucusunun aşırı yüklenmesini önlemek için istekleri yavaşlatmak, kullanıcı aracıları kullanmak ve proxy kullanmak gibi çeşitli stratejiler kullanabiliriz. Web sitesinin hizmet şartlarına uymak ve robots.txt dosyasına saygı duymak da çok önemlidir.
Web kazıma için veri madenciliği, müşteri adayı oluşturma, fiyatlandırma takibi ve daha birçok kullanım mümkündür. Bununla birlikte, izinsiz web kazıma yasalara aykırı ve etik dışı olabileceğinden, bunu profesyonel ve etik bir şekilde kullanmak esastır.
Python kullanarak Doğal Dil İşleme (NLP)
'Doğal dil işleme' (NLP) adı verilen bir yapay zeka (AI) dalı, bilgisayarların ve insan dilinin nasıl etkileşime girdiğini inceler. NLP sayesinde bilgisayarlar artık insan dilini anlayabiliyor, yorumlayabiliyor ve üretebiliyor. Sadeliği, çok yönlülüğü ve NLTK (Doğal Dil Araç Takımı) ve spaCy gibi güçlü kütüphaneleri nedeniyle Python, NLP için iyi bilinen bir programlama dilidir.
NLTK, tokenleştirme, kök ayıklama, lemmatizasyon, konuşma bölümü etiketleme, adlandırılmış varlık tanımlama, duyarlılık analizi ve diğerleri dahil olmak üzere NLP görevleri için eksiksiz bir kitaplık sağlar. NLP modellerini geliştirmek ve değerlendirmek için çeşitli derlemlere (büyük, düzenli metin koleksiyonları) sahiptir. NLP görevleri için çok sevilen bir diğer kütüphane ise muazzam miktarda metnin hızlı ve etkili bir şekilde işlenmesini sağlayan spaCy'dir. Basit değişiklik ve genişletmeye olanak tanır ve çeşitli NLP iş yükleri için önceden eğitilmiş modellerle birlikte gelir.
NLP, Python'da sohbet robotları, duygu analizi, metin kategorizasyonu, makine çevirisi ve daha fazlası dahil olmak üzere çeşitli pratik amaçlar için kullanılabilir. NLP, örneğin sohbet robotları tarafından kullanıcı sorularını doğal dil tarzında anlamak ve yanıtlamak için kullanılır. Marka izleme, müşteri geri bildirim analizi ve diğer amaçlar için yararlı olabilecek duyarlılık analizi, metin duyarlılığını (olumlu, olumsuz veya nötr) kategorize etmek için NLP'yi kullanır. Metin belgeleri, doğal dil işleme (NLP) kullanılarak spam tespiti, haber sınıflandırması ve diğer amaçlar için önceden belirlenmiş kategorilere ayrılır.
Python, insan dilini analiz etme ve işleme konusunda güçlü ve kullanışlı bir araçtır. Geliştiriciler, NLTK ve spaCy gibi kütüphaneler sayesinde çeşitli NLP etkinlikleri gerçekleştirebilir ve tüketicilerle doğal dilde iletişim kurabilen faydalı uygulamalar oluşturabilirler.
Çözüm:
Bu eğitimde Python'un değişkenler, veri türleri, döngüler, işlevler, modüller ve daha fazlası dahil en önemli özelliklerinden ve fikirlerinden bazılarına baktık. Web kazıma, doğal dil işleme, paralellik ve veritabanı bağlantısı gibi daha karmaşık konular da tartışıldı. Bu dersten öğrendiğiniz bilgileri kullanarak Python ve uygulamaları hakkında öğrenmeye devam etmek için güçlü bir temele sahip olacaksınız.
Java'da karakter dizisine dönüştürülecek karakter
Python'u öğrenmenin en iyi yönteminin kod pratiği yapmak ve geliştirmek olduğunu unutmayın. Belgeler, öğreticiler, çevrimiçi gruplar ve daha fazlası dahil olmak üzere ileri öğreniminizi desteklemek için javaTpoint'te birçok kaynak bulabilirsiniz. Çok çalışırsanız ve ısrarcı olursanız Python'da ustalaşabilir ve onu harika şeyler yaratmak için kullanabilirsiniz.
Önkoşul
Python'u öğrenmeden önce programlama kavramlarına ilişkin temel bilgilere sahip olmanız gerekir.
Kitle
Python eğitimimiz yeni başlayanlara ve profesyonellere yardımcı olmak için tasarlanmıştır.
Sorun
Bu Python eğitiminde herhangi bir sorun bulamayacağınızı garanti ediyoruz. Ancak herhangi bir hata varsa lütfen sorunu iletişim formuna gönderin.
=>5:>