Програмирање

Ултимате Питхон водич за почетнике

30. октобар 2021

Преглед садржаја

  • Енвиронмент Сетуп
    • Подешавање локалног окружења
    • Како набавити Питхон
    • Како инсталирати Питхон
    • Виндовс Инсталлатион
    • Уник/Линук инсталација
    • МАЦ Инсталлатион
    • Подешавање путање за Питхон
    • Подешавање путање за Уник/Линук
    • Подешавање путање за Виндовс
  • Питхон променљиве окружења
    • Покретање Питхон-а
  • Основна синтакса
    • Питхон идентификатори
    • Питхон изјава
    • Увлаке у Питхон-у
    • Коментари у Питхон-у
    • Геттинг Инпут
    • Прикажите излаз
  • Типови променљивих
    • Додељивање вредности променљивим
    • Питхон типови података
    • Стрингс
    • Туплес
    • Листе
    • Бројеви
  • Основни оператери
    • Оператор додељивања
    • Битвисе оператор
    • Логички оператор
    • Аритметички оператор
    • Оператор поређења
    • Оператор идентитета
    • Оператер чланства
  • Одлучивати
    • Ако изјава
    • ако друго
    • Угнежђено ако
    • Ако-елиф-друго-мердевине
    • Скраћеница иф изјава
    • Скраћеница иф-елсе изјава
  • Петље
    • Вхиле Лооп
    • Фор Лооп
    • Угнежђене петље
    • Изјаве о контроли петље
    • Наставите изјаву
    • Изјава о прекиду
    • Пасс изјава
  • Бројеви
    • Конверзија типа броја
    • Функције случајног броја
    • Тригонометријске функције
    • Математичке функције
  • Стрингс
    • Креирање стринга
    • Стринг Специал Операторс
    • Оператори за форматирање стрингова
    • Есцапе Цхарацтерс
    • Уграђене стринг методе
  • Туплес
    • Приступање вредностима у корицама
    • Ажурирање тупле
    • Основни тупле оператори
    • Уграђене тупле функције
    • Индексирање и резање
    • Брисање тупле
  • Листе
    • Приступ вредностима у листама
    • Ажурирање листа
    • Оператори основне листе
    • Уграђене функције и методе листе
    • Индексирање и резање
    • Избриши елемент листе
  • Речник
    • Израда речника
    • Додавање елемената у речник
    • Уклањање елемената из речника
    • Методе Питхон речника
  • Датум и време
    • Тиме Тупле
    • Временски модул
    • Календарски модул
  • Функције
    • Како дефинисати функцију
    • Позивање функције
    • Прођите по референци
    • Прођите поред вредности
    • Аргументи функције
    • Аргументи променљиве дужине
    • Обавезни аргументи
    • Подразумевани аргументи
    • Аргументи кључних речи
    • Анонимне функције
  • Модули
    • Изјава о увозу
    • Изјава о увозу
    • Изјава из увоза *
    • Лоцирање модула
    • Функције лоцалс() и глобалс().
    • Именски простори и опсег
    • Функција дир().
    • Функција релоад().
  • Датотеке И/О
    • Отварање датотеке
    • Атрибути објекта датотеке
    • Затварање датотеке
    • Са Изјавом
    • Метода Врите
    • Метода читања
    • Метода ренаме().
    • Метода ремове().
    • Позиција датотеке
  • Изузеци
    • Шта је изузетак?
    • Руковање изузетком
    • Подизање изузетка
    • Списак стандардних изузетака
    • Кориснички дефинисани изузеци
    • Тврдње у Пајтону
  • Класе и објекти
    • Креирање часова
    • Цласс Објецтс
    • Приступ атрибутима
    • Уграђени атрибути класе
    • Отпад
    • Наслеђивање класа
    • Оверридинг Метходс
    • Регуларни изрази
    • Функција подударања
    • Функција претраге
    • Модификатори регуларног израза
    • Обрасци регуларног израза
    • Цхарацтер Цлассес
    • Случајеви понављања
    • Анцхорс
  • ЦГИ програмирање
  • Приступ МиСКЛ бази података
  • Мреже
    • Шта су утичнице?
    • Модул утичнице
    • Питхон Интернет модули
  • Слање е-поште
    • Слање ХТМЛ е-поште помоћу Питхон-а
    • Слање прилога као е-маил
  • Вишенитно програмирање
    • Покретање нове теме
    • Тхе Тхреадинг Модуле
    • Синцхронизинг Тхреадс
    • Вишенитни приоритетни ред
  • КСМЛ обрада
    • Шта је КСМЛ?
    • Архитектуре и АПИ-ји КСМЛ парсера
    • Парсинг КСМЛ са САКС АПИ-јима
      • Метода маке_парсер
      • Метода парсе
      • Метод парсеСтринг
  • ГУИ програмирање
    • Ткинтер виџети
  • Управљање геометријом
  • Препоручени чланци

