Monday, July 10, 2023

Tajne efikasnog koda, sve što trebate znati o operatorima u Python programskom jeziku

Ukoliko ste početnik u svetu programiranja i sećate se nekih osnovnih matematičkih pojmova, možete pomisliti; znam otprilike šta su operatori u matematici, ali šta su operatori u programiranju? Operatori su ključni elementi u programiranju jer omogućavaju izvršavanje različitih operacija nad podacima, što programerima omogućava da izgrade kompleksne logičke strukture i izvršavaju raznovrsne zadatke. Operatori u Python programskom jeziku su simboli ili specijalne funkcije koje se koriste za izvršavanje operacija nad vrednostima ili promenljivim podacima. Oni omogućavaju manipulaciju podacima na različite načine, kao što su matematičke operacije, poređenje, logičke operacije i slično. U suštini to je ista stvar kao u matematici samo što je to u informatici malo prošireno za potrebe programskih jezika i boljeg rada računara. Isto tako; ukoliko uporedite operatore u Python programskom jeziku i u drugim programskim jezicima, videćete da operatori imaju sličnu svrhu u većini programski jezika, ali njihova tačna implementacija i sintaksa se mogu razlikovati između programski jezika. Na primer u Python programskom jeziku operator identiteta is nije isto što i is u C# programskom jeziku. U Python programskom jeziku operator is se koristi da se proveri da li se dve promenjive odnose na isti objekat; dok u C# programskom jeziku operator is koristi za proveru određenog tipa promenjive.


( Operatori u Python programskom jeziku )
 

Python programski jezik podelu vrsta operatora definiše na sledećih sedam grupa:

1.       Arithmetic operatorsaritmetički operatori

2.       Assignment operatorsoperatori dodele

3.       Comparison operators – operatori poređenja

4.       Logical operators logički operatori

5.       Identity operatorsoperatori identiteta

6.       Membership operators operatori članstva

7.       Bitwise operatorsoperatori pomeranja

Pored navedene podele vrsta operatora, neophodno je da obratite pažnju i na prioritet operatora. Kao i u svakom drugom programskom jeziku, tako i u Python programskom jeziku operatori imaju prioritete koji određuju redosled izvršavanja operacija. Oni su uglavnom isti kao i u matematici. Ali kad je u pitanju Python programski jezik onda postoje i dodatni operatori. Pogledajte sledeću sliku tabele prioriteta operatora.


( Tabela prioriteta operatora u Python programskom jeziku )

Ako imate složene izraze sa više operatora, uvek je dobra praksa koristiti zagrade kako biste jasno definisali redosled izvršavanja operacija i izbegli greške, čak i kada su prioriteti operatora poznati.

Aritmetički operatori

Arithmetic operators – aritmetički operatori su operatori koji se koriste za izvršavanje matematički operacija nad brojevima. Oni omogućavaju izvršavanje osnovnih aritmetički operacija kao što su sabiranje, oduzimanje, množenje, deljenje i ostatak pri deljenju. Kad je u pitanju Python programski jezik; u ovu grupu je dodato i potenciranje; kao i deljenje celog broja. Da bi smo ovo demonstrirali pokrenite vaš IDE – integrisano razvojno okruženje, pronađite projekat python_tutorial i dodajte novu datoteku u projekat i nazovite je arithmetic_operators.py . Zatim prekucajte sledeći kôd.

"""
ARITHMETIC OPERATORS
MANUEL RADOVANOVIC - 2023-07-07
"""

number1 = int(input("Enter the first number: "))
number2 =
int(input("Enter the second number: "))
print()

print(f"Addition: {number1} + {number2} = {number1 + number2}")
print(f"Subtraction: {number1} - {number2} = {number1 - number2}")
print(f"Multiplication: {number1} * {number2} = {number1 * number2}")
print(f"Division: {number1} / {number2} = {number1 / number2}")
print(f"Modulus: {number1} % {number2} = {number1 % number2}")
print(f"Exponentiation: {number1} ** {number2} = {number1 ** number2}")
print(f"Floor division: {number1} // {number2} = {number1 // number2}"
)

Pokrenite program i ukoliko unesete ulazne parametre 25 i 5 dobićete sledeći rezultat:

Enter the first number: 25

Enter the second number: 5

 

