Боље знати своје програмске језике: Увод у Питхон

Week 1 (Јули 2019).

$config[ads_text] not found
Anonim

Боље знати своје програмске језике: Увод у Питхон


Питхон је широки програмски језик због једноставности и јасноће. Такође се суочава са растућим интересовањем због његове употребе са Распберри Пи и његовом филозофијом опште намене. У овом чланку ћемо покрити материјале потребне за кориштење Питхона.

Питхон програмски језик је почео крајем 1982. године када је Гуидо ван Россум ушао у тим који развија АБЦ језик. Након завршетка пројекта АБЦ, придружио се тиму Амоеба ОС-а док је радио на простом пројекту у слободно вријеме. Питхон је резултат дјела које је изводио у слободно вријеме. Дневни ред овог програмског језика био је флексибилан и језик опште намене.

Питхон је једноставан за коришћење, једноставан за читање и садржи више програмских дијаграма као што су објектно оријентисане, функционалне и паралелне програме. Такође, подржавају га огромне групе које су креирале разне библиотеке отвореног кода које се центрирају на Питхон-у. Кратка листа ових библиотека трећих страна укључује:

1. НумПи: Користи се за научно програмирање, као што су матричне прорачуне

2. НЛТК: алатки за обраду језика за Питхон

3. ПиСериал: даје могућност коришћења серијске комуникације

4. ПиГаме: Помаже у изградњи игара

5. ПиБраин: Помаже у изградњи вештачке интелигенције

Разлике између Питхона и Ц

За разлику од Ц, Питхон је општи програмски језик и може се користити за стварање било чега од веб УИ-а до визуелних апликација. То је такође динамичан језик који може аутоматски управљати меморијом. С друге стране, пошто је ниво интерпретације Питхона већи од Ц, не може се такмичити са Ц у брзини рада.

Међутим, развој програма помоћу Питхона може уштедити много времена и ресурса јер је много једноставнији од Ц.

У Питхону, као што су ПХП и Перл, није неопходно дефинисати типове варијабли. Не постоји дефиниција типа у Питхон-у, док Ц треба познавати варијабилне типове.

На примјер, у Ц, дефинисање цијеле варијабле изгледа овако:

 int a=4; 

Горња реч каже да је "а" променљива у меморији и величина целог броја. Међутим, у Питхон-у, можемо само декларирати променљиву без навођења њене врсте:

 a=1 

Тип варијабле је динамичан у Питхон-у и може се мијењати током радног времена. Горе наведени код само наводи да се "а" односи на део меморије. Горњи код се тумачи овако:

1. Креиран је део меморије величине целог броја, јер Питхон зна да је "1" цијели број.

2. Питхон чува име "а" у другом дијелу меморије.

3. Креира се веза која каже да се "а" односи на "1".

Као што сам већ поменуо, Питхон може самостално управљати меморијом, за разлику од Ц. У Питхон-у, свака променљива има референтни број који наводи укупну количину која се односи на њега. Након сваке декларације, Питхон повећава референтни број. Након уклањања, смањује број референци. На крају, након што референтни број променљиве постане нула, Питхон ће саму себе уклонити варијаблу из меморије.

Ова техника се зове Гарбаге Цоллецтион. Увозом сис модула и коришћењем гетрефцоунт () функције, можемо сазнати колике варијабле се реферишу од стране објекта. Код је приказан доле:

 import sys a = 1 sys.getrefcount(1) 760 a = 2 sys.getrefcount(1) 759 sys.getrefcount(2) 96 b = a sys.getrefcount(2) 97 

Рад са листама на Питхон-у

Рад са низовима је врло једноставан у Питхон-у. Тип листе је најфлексибилнији пре-реади објект у Питхон-у. Објект листе се може дефинисати употребом () и може имати чланове без обзира на врсту. На пример, долен код дефинише списак са свим:

 L = (15, 3.14, 'string', (1, 2)) 

Са архитектуром ове листе, имплементација матрице је веома једноставна. Ево примера:

 L = ((1, 2, 3), (4, 5, 6), (7, 8, 9)) 

Као што је горе речено, додавањем варијабле у другу варијаблу, Питхон једноставно додаје референцу на меморију. Ово понашање је упоредиво са коришћењем показивача у Ц. На пример, могли бисмо копирати списак овако:

 L1 = (1, 2, 3) L2 = L1 

Ако променимо вредност елемента на листи Л2, тај елемент ће се променити и на Л1 листи. То је зато што Л2 није ништа друго до показивач на меморијску адресу Л1 листе.

То можемо избеци тако што ћемо направити копију Л1 листе и додијелити је Л2 овако:

 L2 = L1(:) 

