Кроз факултет, фриленсинг и посао имао сам прилику да радим са мноштво технологија (које све користим можете прочитати овде). Ипак, међу њима највише ми се допао Python, првенствено због његове једноставности, ефикасности и елегантности. Стога, одлучио сам написати неколико примера Python синтаксе које га издвајају од осталих језика.

Замена промењивих

Нити у једном језику није лако заменити две промењиве као у Python-у.

>>> a = 4
>>> b = 3
>>> print(f'a: {a}, b: {b}')
a: 4, b: 3
>>> a, b = b, a
>>> print(f'a: {a}, b: {b}')
a: 3, b: 4

Ово је могуће јер Python прво еваулира десну страну креирајући tuple кога чине a и b у меморији. После креирања, евалуира се лева страна, која има две промењиве. Другим речима, да би се извршила промена вредности Python из меморије извлачи tuple, распакује га и додељује по индексу, први елемент са леве стране одговара првом елементу tuple-а и тим редом даље.

Метода може вратити више вредности

Колико сам пута хтео да ово могу урадити у другим програмским језицима. У Python-у можете вратити више вредности управо због горе описаног механизма. Иако ово може бити веома корисно, водите рачуна да може бити и опасно.

>>> def method():
...     return 10, True
...
>>> a, b = method()
>>> print(f'a: {a}, b: {b}')
a: 10, b: True

Walrus израз

Једна од новина која је дошла са верзијом 3.8. Ако сте студент и правите конзолне апликације ово вам може помоћи при креирању менија.

>>> print('1. Open window 1\n2. Open window 2\n3. Quit')
1. Open window 1
2. Open window 2
3. Quit
>>> while (selected := input('Select option: ')) != '3':
...     print(f'Window to open -> {selected}')
...
Select option: 1
Window to open -> 1
Select option: 2
Window to open -> 2
Select option: 3
>>>

У суштини више не морати користити још једну промењиву како бисте упоредили ваш први избор, него помоћу walrus оператора можете је доделити директно у услову петље. Прекул!

Индексирање од назад

Ово је још једна сјајна функционалност. Треба вам последњи карактер стринга, нема проблема:

>>> string = 'Hello World'
>>> string[-1]
'd'
>>>

Индексирање од назад се врши тако што прослеђујете негативне бројеве, тако да је -1 последњи карактер, -2 претпоследњи итд. Међутим, то није све. Ако желите исписати стринг од назад то можете учинити следећом синтаксом:

>>> string = 'Hello World'
>>> string[::-1]
'dlroW olleH'
>>>

Повезивање логичких оператора

Вероватно сте у неком тренутку хтели проверити да ли је неки број већи од a а мањи од b. Рецимо да је a 5, a b 10:

>>> a = 5
>>> b = 10
>>> n = 6
>>> print(a < n < b)
True
>>> n = 3
>>> print(a < n < b)
False
>>>

Ово није ни део ствари које је Python способан да изнесе, већ само врх леденог брега. Ако имате било каквих питање не устручавајте се да ме контактирате путем контакт странице.