Addition: 25 + 5 = 30

Subtraction: 25 - 5 = 20

Multiplication: 25 * 5 = 125

Division: 25 / 5 = 5.0

Modulus: 25 % 5 = 0

Exponentiation: 25 ** 5 = 9765625

Floor division: 25 // 5 = 5

Kako ovo kodiranje izgleda; možete pogledati i na video-u:


( Python - 3. Arithmetic Operators )

Operatori dodele

Assignment operators – operatori dodelePython programskom jeziku su specifični operatori koji se koriste za dodelu vrednosti promenjivima. Osnovni operator dodele je jednako operator = . Koristi se za dodelu vrednosti sa desne strane, promenjivoj sa leve strane. Na primer sa operatorima dodele možete da skratite pisanje aritmetički operacija. Najbolje da napravimo mali program koji nam demonstrira operatore dodele i njihovu upotrebu. Zato u već postojeći naš projekat python_tutorial kreirajte novu datoteku i nazovite je assignment_operators.py . Zatim prekucajte sledeći kôd.

"""

ASSIGNMENT OPERATORS
MANUEL RADOVANOVIC - 2023-07-07
"""

number = int(input("Enter a number: "))
print()

x = number
print(f"Simple assignment operator: X = {number}")
number +=
5
print(f"Add and equal operator: X += 5 ... {number}")

number = x
number -=
5
print(f"Subtract and equal operator: X -= 5 ... {number}")
number = x
number *=
5
print(f"Asterisk and equal operator: X *= 5 ... {number}")
number = x
number /=
5
print(f"Divide and equal operator: X /= 5 ... {number}")

print()

number = x
number %=
5
print(f"Modulus and equal operator: X %= 5 ... {number}")
number = x
number //=
5
print(f"Double divide and equal operator: X //= 5 ... {number}")
number = x
number **=
5
print(f"Exponent assign operator: X **= 5 ... {number}")

print()

number = x
number &=
5
print(f"Bitwise And Operator: &= 5 ... {number}")
number = x
number |=
5
print(f"Bitwise OR Operator: X |= 5 ... {number}")
number = x
number ^=
5
print(f"Bitwise XOR Operator: X ^= 5 ... {number}")

print()

number = x
number >>=
5
print(f"Bitwise right shift assignment operator: X >>= 5 ... {number}")
number = x
number <<=
5
print(f"Bitwise left shift assignment operator: X <<= 5 ... {number}"
)

Pokrenite program i ukoliko unesete ulazni parametar 24;  dobićete sledeći rezultat:

Enter a number: 24


Simple assignment operator: X = 24

Add and equal operator: X += 5 ... 29

Subtract and equal operator: X -= 5 ... 19

Asterisk and equal operator: X *= 5 ... 120

Divide and equal operator: X /= 5 ... 4.8

 

Modulus and equal operator: X %= 5 ... 4

Double divide and equal operator: X //= 5 ... 4

Exponent assign operator: X **= 5 ... 7962624

 

Bitwise And Operator: &= 5 ... 0

Bitwise OR Operator: X |= 5 ... 29

Bitwise XOR Operator: X ^= 5 ... 29

 

Bitwise right shift assignment operator: X >>= 5 ... 0

Bitwise left shift assignment operator: X <<= 5 ... 768


Kako ovo kodiranje izgleda; možete pogledati i na video-u:


( Python - 4. Assignment Operators )

Operatori poređenja

Comparison operators – operatori poređenjaPython programskom jeziku su operatori koji se koriste za poređenje vrednosti i vraćaju rezultat u vidu logički vrednosti True – tačno i False – netačno. Ovi operatori jednostavno omogućavaju upoređivanje različitih promenjivih i vrednosti. Izuzetno su korisni i često ćete iste koristiti za uslovno izvršavanje kôda, kao i za poređenje vrednosti u kontrolnim strukturama poput if-else izraza i svi vrsta petlji. Dodajte novu datoteku našem projektu python_tutorial i nazovite je comparison_operators.py. Zatim prekucajte sledeći kôd.

"""

COMPARISON OPERATORS
MANUEL RADOVANOVIC - 2023-07-07
"""

number1 = int(input("Enter the first number: "))
number2 =
int(input("Enter the second number: "))
print()