ЦГИ програмирање

ЦГИ или Цоммон Гатеваи Интерфаце је скуп стандарда који дефинише како се информације размењују између прилагођене скрипте и веб сервера. НЦСА тренутно одржава ЦГИ спецификације.

Веб претраживање

Ако желите да разумете концепт ЦГИ, ево примера. Кликните на хипервезу да бисте прегледали одређени УРЛ или веб страницу.

  • Претраживач контактира веб сервер и захтева УРЛ.
  • Веб сервер анализира УРЛ и тражи име датотеке. Ако пронађе датотеку, онда је шаље назад претраживачу, у супротном шаље поруку о грешци која указује да сте тражили погрешну датотеку.
  • Веб претраживач преузима одговор од веб сервера и приказује примљену датотеку или поруку о грешци.

Иако је могуће подесити ХТТП сервер тако да кад год се тражи датотека у одређеном директоријуму та датотека се не шаље назад; уместо тога он се извршава као програм, и шта год тај програм произведе, шаље се назад да би ваш претраживач приказао.

Ова функција је позната као Цоммон Гатеваи Интерфаце или ЦГИ, а планови су познати као ЦГИ скрипте. ЦГИ програми могу бити Питхон Сцрипт, ПЕРЛ Сцрипт, Схелл Сцрипт, Ц или Ц++ програм, итд.

питхон

ХТТП заглавље

Црта Цонтент-типе:тект/хтмлрнрн је део ХТТП заглавља које се шаље претраживачу да би разумео садржај. Сва ХТТП заглавља ће бити у следећем облику

да не Хеадер Опис
једнаЛокација: УРЛУРЛ који се враћа уместо траженог УРЛ-а. Можете користити поље да преусмерите захтев на било коју датотеку.
дваТип садржаја:То је МИМЕ стринг који дефинише формат враћене датотеке. На пример, Цонтент-типе:тект/хтмл
3Последња измена: ДатумДатум измене ресурса.
4Истиче: ДатумИнформација постаје неважећа на дан. Прегледач користи ово да одлучи када страницу треба освежити.
5Сет-Цоокие: СтрингПоставите колачић који је прошао кроз низ
6Дужина садржаја: НВраћа се дужина података. Прегледач користи вредност да пријави процењено време преузимања датотеке.

ЦГИ варијабле окружења

ЦГИ програми имају приступ неколико варијабли окружења. Ове варијабле играју кључну улогу при писању било ког ЦГИ програма.

да не Име променљиве Опис
једна ЦОНТЕНТ_ЛЕНГТХ Дужина информација о упиту. Доступан је само за ПОСТ захтеве.
два ТИП САДРЖАЈА Тип података садржаја. Користи се када клијент шаље садржај на сервер. На пример, отпремање датотеке.
3 КУЕРИ_СТРИНГ Информације кодиране у УРЛ-у се шаљу са захтевом методе ГЕТ.
4 ПАТХ_ИНФО То је пут за ЦГИ скрипту.
5 ХТТП_ЦООКИЕ Враћа постављене колачиће у облику пара вредности и кључа.
6 УДАЉЕНИ ХОСТ Потпуно квалификовано име домаћина који шаље захтев. Ако информације нису доступне, РЕМОТЕ_АДДР се може користити за добијање ИР адресе. вредност за извештавање о процењеном времену преузимања за датотеку.
7 СЦРИПТ_ФИЛЕНАМЕ Потпуна путања до ЦГИ скрипте.
8 РЕКУЕСТ_МЕТХОД Метода се користи за подношење захтева. Најчешћи методи су ПОСТ и ГЕТ.
9 СЕРВЕР_НАМЕ Име сервера или ИП адреса
10 СЕРВЕР_СОФТВАРЕ Верзија и назив софтвера на којем сервер ради.
Једанаест ХТТП_УСЕР_АГЕНТ Заглавље захтева корисничког агента садржи информације о корисничком агенту који покреће захтев. То је назив веб претраживача.
12 РЕМОТЕ_АДДР ИП адреса удаљеног хоста даје захтев. Користан је за евидентирање или аутентификацију.
13 СЦРИПТ_НАМЕ Назив ЦГИ скрипте.

ГЕТ метод

Метода ГЕТ је подразумевана метода за прослеђивање информација из претраживача на веб сервер и производи стринг који се појављује на локацији вашег претраживача: бок. Никада не би требало да користите метод ГЕТ ако имате лозинку или друге осетљиве информације. Метода ГЕТ има ограничење величине: само 1024 карактера се могу послати у стрингу захтева. Метода ГЕТ шаље информације користећи заглавље КУЕРИ_СТРИНГ и биће доступна у вашем ЦГИ програму преко КУЕРИ_СТРИНГ променљиве окружења.