Као што видите, рад са листама у Питхону је врло једноставан и, као Матлаб, можемо приступити свим елементима листе користећи (:). Друга корисна ствар у Питхон-у је диктатор. Диктатор је као мапа и има кључ и вредност. Дикат објект се може дефинисати као у наставку:

 d = {1:'One', 2:'Two', 3:'Three'} 

За више увода, овде се уносе неки важни шаблони синтаксе. Овако можете дефинисати условну наредбу:

 if percent == 100: print('100 %') elif percent >= 75: print('75-100 %') elif percent >= 50: print('50-75 %') elif percent >= 25: print('25-50 %') else: print('less than 25 %') 

Овако можете дефинирати "за" петљу:

 for target in object: statements 

Овако можете дефинисати петље "вхиле":

 while condition : statements 

Друга важна разлика је у томе што у Питхону не морамо користити {} као индикацију блока. Питхон ће тумачити блокове према њиховој удаљавању. Као што се може видети на Слици 1, претпоставља се да су линије са истим увлачењем исти блок; то јест, све изјаве са истом растојањем на десној страни припадају истом блоку.

Слика 1. Питхон цлоцк индентатион. Извор слике: //ввв.питхон-цоурсе.еу.

Рад са Питхоном у Малињи Пи

Број дизајнера који користе Распберри Пи у напредним пројектима брзо расте. Многи користе Распбиан ОС због своје малине Пи због своје ефикасности.

У Распбиан-у можемо да користимо предности Питхона користећи унапред инсталирану РПи.ГПИО библиотеку. У следећим деловима ћемо испитати коришћење Питхона у Распбиан-у. Прво, потребно је да увеземо РПи.ГПИО библиотеку овако:

 import RPi.GPIO as GPIO 

Позивање Распберри Пи пинова у ГПИО библиотеци може се извршити на два начина.

Први начин је опција БОАРД, што значи да можемо назвати пинове према броју који је одштампан на Распберри Пи. Овај број се неће мијењати између модела Распберри Пи.

Друга опција је БЦМ. Користећи БЦМ, можемо назвати пинове према њиховом броју додељеном за сваку Распберри Пи. На пример, Распберри Пи 2 модел Б пиноут је приказан на слици 2:

Слика 2. Распберри Пи 2 Модел Б пиноут. Имаге цоуртеси оф Распберри Пи.

Као што видите у конектору, пин 3 је додељен ГПИО2. Ако желимо да користимо овај пин у опцији БОАРД, требали би га назвати Пин3. Да би користили БЦМ опцију, морамо га назвати ГПИО2. Коришћењем следећих кодова можемо подесити режиме пина:

 #set up GPIO using BCM numbering GPIO.setmode(GPIO.BCM) #setup GPIO using Board numbering GPIO.setmode(GPIO.BOARD) 

Након подешавања пинова, можемо подесити њихов смјер и такође, ако је потребно, подесите отпорник за повлачење или повлачење. Следећи кодови ће то урадити:

 GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP) 

Једна од важних ствари је очистити ГПИО режим пре него што напустите програм. Ако не очистимо ГПИО, она ће остати на најновијој вредности. ГПИО.цлеануп () ће то учинити за нас.

Кодирање за Распберри Пи са Питхон-ом је веома једноставно и корисно јер можете брзо и без много специјализованог знања уписати апликацију. На пример, користећи доље код, можемо једноставно дефинисати прекид на пин и поставити повратни позив:

 GPIO.add_interrupt_callback(7, do_something, debounce_timeout_ms=100) 

Развојни ресурси

ЦодеСкулптор представља веома добро окружење које можете користити за покретање Питхон скрипти на вебу. Ово је бесплатан алат!

Када покренете програм, третирате се у врло користан пример који вам показује како покренути једноставан ГУИ на Вебу користећи Питхон и "симплегуи" библиотеку.

Слика 3. Пример. Имаге цоуртеси оф Цодескулптор.

Као што можете видети на Слици 3, представљен је пример који покреће једноставан ГУИ. Ако га покренемо, можемо видјети моћ Питхона и његову флексибилност за покретање свуда, чак иу веб апликацијама. Резултат слике слике је приказан на слици 4.

Слика 4. Покретање примера Цодескулптора

Овде можете погледати демо дио да бисте видели друге доприносе.

Закључак

У овом кратком уводу у Питхон, размотрили смо неке разлике између Питхона и Ц-а и прикупили неке примере синтаксе како бисмо створили боље разумевање Питхона. Затим смо на кратко научили како да направимо апликацију користећи ГПИО библиотеку за Распберри Пи и, коначно, упознали смо Цодескулптор и његово окружење.

Ово је само кратак преглед неких аспеката Питхона. Ако желите да видите више чланака на програмским језицима, упознајте нас у коментарима испод!