Python. Урок 5. Условные операторы и циклы
В этом уроке рассмотрим оператор ветвления if и операторы цикла while и for. Основная цель – это дать общее представление об этих операторах и на простых примерах показать базовые принципы работы с ними.
Условный оператор ветвления ifОператор ветвления if позволяет выполнить определенный набор инструкций в зависимости от некоторого условия. Возможны следующие варианты использования.
1. Конструкция ifСинтаксис оператора if выглядит так.
if выражение: инструкция_1 инструкция_2 ... инструкция_n
После оператора if записывается выражение. Если это выражение истинно, то выполняются инструкции, определяемые данным оператором. Выражение является истинным, если его результатом является число не равное нулю, непустой объект, либо логическое True. После выражения нужно поставить двоеточие “:”.
ВАЖНО: блок кода, который необходимо выполнить, в случае истинности выражения, отделяется четырьмя пробелами слева!
Примеры:
if 1: print("hello 1")
Напечатает: hello 1
a = 3 if a == 3: print("hello 2")
Напечатает: hello 2
a = 3 if a > 1: print("hello 3")
Напечатает: hello 3
lst = [1, 2, 3] if lst : print("hello 4")
Напечатает: hello 4
2. Конструкция if – elseБывают случаи, когда необходимо предусмотреть альтернативный вариант выполнения программы. Т.е. при истинном условии нужно выполнить один набор инструкций, при ложном – другой. Для этого используется конструкция if – else.
if выражение: инструкция_1 инструкция_2 ... инструкция_n else: инструкция_a инструкция_b . .. инструкция_x
Примеры.
a = 3 if a > 2: print("H") else: print("L")
Напечатает: H
a = 1 if a > 2: print("H") else: print("L")
Напечатает: L
Условие такого вида можно записать в строчку, в таком случае оно будет представлять собой тернарное выражение.
a = 17 b = True if a > 10 else False print(b)
В результате выполнения такого кода будет напечатано: True
3. Конструкция if – elif – elseДля реализации выбора из нескольких альтернатив можно использовать конструкцию if – elif – else.
if выражение_1: инструкции_(блок_1) elif выражение_2: инструкции_(блок_2) elif выражение_3: инструкции_(блок_3) else: инструкции_(блок_4)
Пример.
a = int(input("введите число:")) if a < 0: print("Neg") elif a == 0: print("Zero") else: print("Pos")
Если пользователь введет число меньше нуля, то будет напечатано “Neg“, равное нулю – “Zero“, большее нуля – “Pos“.
Оператор цикла whileОператор цикла while выполняет указанный набор инструкций до тех пор, пока условие цикла истинно. Истинность условия определяется также как и в операторе
while выражение: инструкция_1 инструкция_2 ... инструкция_n
Выполняемый набор инструкций называется телом цикла.
Пример.
a = 0 while a < 7: print("A") a += 1
Буква “А” будет выведена семь раз в столбик.
Пример бесконечного цикла.
a = 0 while a == 0: print("A")
Операторы
break и continueПри работе с циклами используются операторы break и continue.
Оператор break предназначен для досрочного прерывания работы цикла while.
Пример.
a = 0 while a >= 0: if a == 7: break a += 1 print("A")
В приведенном выше коде, выход из цикла произойдет при достижении переменной a значения 7. Если бы не было этого условия, то цикл выполнялся бы бесконечно.
Оператор continue запускает цикл заново, при этом код, расположенный после данного оператора, не выполняется.
Пример.
a = -1 while a < 10: a += 1 if a >= 7: continue print("A")
При запуске данного кода символ “А” будет напечатан 7 раз, несмотря на то, что всего будет выполнено 11 проходов цикла.
Оператор цикла forОператор for выполняет указанный набор инструкций заданное количество раз, которое определяется количеством элементов в наборе.
Пример.
for i in range(5): print("Hello")
В результате “Hello” будет выведено пять раз.
Внутри тела цикла можно использовать операторы
Если у вас есть заданный список, и вы хотите выполнить над каждым элементом определенную операцию (возвести в квадрат и напечатать получившееся число), то с помощью for такая задача решается так.
lst = [1, 3, 5, 7, 9] for i in lst: print(i ** 2)
Также можно пройти по всем буквам в строке.
word_str = "Hello, world!" for l in word_str: print(l)
Строка “Hello, world!” будет напечатана в столбик.
На этом закончим краткий обзор операторов ветвления и цикла.
P.S.Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
<<< Python. Урок 4. Арифметические операции Python. Урок 6. Работа с IPython и Jupyter Notebook >>>
ГИЛЬБЕРТОВО ПРОСТРАНСТВО | это… Что такое ГИЛЬБЕРТОВО ПРОСТРАНСТВО?
векторное пространство Н над полем комплексных (или действительных) чисел вместе с комплексной (действительной) функцией ( х, у), определенной на и обладающей следующими свойствами.
то существует такой элемент , что
элемент хназ. пределом последовательности ;
7) Н — бесконечномерное векторное пространство.
Функция , удовлетворяющая аксиомам 1) — 5), наз. скалярным произведением, или внутренним произведением, элементов хи у. Величина наз. нормой (или дли но и) элемента . Имеет место неравенство . Если ввести в Нрасстояние между элементами при помощи равенства то Нпревращается в метрическое пространство.
Два Г. п. наз. изоморфными (или изометрически изоморфным и), если существует взаимно однозначное соответствие , между , сохраняющее линейные операции и скалярное произведение.
Г. п. составляют наиболее распространенный и важный для приложений класс бесконечномерных векторных пространств. Они представляют собой естественное обобщение понятия конечномерного векторного пространства со скалярным произведением (т. е. конечномерного евклидова пространства, или конечномерного унитарного пространства).
Иногда в определение Г. п. не включается условие бесконечномерности, т. е. предгильбертовым пространством наз. векторное пространство над полем комплексных (или действительных) чисел со скалярным произведением, а Г. п. наз. полное предгильбертово пространство.
Примеры Г. п. 1) Комплексное пространство (или l 2). Элементами этого Г. п. являются бесконечные последовательности комплексных чисел со сходящейся суммой квадратов модулей:
скалярное произведение определяется равенством
2) Пространство (обобщение примера 1)). Пусть Т — произвольное множество. Элементами Г. п. являются комплекснозначные функции х(t).на Т, отличные от нуля не более чем в счетном множестве точек и такие, что ряд
сходится. Скалярное произведение определяется равенством
Всякое Г. п. изоморфно пространству для нек-рого соответствующим образом подобранного Т.
3) Пространство (или ) комплекснозначных функций , определенных на множестве Sс вполне аддитивной положительной мерой (заданной на -алгебре -подмножеств множества ),
В этом Г. п. скалярное произведение определяется равенством
4) Соболева пространство , обозначаемое также (см. Вложения теоремы).
5) Г. п. функций со значениями в Г. п Пусть Н- нек-рое Г. п. со скалярным произведением (x, у), . Пусть, далее, — произвольная область в , а , — функция се значениями в Н, измеримая в смысле Бохнера (см. Бохнера интеграл).и такая, что
где dx— мера Лебега на (вместо меры Лебега можно взять любую другую положительную счетно аддитивную меру). Если на этом множестве функций определить скалярное произведение
то получится новое Г. п. H1.
6) Множество непрерывных Бора почти периодических функций на прямой образует предгильбертово пространство, если скалярное произведение определяется равенством
Существование предела вытекает из теории почти периодич. функций. Это пространство пополняется Безиковича почти периодическими функциями класса В 2.
Пространства l2 и L2 были введены и изучены Д. Гильбертом [1] в основополагающих работах по теории интегральных уравнений и бесконечных квадратичных форм. Определение Г. п. было дано Дж. Нейманом [3], Ф. Риссом [4] п М. Стоуном [13], к-рые положили также начало его систематич. изучению.
Г. п. является естественным обобщением обычного трехмерного пространства евклидовой геометрии, и многие геометрич. понятия имеют интерпретацию в Г. п., что позволяет говорить огеометрии Г. п. Два вектора х, уиз Г. п. Нназ. ортогональными , если Два линейных многообразия из Я наз. ортогональными , если каждый элемент из ортогонален каждому элементу из .Ортогональным дополнением множества называется множество т. е. множество элементов , ортогональных ко всем элементам из
При этом теорема справедлива также в случае, если Я есть предгильбертово пространство, а — замкнутое линейное многообразие в . В связи с этим уместно отметить, что нек-рые другие утверждения теории Г. п. справедливы полностью или частично и в предгильбертовых пространствах. Однако практически это обстоятельство не очень существенно, ибо встречающиеся в приложениях пространства либо полны, либо известно, как их пополнить.
Множество наз. ортонормиро ванным множеством, или ортонормпрованной системой, если любые различные два вектора из Аортогональны и если норма каждого вектора равна единице.
Ортонормированное множество наз. полным ортонормировании м множеством, если не существует ненулевого вектора из H, ортогонального ко всем векторам этого множества. Если — ортонормированная последовательность, а — последовательность скаляров, то ряд сходится в том и только в том случае, когда
при этом
(теорема Пифагора в Г. п.).
Пусть А — ортонормированное множество в Г. п. Н, а х — произвольный вектор из Н. Тогда для всех , за исключением конечного или счетного множества векторов. Ряд
Сходится, и его сумма не зависит от порядка расположения его ненулевых членов. Оператор Рявляется оператором ортогонального проектирования, или проектором, на замкнутое линейное многообразие, порождаемое множеством А. Множество наз. ортонормирован-ным базисом линейного многообразия , если Асодержится в и если для любого имеет место
т. е. любой вектор разлагается по системе А, или может быть представлен при помощи векторов системы .4. Набор чисел наз. набором коэффициентовФурье элемента хпо базису А. Каждое подпространство Г. п. Н(в частности, само Н).имеет ортонормированный базис.
В ортонормированным базисом является набор функций , определяемых формулой при при . В пространстве разложение вектора по базису принимает вид разложения функции по системе ортогональных функций — важный метод решения задач математич. физики.
Для ортонормпрованного множества следующие утверждения эквивалентны: Аполно; Аявляется ортонормированным базисом для Н; для любого .
Все ортонормированные базисы данного Г. п. имеют одну и ту же мощность. Этот факт позволяет определить размерность Г. п. Именно, размерностью Г. п. наз. мощность произвольного ортонормированного базиса в нем. Иногда эта размерность наз. гильбертовой размерностью (в отличие от линейной размерности Г. п., т. е. мощности базиса Гамеля (Хамеля) — понятия, не учитывающего топологич. структуру Г. п.). Два Г. п. изоморфны в том и только в том случае, когда они имеют одну и ту же размерность. С понятием размерности связано понятие дефекта, или коразмерности, подпространства. Именно, дефектом подпространства Г. п. Нназ. размерность ортогонального дополнения Подпространство, дефект к-рого равен 1, т. е. ортогональное дополнение к-рого одномерно, называется гиперпространством. Параллельное ему плоское множество называется гиперплоскостью.
Некоторые из геометрич. понятий требуют использования терминологии линейных операторов в Г. п.; к ним относится, в частности, понятие раствора линейных многообразий. Раствором многообразий и в Г. п. Н наз. норма разности операторов, проектирующих Нна замыкание этих линейных многообразий.
Простейшие свойства раствора:
причем в случае строгого неравенства .
Во многих задачах, относящихся к Г. п., участвуют лишь конечные наборы векторов Г. п., т. е. элементы конечных линейных многообразий Г. п. Поэтому понятия и методы линейной алгебры играют в теории Г. п. большую роль. Векторы в Г. п. наз. линейно независимыми, если равенство
где — скаляры, возможно лишь в том случае, когда все равны нулю. Для линейной независимости векторов необходимо и достаточно, чтобы их Грама определитель был отличен от нуля. Счетная последовательность векторов наз. линейно независимой последовательностью, если линейно независима каждая ее конечная часть. Каждая линейно независимая последовательность может быть ортогонализирована, т. е. может быть построена такая ортонормированная система что для каждого п линейные оболочки множеств и совпадают. Это построение наз. процессом ортогонализации (ортонорма-лизации) Грама — Шмидта и осуществляется следующим образом:
В множестве Г. п. определены операции прямой суммы и тензорного произведения Г. п. Прямой суммой Г. п. где каждое обладает соответствующим скалярным произведением, наз. Г. п.
определяемое следующим образом: в векторном пространстве — прямой сумме векторных пространств — задается скалярное произведение равенством
При элементы из и в прямой сумме
взаимно ортогональны, и проектирование на совпадает с ортогональным проектированием на Понятие прямой суммы Г. п. обобщается на случай бесконечного множества прямых слагаемых. Пусть для каждого v из нек-рого множества Аиндексов задано Г. п. . Прямой суммой Г. п. наз. (и обозначается ) совокупность Нвсех определенных на Афункций , обладающих тем свойством, что для каждого , и
.
При этом в Нлинейные операции определяются равенством
и скалярное произведение — равенством
При таком способе введения линейных операций и скалярного произведения прямая сумма
становится Г. п.
Другой важной операцией в множестве Г. п. является тензорное произведение. Тензорным произведением Г. п. наз. Г. п., определяемое следующим образом. Пусть — тензорное произведение векторных пространств В векторном пространстве существует единственное скалярное произведение такое, что
для всех Векторное пространство становится, таким образом, предгильбертовым пространством, пополнение к-рого есть Г. п., обозначаемое пли и наз. тензорным произведен и ем Г. п..
Г. п. образуют важный класс банаховых пространств:любое Г. и. Hесть банахово пространство относительно нормы причем для любых двух векторов имеет место равенство параллелограмма:
Равенство параллелограмма выделяет класс Г. и. среди банаховых пространств, т. е. если в действитель-яия нормированном пространстве Бдля любой пары элементов л-,. имеет место равенство параллелограмма, то функция
удовлетворяет аксиомам скалярного произведения и тем самым превращает Вв предгильбертово пространство (а если В- банахово, то — в Г. п.). Из равенства параллелограмма следует, что Г. п. есть равномерно выпуклое пространство. Как в любом банаховом пространстве, в Г. п. можно определить две топологии — сильную (нормированную) и слабую. Эти топологии различны, но Г. п. сепарабельно в сильной топологии тогда и только тогда, когда оно сепарабельно в слабой топологии; выпуклое множество (в частности, линейное многообразие) в Г. п. сильно замкнуто тогда и только тогда, когда оно слабо замкнуто.
Как и в теории общих банаховых пространств, в теории Г. п. важную роль играет понятие сепарабельности. Г. п. сепарабельно тогда и только тогда, когда оно имеет счетную размерность. Г. п. и сепара-бельны. Г. п. сепарабельно тогда и только тогда, когда Тне более чем счетно; Г. п. сепарабельно, если мера имеет счетный базис. Г. п. не сепарабельно.
Любой ортонормированный базис в сепарабельном Г. п. Нявляется одновременно безусловным базисом Шаудера в H, рассматриваемом как банахово пространство. Однако в сепарабельных Г. п. существуют и не ортогональные базисы Шаудера. Так, справедлива теорема (см. [7]): пусть — полная система векторов в Г. п. Ни пусть и — наименьшее и наибольшее собственные значения Грама матрицы,
Если
то 1) последовательность есть базис в ; 2) существует биортогональная к последовательность , к-рая также является базисом в Н. Как и в любом банаховом пространстве, описание множества линейных функционалов на Г. п. и исследование свойств этих функционалов имеет большое значение. Линейные функционалы в Г. п. устроены особенно просто. Всякий линейный функционал fв Г. п. Я однозначно записывается в виде для всех , где ; при этом . Пространство линейных функционалов f на H, сопряженное к H, изометрически антинзоморфно H (т. е. соответствие изометрнчно, аддитивно н антиоднородно:). В частности, Г. п. рефлексивно; поэтому справедливы следующие утверждения: Г. п. слабо секвенциально полно; для того чтобы подмножество Г. п. было относительно слабо компактным, необходимо и достаточно, чтобы оно было ограниченным.
Основным содержанием теории Г. н. является теория линейных операторов в Г. п. Само понятие Г. п. сформировалось в работах Д. Гильберта [2] и Э. Шмидта [14] по теории интегральных уравнений, а абстрактное определение Г. п. было дано в работах Дж. Неймана [3], Ф. Рисса [4] и М. Стоуна [13] по теории эрмитовых операторов. Теория операторов в Г. п. представляет особый важный раздел общей теории операторов но двум причинам.
Во-первых, теория самосопряженных и унитарных операторов в Г. п. является не только самой разработанной частью общей теории линейных операторов, но и имеющей исключительно широкие приложения в других областях функционального анализа и в ряде других разделов математики и физики. Теория линейных операторов в Г. п. позволяет рассмотреть многие задачи математич. физики с единой общей точки зрения; прежде всего — вопросы, относящиеся к собственным значениям и собственным функциям. Кроме того, теория самосопряженных операторов в Г. п. служит математич. аппаратом квантовой механики: при описании квантовомеханич. системы наблюдаемые (энергия, импульс, координаты и т. п.) интерпретируются как самосопряженные операторы в нек-ром Г. п., а состояние системы задается элементом этого Г. п. В свою очередь, задачи квантовой механики до настоящего времени оказывают влияние на развитие теории самосопряженных операторов, а также теории алгебр операторов в Г. п.
Во-вторых, интенсивно развивающаяся теория несамосопряженных операторов в Г. п. (в частности, циклических, нильпотентных, одноклеточных, сжимающих, спектральных и скалярных операторов) является важной моделью теории линейных операторов в более общих пространствах.
Важный класс линейных операторов в Г. п. образуют всюду определенные непрерывные операторы, наз. также ограниченными операторами в Г. п. Если ввести в множестве всех ограниченных линейных операторов в H операции сложения, умножения на число и умножения операторов, а также норму оператора, по обычным правилам (см. Линейные операторы).и определить инволюцию в как переход к сопряженному оператору, то становится банаховой алгеброй с инволюцией. Важнейшими классами ограниченных операторов в Г. п. являются самосопряженные операторы, унитарные операторы и нормальные операторы, так как они обладают специальными свойствами по отношению к скалярному произведению. Эти классы операторов хорошо изучены; основным инструментом в их изучении являются простейшие из ограниченных самосопряженных операторов, а именно: операторы ортогонального проектирования, или ортогональные проекторы, часто называемые просто проекторами. Способ, позволяющий строить любые ограниченные самосопряженные, унитарные и нормальные операторы в комплексном Г. п. с помощью проекторов, дается спектральным разложением соответствующих операторов, особенно простым в случае сепарабельного Г. п.
Более сложным разделом теории линейных операторов в Г. п. является теория неограниченных операторов. Важнейшими неограниченными операторами в Г. н. являются замкнутые линейные операторы с плотной областью определения; в частности, неограниченные самосопряженные и нормальные операторы. Между самосопряженными и унитарными операторами в Г. п. существует взаимно однозначное соответствие, определяемое Кэли преобразованием. Большое значение имеет (в частности, в теории линейных дифференциальных операторов) класс симметричных операторов в Г. п. и теория самосопряженных расширений симметричных операторов.
Неограниченные самосопряженные и нормальные операторы в комплексном Г. и. H также допускают спектральное разложение. Спектральное разложение является большим достижением теории самосопряженных и нормальных операторов в Г. п. Оно соответствует классич. теории приведения эрмитовых и нормальных комплексных матриц в n-мерном унитарном пространстве. Именно спектральное разложение и связанное с ним операторное исчисление для самосопряженных и нормальных операторов обеспечивают теории операторов в Г. п. широкую область применения во многих разделах математики.
Для ограниченных самосопряженных операторов в спектральное разложение было найдено Д. Гильбертом [1], к-рый также ввел важное понятие разложения единицы для самосопряженного оператора. В современный период известно несколько подходов к спектральной теории самосопряженных и нормальных операторов. Один из наиболее глубоких дает теория банаховых алгебр. Спектральное разложение для неограниченного самосопряженного оператора было найдено Дж. Нейманом [3]. Его работе предшествовали важные исследования Т. Карлемана [8], к-рый получил спектральное разложение для случая симметрического интегрального оператора, а также впервые обнаружил, что между симметрическими ограниченными и неограниченными операторами полной аналогии нет. На важность понятия самосопряженного оператора впервые обратил внимание Э. Шмидт (см. [3], с. 62).
Следует отметить, что как для исследований Д. Гильберта, так и для более поздних исследований большое значение имели работы П. Л. Чебышева, А. А. Маркова, Т. И. Стилтьеса по классической моментов проблеме, Якоби матрицам и непрерывным дробям (см. [9]).
Лит.:[1] Нilbеrt D., Grundziige einer allgemeincn Theorie der linearen Integralgleichungen, Lpz.- В., 1912; N. Y., 1953; [2] Вesiсоvitсh A. S., Almost periodic functions, Camb., 1932; [3] vоn Neumann J., «Math. Ann.», 1929, Bd 102, S. 49-131; [4] Riesz P., «Acta Sci. Math. Szeged», 1930, v. 5, № 1, p. 23-54; [5] Дьедонне Ж., Основы современного анализа, пер. с англ., М., 1964; [6] Бурбаки Н., Топологические векторные пространства, пер. с франц., М., 1959; [7] Ахиезер Н. И., Глазман И. М., Теория линейных операторов в гильбертовом пространстве, 2 изд., М., 1966; [8] Саrlеmаn Т., Sur les equations integrates singulieres a noyau reel et symetrique, Uppsala, 1923; [9] Axиезер Н. И., Классическая проблема моментов и некоторые вопросы анализа, связанные с нею, М., 1961; [10] Данфорд Н., Шварц Д ж., Линейные операторы, пер. с англ., М., 1962; [11] Рисе Ф., Секефальви-Надь Б., Лекции по функциональному анализу, пер. с франц., М., 1954; [12] Наймарк М. А., Линейные дифференциальные операторы, 2 изд., М., 1969; [13] Stone M., Linear transformation in Hilbert space and their applications to analisis, N. Y., 1932; [14] Колмогоров А. Н., Фомин С. В., Элементы теории функций и функционального анализа, 3 изд., М., 1972.
Б. М. Левитан.
Математическая энциклопедия. — М.: Советская энциклопедия. И. М. Виноградов. 1977—1985.
Руководство для начинающих по логическим операторам поиска
Логические поисковые термины — это один из важнейших инструментов, которыми располагает рекрутер. Понимая, как использовать логические условия поиска, рекрутеры могут более эффективно находить кандидатов, которые хорошо подходят для должности, которую они пытаются заполнить. Кроме того, для поиска кандидатов, которые невозможно найти с помощью традиционных методов поиска, можно использовать логические условия поиска. В результате логические поисковые термины должны быть неотъемлемой частью любой программы обучения найма. Вооружая рекрутеров навыками, необходимыми им для использования логических условий поиска, интервьюеры могут гарантировать, что они смогут найти лучших кандидатов на работу.
Логический поиск основан на работе выдающегося британского математика Джорджа Буля. Его наследием была булевская логика, теория математики, в которой все переменные либо «истинны», либо «ложны», либо «включены» или «выключены». Эта логика по сей день лежит в основе всех цифровых устройств, присутствуя почти в каждой строке компьютерного кода.
Написание логического поиска — это навык, которым должны владеть лучшие рекрутеры, чтобы получать значимые результаты поиска кандидатов из широкого спектра программного обеспечения, включая LinkedIn, различные порталы по трудоустройству и Google. Однако полностью сконструированные логические строки поиска могут выглядеть запутанными и сложными, а также могут показаться трудными для написания. Но никогда не бойся! Мы здесь, чтобы научить вас некоторым приемам торговли.
Что такое логический поиск?
Логический поиск использует комбинацию ключевых слов и трех основных логических операторов (И, ИЛИ и НЕ) для организации и просеивания результатов поиска. Это дает более точные и релевантные результаты, позволяя вам перемещаться по подходящим кандидатам, игнорируя при этом несвязанные.
Первая важная вещь, которую нужно оценить в Boolean, это то, что нужно понять только пять элементов синтаксиса. Это:
И
ИЛИ
НЕ
()
«»
Применяя эти поисковые операции, которые вы можете выбрать, наряду с ключевыми словами, которые вы можете создать. Нет ограничений на то, как часто вы можете использовать любой из этих элементов в поиске, поэтому вы можете создавать очень конкретные строки поиска, что сэкономит вам много времени при фильтрации результатов.
Оператор И
Возьмите эти две группы. В первую группу входят все люди, у которых где-то в профиле LinkedIn есть ключевое слово «набор», а во второй — все те, у кого есть ключевое слово «HR». Но давайте посмотрим, что происходит, когда мы используем следующую логическую строку:
Подбор персонала И HR
Теперь мы запрашиваем в базе данных LinkedIn поиск всех людей, которые включают в свой профиль LinkedIn слово «Набор» и слово «HR». Мы отфильтровали лишнее и остались с более конкретными кандидатами, которые попадают в поперечное сечение диаграммы Венна.
Чем больше критериев мы добавим с помощью оператора И, тем меньше людей мы найдем при нашем поиске. Звучит как оксюморон, но сужая область поиска с помощью этого метода, мы находим людей, наиболее подходящих для этой должности.
Оператор операционнойВ этом примере одна группа людей имеет ключевое слово «Вербовка» в своем профиле LinkedIn, а другая — ключевое слово «Вербовка». Оба слова означают одно и то же с точки зрения набора навыков, но для электронной базы данных это совершенно разные термины. Давайте используем следующую логическую строку, чтобы исправить это:
Recruitment OR Recruiting
Теперь мы просим базу данных искать кандидатов, которые включают в свой профиль LinkedIn одно из двух условий или оба условия одновременно. Это гарантирует, что потенциальный правильный кандидат не упадет в сети из-за семантики!
Использование оператора ИЛИ расширяет поиск, чтобы охватить всю диаграмму Венна. Это позволяет нам находить скрытые таланты, например. люди, которые выразили свои навыки и опыт иначе, чем вы обычно ищете, например. банковское дело ИЛИ банк ИЛИ финансы ИЛИ финансовый.
Оператор НЕСледующий пример поможет вам сузить результаты поиска, исключив нежелательные критерии. Давайте снова возьмем первые элементы, используемые снова с ключевыми словами «Вербовка» и «HR» в профиле LinkedIn, и используем следующую логическую строку:
Подбор персонала НЕ HR
Мы просим базу данных искать кандидатов, у которых в профиле есть слово «Подбор», но исключать тех, в профиле которых также есть слово «HR», и тех, у кого просто есть слово «HR» в своем профиле. Это означает, что мы ищем кандидатов, которые попадают только в левую часть диаграммы Венна:
Использование НЕ позволяет нам удалять ложные срабатывания из наших поисков кандидатов, удаляя нерелевантные результаты.
ПОМНИТЕ : Каждый из трех вышеперечисленных логических операторов всегда должен быть написан в ЗАГЛАВНОМ РЕГИСТРЕ. Если нет, то они не будут работать.
Скобки ()
При использовании логического поиска невозможно определить, как компьютер решит наше уравнение. Это означает, что для получения наиболее релевантного для нас результата мы должны использовать круглые скобки, чтобы указать компьютеру, что решать в первую очередь. Здесь в игру вступает использование скобок.
Скобки необходимы для написания сложных поисковых строк, но их применение часто вызывает наибольшее замешательство у рекрутеров. По сути, пункт в скобках имеет приоритет над другими
элементов вокруг него. Например, если мне дали следующий запрос:
талант ИЛИ HR И набор
Я хочу сказать, что хочу найти кого-то, у кого в профиле есть ключевое слово «талант» или ключевое слово «HR», а слово «вербовка» тоже есть? Или я имею в виду, что они должны иметь «талант» или сочетание «HR» и «вербовки»? Видите ли, отсутствие скобок не позволяет базе данных понять, что вы имеете в виду. Посмотрите, как все изменится, когда вы добавите скобки.
В следующем примере я сообщил базе данных, что мне нужно найти кого-то, у кого есть либо «талант», либо «HR», либо и то, и другое, и что им также необходимо «вербовать»:
(талант ИЛИ hr) И набор
Но в следующем примере я сказал базе данных, что мне нужно найти кого-то, у кого есть «талант» или комбинация «набора» и «HR»:
талант ИЛИ (час И набор)
Рекрутеры чаще всего применяют скобки при использовании строк ИЛИ. По сути, если вы написали ИЛИ где-то в своем поиске, подумайте, куда пойдут скобки, потому что их 9Размещение 0097 повлияет на то, как компьютер решает ваш логический поисковый запрос, что повлияет на результаты поиска, которые вы получите в ответ.
Цитаты «»
Использование цитат позволяет еще больше конкретизировать. Если ключевые слова, которые вы ищете, необходимо рассматривать как единое целое (например, инженер-газовик), то они должны быть заключены в кавычки в строке поиска. В противном случае база данных будет рассматривать пробел между двумя словами как И, что приведет к расширению поиска, охватывающему оба слова (газ И инженер). Не идеально!
Используйте кавычки всякий раз, когда в поисковом запросе есть два или более слова, которые должны оставаться вместе, например, «Кадры» или «Информационные технологии». Цитаты, по сути, определяют ряд слов как один точный термин, что позволяет вам более точно определить.
Сегодня мы рассказали о хлебе с маслом булевых операторов! Мы надеемся, что это помогло вам лучше понять основы логического поиска и сделало его менее сложным в будущем. Есть, конечно, несколько других логических модификаторов, которые вы можете использовать для дальнейшего уточнения и улучшения ваших логических поисков, а также множество других правил использования логических значений в различных других поисковых системах и базах данных, помимо LinkedIn.
Чтобы получить полное и всестороннее руководство по освоению искусства логического поиска, ознакомьтесь с нашим специальным курсом по подбору персонала на SocialTalent.
Почему бы не заказать демонстрацию сегодня?10 Операторы командной строки Linux и что они делают
Операторы цепочки команд — это специальные символы, используемые для написания миниатюрных сценариев оболочки в командной строке. Обычно они используются для выполнения команд в определенной последовательности, определяемой размещением операторов между командами. Это невероятно полезно при автоматизации задач.
Давайте узнаем о нескольких общих операторах цепочки в Linux, которые могут помочь вам выполнять задачи быстрее и с меньшими интервалами между пользователями.
1. Оператор амперсанда (&)
Часто, когда вы открываете программу или выполняете команду из оболочки, вам нужно либо дождаться завершения команды, либо вручную выйти из программы, прежде чем вы сможете продолжить работу с оболочкой. Здесь в игру вступает оператор амперсанда (&).
Добавляя оператор амперсанда к любой команде, вы указываете оболочке выполнять эту команду Linux в фоновом режиме, чтобы вы могли продолжать использовать оболочку без привязки.
gedit &
Обычно, если вы запускаете gedit из терминала, вы не сможете использовать терминал, пока не закроете текстовый редактор. Но, добавив оператор амперсанда, вы можете заставить его работать в фоновом режиме и сразу же продолжать использовать оболочку.
2. Оператор точки с запятой (;)
Оператор точки с запятой — невероятно полезный оператор цепочки Linux, который можно использовать для выполнения команд в определенном последовательном порядке. Упорядочите свои команды и разделите их точкой с запятой.
пароль ; тест мкдир ; компакт-диск тест; touch file
Приведенный выше синтаксис заставляет оболочку выполнять каждую команду одну за другой. Обратите внимание, что оболочка не проверяет успешное завершение каждой команды. Как только оболочка получает код возврата, она переходит к выполнению следующей команды.
3. Оператор ИЛИ (||)
Оператор ИЛИ выполнит последующую команду только в том случае, если предыдущая команда не удалась, т. е. возвращает код выхода 0. Он работает как логический элемент ИЛИ, который возвращает значение 1, когда на входе 0,
плохая_команда || ls
В синтаксисе этого примера bad_command — это ложная команда, которая не сможет быть выполнена, и, поскольку она не удалась, команда, следующая за оператором ИЛИ, то есть командой ls, будет выполнена успешно.
4. Оператор канала (|)
Оператор канала направляет вывод предыдущей команды в качестве ввода для последующей команды. Чаще всего он используется для фильтрации данных с помощью команды grep.
кошачий тест | grep -i "использовать"
Эта команда отправляет выходные данные команды cat в качестве входных данных для команды grep, которая затем фильтрует выходные данные по указанной строке.
5. Оператор И (&&)
Этот оператор работает так же, как и оператор точки с запятой, за исключением того, что, в отличие от оператора точки с запятой, оператор И будет выполнять команды только в том случае, если предыдущая команда была успешно выполнена.
pwd && mkdir test && cd test && bad_command && ls
В синтаксисе этого примера оболочка успешно выполнит все команды до bad_command . Однако, поскольку bad_command не запускается, оболочка вернет ошибку и пропустит команду ls.
6. Оператор NOT (!)
Оператор NOT работает аналогично оператору exclude в программировании. Например, если вы хотите выполнить операцию с большим количеством файлов в каталоге, но хотите исключить некоторые из них на основе какого-либо параметра, вы можете использовать оператор НЕ, передав параметр после символа НЕ (!).
rm -r !(*.txt)
Этот пример команды рекурсивно удалит все файлы в каталоге, за исключением файлов с расширением « .txt «.
7. Оператор приоритета ((..))
Команды, следующие за операторами И и ИЛИ, зависят от кода выхода предыдущей команды. Эти операторы являются бинарными и оценивают только две команды, которые идут до и после них.
Поэтому при работе с несколькими операторами важно установить группы и приоритет, чтобы последовательность выполнения соответствовала вашим ожиданиям.
(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || echo "Тест приоритета!"
В этом образце синтаксиса обе группы команд должны возвращать код выхода 0, чтобы гарантировать успешное выполнение последней команды. В этом примере требуется, чтобы обе команды в первом наборе () завершались с 0 для запуска второго набора ().
8. Оператор комбинации ({..})
Как следует из названия, оператор комбинации используется для группировки команд. Какие бы команды вы ни хотели сгруппировать, вы можете поместить их в фигурные скобки, и они будут выполняться в зависимости от кода выхода первой команды.
тест -f /etc/passwd && {pwd ; дата} && эхо $0 ; echo "Hello"
Пример синтаксиса проверяет наличие файла /etc/passwd, печатает текущий рабочий каталог, дату, имя оболочки и выводит «Hello».
9. Конкатенация или оператор побега (\)
Оператор конкатенации или побега имеет две функции. Вы можете использовать его либо для объединения двух команд, либо в качестве escape-символа при работе со строками в оболочке.
mkdir test0 test1 \ test2
echo "Привет! с\другой стороны"
Первая команда создаст четыре каталога с именами от test0 до test2, а вторая команда напечатает строку, разделенную новой строкой.
10. Операторы перенаправления (>, >>,
<)Операторы перенаправления перенаправляют вывод или ввод в файл либо путем перезаписи файла, либо путем добавления к нему. Если вы хотите перезаписать файл, вам нужно использовать синтаксис одинарной угловой скобки (>). Если вы хотите добавить в файл, вам придется использовать синтаксис двойной угловой скобки (>>).
эхо "DSD" > тест ; echo "bssss" >> test
В примере синтаксиса первая команда перезаписывает файл «test» предоставленной строкой, но во второй команде предоставленная строка будет добавлена к тестовому файлу.
Ускорьте рабочий процесс терминала Linux
Хотя использование специальных операторов значительно упростит выполнение задач, существует множество других способов ускорить рабочий процесс.