Зашто ми је Python први избор?
Кроз факултет, фриленсинг и посао имао сам прилику да радим са мноштво технологија (које све користим можете прочитати овде). Ипак, међу њима највише ми се допао 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 способан да изнесе, већ само врх леденог брега.
No Comments Yet