print(f"Equal: {number1} == {number2} ... {number1 == number2}")
print(f"Not equal: {number1} != {number2} ... {number1 != number2}")
print(f"Greater than: {number1} > {number2} ... {number1 > number2}")
print(f"Less than: {number1} < {number2} ... {number1 < number2}")
print(f"Greater than or equal to: {number1} >= {number2} ... {number1 >= number2}")
print(f"Less than or equal to: {number1} <= {number2} ... {number1 <= number2}"
)

Pokrenite program i ukoliko unesete ulazne parametre 25 i 5 dobićete sledeći rezultat:

Enter the first number: 25

Enter the second number: 5

 

Equal: 25 == 5 ... False

Not equal: 25 != 5 ... True

Greater than: 25 > 5 ... True

Less than: 25 < 5 ... False

Greater than or equal to: 25 >= 5 ... True

Less than or equal to: 25 <= 5 ... False


Kako ovo kodiranje izgleda; možete pogledati i na video-u:


( Python - 5. Comparison Operators )

Ostali operatori

Logical operators – logički operatoriPython programskom jeziku su operatori koji se koriste za izvršavanje logičkih operacija nad logičkim vrednostima True – tačno i False – netačno. Logični operatori jednostavno kombinuju i manipulišu logičnim vrednostima operatorima and, or ili not. Što se tiče Identity operators – operatori identiteta; to su operatori koji se u Python programskom jeziku koriste za poređenje dva identiteta, tj. da li dve promenjive ili dva objekta imaju referencu na isti objekat. To se radi uz operatore is i is not. Važno je napomenuti da se ovi operatori razlikuju od operatora jednakosti == i obratite pažnju da to u kodiranju ne mešate. Operatori identiteta se najčešće koriste prilikom upoređivanja promenjivih koji imaju referencu na instancu klasa ili složenih objekata. Zatim, Membership operators – operatori članstva su u Python programskom jeziku operatori koji se koristi da proverite da li neki element pripada nekoj kolekciji kao što su liste, nizovi, skupovi itd. Postoje samo dva operatora za ovu svrhu. Operator in i not in. Često se koriste kada kodirate pretragu ili filtriranje. Dodajte novu datoteku u naš projekat python_tutorial i nazovite je logical_identity_membership_operators.py . Zatim prekucajte sledeći kôd.

"""


LOGICAL, IDENTITY AND MEMBERSHIP OPERATORS
MANUEL RADOVANOVIC - 2023-07-07
"""

number1 = int(input("Enter the first number: "))
number2 =
int(input("Enter the second number: "))
print()

# Logical operators
print(f"and: X < 10 and Y < 100 ... {(number1 < 10) and (number2 < 100)}")
print(f"or: X < 10 or Y < 8 ... {(number1 < 10) or (number2 < 8)}")
print(f"not: not(X < 10 and Y < 100) ... {not(number1 < 10) and (number2 < 100)}")

print()

# Identity operators
print(f"is: X = Y ... {number1 is number2}")
print(f"is not: X = Y ... {number1 is not number2}")

print()

# Membership operators
Y = [1, 3, 5, 8]
print(f"in: X in Y ... Y = [1, 3, 5, 8] {number1 in Y}")
print(f"not in: X not in Y ... Y = [1, 3, 5, 8] {number1 not in Y}")

 

Pokrenite program i ukoliko unesete ulazne parametre 25 i 4 dobićete sledeći rezultat:

 

Enter the first number: 25

Enter the second number: 4

 

and: X < 10 and Y < 100 ... False

or: X < 10 or Y < 8 ... True

not: not(X < 10 and Y < 100) ... True

 

is: X = Y ... False

is not: X = Y ... True

 

in: X in Y ... Y = [1, 3, 5, 8] False

not in: X not in Y ... Y = [1, 3, 5, 8] True

  

Kako ovo kodiranje izgleda; možete pogledati i na video-u:


( Python - 6. Logical, Identity and Membership Operators )

Što se tiče Bitwise operators – operatori pomeranja, sa njima ćemo se baviti u naprednijem tutorijalu kada budemo učili pomeranje bitova. Za sada će biti odlično oko ste u potpunosti razumeli navedeni tekst i primere.  

 

 

 

 

 

 

 

 

    

 



 

 

 

 

 

 

 

 

 

 

No comments:

Post a Comment