СИНТАКСА

|_+_| имг 617дд274ц490б

ОУТПУТ

имг 617дд27560едф

ПОСТ метода

ПОСТ је метод захтева који подржава ХТТП који користи светска мрежа. Метода ПОСТ захтева да веб сервер прихвати податке који су затворени у телу поруке захтева. Користи се приликом постављања датотеке или приликом слања попуњеног веб обрасца.

СИНТАКСА

|_+_| имг 617дд275б62дф

Коришћење колачића у ЦГИ

ХТТП протокол је без држављанства. За комерцијалну веб локацију, од вас се тражи да одржавате информације о сесији на различитим страницама.

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

Како то функционише?

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

Приступ МиСКЛ бази података

МиСКЛдб је интерфејс за повезивање са МиСКЛ сервером базе података из Питхон-а. Она имплементира Питхон АПИ базе података в2.0 и изграђен је на врху МиСКЛ Ц АПИ-ја.

Креирање табеле базе података

Када се успостави веза са базом података, спремни сте да креирате табеле или записе у табеле базе података користећи методу извршења креираног курсора.

имг 617дд27621265

ИНСЕРТ Оператион

Операција уметања је неопходна када желите да креирате своје записе у табели базе података.

имг 617дд2767ф199

РЕАД Оператион

РЕАД Операција у било којој бази података значи дохват неких информација из базе података.

Када се успостави веза са базом података, постављени сте да направите упит за ову базу података. Можете користити фетцхоне() метод за преузимање једног записа или дохвати() метод за преузимање више вредности из табеле базе података.

    дохвати()− Дохваћа ред у скупу резултата. Ако су неки редови већ извучени из скупа резултата, онда преузима редове из скупа резултата.фетцхоне()− Дохваћа следећи ред скупа резултата упита. Скуп резултата је објекат који се враћа када се курсор користи за испитивање табеле.ровцоунт− То је атрибут само за читање и враћа број редова на које је утицала метода екецуте().

Операција ажурирања

Операција УПДАТЕ у било којој бази података значи ажурирање записа који су доступни у бази података.

Операција ДЕЛЕТЕ

Операција ДЕЛЕТЕ брише неке записе из ваше базе података.

Обављање трансакција

Трансакције су механизам који обезбеђује конзистентност података.

    Атомицити− Трансакција се или завршава или се ништа не дешава.Доследност− Трансакција треба да почне у конзистентном стању и остави систем у конзистентном стању.Изолација− Резултати трансакције нису видљиви изван тренутне трансакције.Трајност− Једном када се трансакција изврши, ефекти су константни, чак и након квара система.

ЦОММИТ Операција

Урезивање је операција која даје зелени сигнал бази података за финализацију измена, а након ове операције ниједна промена се не може вратити назад.

На пример дб.цоммит()

Операција РОЛЛБАЦК

Ако не желите једну или више промена и желите да их потпуно вратите назад, требало би да користите враћање () методом.

На пример дб.роллбацк()

Прекидање везе са базом података

Да бисте прекинули везу са базом података, требало би да користите метод цлосе().

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

Руковање грешкама

Постоји много разлога за грешке. Грешка у вези, синтаксичка грешка у извршеној СКЛ наредби је неколико примера

ДБ АПИ дефинише број грешака које могу постојати у сваком модулу базе података. Следећа табела наводи изузетке.

да не Изузеци Описи
једна ГрешкаТо је основна класа за грешке. То би требало да буде поткласа Еррор.
два ИнтерфацеЕррорКористи се за грешке у модулу базе података, а не у самој бази података. Требало би подкласу Грешка.
3 УпозорењеКористи се за нефаталне проблеме. Требало би да буде подкласа СтандардЕррор.
4 ДатаЕррорТо је поткласа ДатабасеЕррор која се односи на грешке у подацима.
5 Грешка у датотециКористи се за грешку у бази података. Требало би да грешка подкласе
6 ОператионалЕррорПоткласа ДатабасеЕррор се односи на грешке као што је губитак везе са базом података. Грешке су ван контроле Питхон скриптера.
7 Унутрашња грешкаПоткласа ДатабасеЕррор се односи на грешке интерне у модулу базе података, као што је курсор више није активан.
8 НотСуппортедЕррорПоткласа ДатабасеЕррор се односи на покушај позивања неподржане функционалности.
9 ИнтегритиЕррорПоткласа ДатабасеЕррор за ситуације које оштећују релациони интегритет, као што су ограничења јединствености или страни кључеви.
10 ПрограммингЕррорПоткласа ДатабасеЕррор се односи на грешке као што је погрешно име табеле.