Архив метки: Python

Как добавить аргументы командной строки в скрипт Python

Если вы разработали сценарий Python или приложение, предназначенное для запуска в основном в эмуляторах терминала или даже в приложениях с графическим интерфейсом пользователя, добавление аргументов командной строки может улучшить его удобство использования, читаемость кода, структуру приложения и общее удобство использования приложения для конечных пользователей. Эти аргументы командной строки также называются «параметрами» или «переключателями» и работают аналогично аргументам, которые вы обычно видите в сценариях bash и других программах на C/C ++.

Чтобы добавить аргументы в сценарии Python, вам нужно будет использовать встроенный модуль с именем «argparse». Как следует из названия, он анализирует аргументы командной строки, используемые при запуске скрипта или приложения Python. Эти проанализированные аргументы также проверяются модулем «argparse», чтобы убедиться, что они имеют правильный «тип». Ошибки возникают, если в аргументах есть недопустимые значения.

Использование модуля argparse можно лучше понять на примерах. Ниже приведены несколько примеров кода, которые помогут вам начать работу с модулем argparse.

 

Пример 1: Создание аргумента и сообщения справки

Рассмотрим пример кода ниже:

import argparse



parser = argparse.ArgumentParser(description='A test program.')



args = parser.parse_args()

 

Первый оператор импортирует модуль «argparse». Затем создается новый экземпляр объекта «ArgumentParser», и в качестве аргумента предоставляется краткое описание программы. Объект ArgumentParser необходим для преобразования значений аргументов командной строки в типы данных, понятные Python. Это выполняется методом parse_args объекта ArgumentParser, как показано в последнем операторе.

Предполагая, что вы сохранили пример кода, указанный выше, в файле с именем «test.py», выполнение приведенных ниже команд приведет к появлению справочных сообщений, связанных с программой.

$ ./test.py -h



$ ./test.py --help

 

Вы должны получить примерно такой результат:

usage: test.py [-h]



A test program.



optional arguments:



-h, --help show this help message and exit




 

Обратите внимание, что в упомянутый выше пример кода не добавлена ​​логика для обработки проанализированных аргументов и преобразования их в объекты. Следовательно, справочные сообщения для отдельных аргументов в выводе не отображаются. Как только вы добавите логику для обработки значений анализируемых аргументов в вашу программу, в справочных сообщениях начнется отображение описания отдельных аргументов.

 

Пример 2: Обработка строкового аргумента

Чтобы добавить аргументы, приемлемые для вашего скрипта python, вам необходимо использовать метод «add_argument». Взгляните на следующий код:

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument("print_string", help="Prints the supplied argument.")



args = parser.parse_args()



print(args.print_string)

 

Был добавлен новый оператор, показывающий использование метода «add_argument». Любой аргумент, добавленный при запуске скрипта, будет обрабатываться ArgumentParser как объект «print_string».

Обратите внимание, что по умолчанию метод add_argument обрабатывает значения, полученные из аргументов, как строки, поэтому вам не нужно явно указывать «тип» в этом случае. Значение по умолчанию «Нет» также присваивается добавленным аргументам, если оно не отменено.

Еще раз взгляните на справочное сообщение:

usage: test.py [-h] [print_string]



A test program.



positional arguments:



print_string Prints the supplied argument.



optional arguments:



-h, --help show this help message and exit




 

Одна из строк вывода говорит «позиционные аргументы». Поскольку ключевое слово для аргумента не определено, в настоящее время аргумент рассматривается как «позиционный аргумент», где порядок и позиция предоставленного аргумента имеют прямое влияние на программу. Позиционные аргументы также являются обязательными, если вы не измените их поведение вручную.

Чтобы определить и проанализировать необязательные аргументы, вы можете использовать «-» (двойное тире) и изменить их значения по умолчанию, используя аргумент «default».

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument("--print_string", help="Prints the supplied argument.", default=”A random string.”)



args = parser.parse_args()



print(args.print_string)

 

Теперь, когда вы запускаете скрипт test.py без аргументов, вы должны получить «случайную строку». как выход. Вы также можете дополнительно использовать ключевое слово «–print_string» для печати любой строки по вашему выбору.

$ ./test.py --print_string AndreyEx.ru

AndreyEx.ru

 

Обратите внимание, что вы можете сделать необязательный аргумент обязательным, используя дополнительный аргумент «required = True».

Наконец, вы также можете определить сокращенные версии аргумента, используя «-» (одиночное тире), чтобы уменьшить многословие.

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument(“-p”, "--print_string", help="Prints the supplied argument.", default=”A random string.”)



args = parser.parse_args()



print(args.print_string)

 

Выполнение следующей команды должно дать тот же результат, что и выше:

$ ./test.py -p AndreyEx.ru

Пример 3: Обработка целочисленного аргумента

Чтобы обрабатывать аргументы, которым требуются целочисленные значения, вам необходимо установить ключевое слово «type» на «int», чтобы разрешить проверку и выдавать ошибки в случае, если условие не выполняется.

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument("-p", "--print_string", help="Prints the supplied argument.", type=int)



args = parser.parse_args()



print(args.print_string)

 

Попробуйте выполнить следующую команду:

$ ./test.py -p AndreyEx.ru

 

Вы должны получить такую ошибку:

usage: test.py [-h] [-p PRINT_STRING]



test.py: error: argument -p/--print_string: invalid int value: 'AndreyEx.ru'




 

Предоставление целочисленного значения даст вам правильный результат:

$ ./test.py -p 1000

1000

Пример 4: Обработка переключателей True и False

Вы можете передавать аргументы без каких-либо значений, чтобы рассматривать их как флаги True и False, используя аргумент «action».

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument("-p", "--print_string", help="Prints the supplied argument.", action="store_true")



args = parser.parse_args()



print(args.print_string)

 

Выполните команду ниже, чтобы получить на выходе простое «Истина»:

$ ./test.py -p

 

Если вы запустите сценарий без аргумента «-p», вместо него будет присвоено значение «Ложь». Значение «store_true» ключевого слова «action» присваивает значение «True» переменной «print_string» всякий раз, когда аргумент «-p» явно указан, в противном случае переменной присваивается значение «False».

 

Пример 5. Обработка значений аргументов как списка

Если вы хотите получить сразу несколько значений и сохранить их в списке, вам необходимо указать ключевое слово nargs в следующем формате:

import argparse



parser = argparse.ArgumentParser(description='A test program.')



parser.add_argument("-p", "--print_string", help="Prints the supplied argument.", nargs='*')



args = parser.parse_args()



print(args.print_string)

 

Выполните следующую команду, чтобы проверить приведенный выше код:

$ ./test.py -p “a” “b”

 

Вы должны получить примерно такой результат:

['a', 'b']

Вывод

Модуль «argparse» довольно обширен с множеством опций для настройки поведения приложений командной строки и анализа значений, вводимых пользователем. Эти примеры касаются только базового использования модуля «argparse». Для сложных и сложных приложений вам могут потребоваться разные реализации.



2020-12-03T12:55:23
Python

Как перенаправить в PHP

URL-адрес браузера пользователя можно изменить с одного места на другое с помощью перенаправления. Перенаправление требуется для многих целей, таких как переключение с HTTP на HTTPS, изменение домена и т. д. Когда пользователь отправляет запрос на страницу на сервер, который не существует, или на местоположение страницы, которое изменилось, сервер будет отправьте информацию о новом URL с кодом HTTP 301 или 302. Это поможет пользователю узнать о новом URL-адресе путем перенаправления, и пользователь отправит запрос в новое место, чтобы получить желаемый контент. URL-адрес перенаправляется в PHP с помощью функции header(). В этой статьи показано, как функцию header() можно использовать в PHP для перенаправления URL-адреса с одной страницы на другую.

 

Функция header()

Это встроенная функция PHP для отправки клиенту необработанного HTTP-заголовка. Синтаксис этой функции показан ниже.

Синтаксис:

header( $header, [$replace, [$http_response_code]] )

 

Эта функция может принимать три аргумента. Первый аргумент является обязательным, а последние два аргумента — необязательными. $header используется для хранения строки заголовка, который содержит расположение перенаправления. $replace определяет, будет ли заменить предыдущий похожий заголовок и значение этого аргумента Boolean. $http_response_code используется для хранения определенного кода ответа, который будет отправлять пользователь.

 

Пример-1: URL-адрес перенаправления с кодом состояния по умолчанию

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Когда функция header() используется с одним аргументом, 302 используется в качестве кода HTTP по умолчанию.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html");

die();



?>


 

Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния по умолчанию будет отображаться 302.

 

Пример-2: URL перенаправления навсегда

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Здесь функция header() используется с тремя аргументами. TRUE, используется для второго аргумента и 301 используется для третьего аргумента. Код состояния 301 используется для постоянного перенаправления.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html",TRUE,301);

die();



?>

 

Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния отобразится 301, указывающий, что URL-адрес перемещен навсегда.

 

Пример-3: временный URL перенаправления

Создайте файл PHP со следующим кодом, который будет перенаправлять в новое место после ожидания в течение 2 секунд. Здесь функция die() используется для завершения скрипта. Здесь функция header() используется с тремя аргументами. TRUE, используется для второго аргумента и 307 используется для третьего аргумента. Код состояния 307 используется для временного перенаправления.

<?php



//Подождите 2 секунды

sleep(2);

//Перенаправление в конкретное место

header("Location: http://localhost/php/contactForm/index.html",TRUE,307);

die();



?>


Вывод:

После выполнения кода URL-адрес перенаправляется в адрес http: //localhost/php/contactForm/index.html через 2 секунды. Если вы проверите код и откроете вкладку «Сеть», то в качестве кода состояния отобразится 307, указывающий, что URL-адрес временно перенаправлен.

 

Пример-4: URL-адрес перенаправления на основе условия

Создайте файл PHP со следующим кодом, который будет перенаправлять URL-адрес на основе условного оператора. В сценарии создается HTML-форма для перенаправления URL-адреса на основе выбранного значения раскрывающегося списка. Здесь раскрывающийся список содержит три значения. Если в раскрывающемся списке выбрать Google, сценарий PHP перенаправит URL-адрес в адрес https://google.com с кодом состояния по умолчанию 302. Когда AndreyEx выбран в раскрывающемся списке, сценарий PHP перенаправит URL-адрес в расположение https://andreyex.ru с кодом состояния 301. Когда выбран WordPress из раскрывающегося списка, то скрипт PHP перенаправит URL-адрес в расположение https://andreyex.ru/blog-platforma-wordpress/ с кодом состояния 302.

<html>

<head>

<title>Пример заголовка</title>

</head>

<body>

<form method="post" action=#>

<select name="web">

<option>Google</option>

<option>AndreyEx</option>

<option>Wordpress</option>

</select>



<input type="submit" name="submit" value="Go" />

</html>

<?php



//Проверьте, нажата ли кнопка отправки или нет

if(isset($_POST["submit"]))

{

if($_POST['web'] == 'Google')

{

//Перенаправление в конкретное место

header("Location: https://google.com");

}

elseif($_POST['web'] == 'AndreyEx')

{

//Перенаправление в конкретное место

header("Location: https://andreyex.ru",TRUE,301);

}

else

{

//Перенаправление в конкретное место

header("Location: https://andreyex.ru/blog-platforma-wordpress/");

}

die();

}

?>


 

После выполнения кода в браузере появится следующий вывод, который отобразит раскрывающийся список с тремя значениями и кнопкой «Перейти». Код состояния сейчас 200. После перенаправления код статуса будет изменен.

Если Google выберет вариант из раскрывающегося списка, то после нажатия кнопки «Перейти» он перенаправит вас в адрес https://google.com, и появится следующее изображение. Здесь генерируется код состояния по умолчанию 302.

Если AndreyEx выберет из раскрывающегося списка, то после нажатия кнопки «Go» он будет перенаправлен в адрес https://andreyex.ru, и появится следующее изображение. Здесь генерируется постоянный код статуса 301.

 

Вывод:

Различные варианты использования функции PHP header() объясняются в этой статьи на нескольких примерах. Перенаправление может быть выполнено временно и постоянно на основе кода состояния, используемого в функции header(). Эта статья поможет читателям узнать больше о цели перенаправления и применить ее, используя скрипт PHP в своем веб-приложении, когда это необходимо.



2020-12-02T18:56:48
Python

Контейнер Namedtuple в Python

Python предлагает множество встроенных структур данных, таких как списки, словари и кортежи, для эффективного хранения и управления данными. Namedtuple — это контейнер, подобный словарю, доступный в модуле «collections». Подобно словарям, namedtuple также содержит ключи, сопоставленные значениям. Однако namedtuple позволяет получить доступ к значениям через ключи, а также через индексы. По сравнению со словарями Python доступ к значениям через индексы является дополнительной функциональностью в namedtuple. В этой статье подробно описывается Python namedtuple с примерами.

 

Доступ к значениям из namedtuple

Доступ к значениям внутри namedtuple можно получить следующими способами:

  1. Используя ключи
  2. Используя индексы
  3. Используя функцию getattr()

Поскольку namedtuple преобразует поле в атрибуты, получить доступ к значениям можно с помощью функции getattr().

 

Примеры

Теперь давайте посмотрим на несколько примеров, чтобы понять создание и работу namedtuple. Чтобы создать и использовать namedtuple, сначала нам нужно импортировать модуль коллекций. В приведенном ниже примере создается именованный кортеж для учителя. Ключи именованного кортежа — это имя, возраст и отдел соответственно. Доступ к значениям осуществляется с помощью индексов и ключей.

# импорт модуля коллекций



import collections



# создание именованного кортежа для учителя #



имя, возраст и отдел - это ключи



Teacher = collections . namedtuple('Teacher',['name', 'age', 'department' ])



# создать нового учителя и добавить значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science")

# доступ к значениям учителя с помощью indexes print(«Доступ к значениям с помощью индексов:») print(«Имя учителя:», teacher_AndreyEx[0]) print(«Возраст учителя:», teacher_AndreyEx[1]) print(«Отдел учителя:», teacher_AndreyEx[2])

 

 

# доступ к значениям учителя с помощью клавиш print(«Доступ к значениям с помощью ключей:») print(«Имя учителя:», teacher_AndreyEx.name) print(«Возраст учителя:», teacher_AndreyEx.age) print(«Учительский отдел:», teacher_AndreyEx.department)

 

 

Теперь давайте обратимся к значениям с помощью функции getattr(). Именованный кортеж и ключ передаются в качестве аргумента функции getattr().

# импорт модуля коллекций

import collections 

# создание именованного кортежа для учителя

 

# имя, возраст и отдел - это ключи



Teacher = collections . namedtuple('Teacher', ['name', 'age', ' department '])



# создать нового учителя и добавить значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science") #



доступ к значениям учителя с помощью функция getattr()



print(getattr (teacher_AndreyEx, "name"))



print(getattr(teacher_AndreyEx, "age"))



print( getattr( teacher_AndreyEx, "department" ) )

 

Популярные операции namedtuple

Некоторые популярные функции преобразуют другие коллекции, такие как списки, словари и кортежи, в namedtuple и возвращают информацию об namedtuple. Ниже приведены функции, которые преобразуют другие коллекции в namedtuple:

  • _сделать()
  • _asdict()
  • оператор **

Функция _make() преобразует итерируемый объект, такой как список и кортеж, в именованный набор. Функция _asdict() создает orderDict из именованного кортежа и возвращает его. Наконец, оператор ** преобразует словарь в именованный набор. Кроме того, функции, возвращающие информацию namedtuple, следующие:

  • _fields
  • _replace()

Функция _fields() возвращает все поля именованного кортежа, тогда как функция _replace() заменяет конкретное значение другим значением.

Давайте реализуем упомянутые выше функции в нашем скрипте Python для преобразования различных коллекций в namedtuple.

# импорт модуля коллекций



import collections 



# создание именованного кортежа для учителя



# имя, возраст и отдел - это ключи 



Teacher = collections.namedtuple('Teacher', ['name', 'age', 'department' ]) 



# создать нового учителя и добавить значения 



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science") 



# создать список 



Teacher_list =["Alex","Business Administration" ] 



# создание словаря



teacher_dict = { 'name' : 'Maria', 'age' : 25, 'department' : 'Economics' } 



# используя функцию _make() для преобразования списка в namedtuple 



print("List to преобразование namedtuple: ") 



print(Teacher._make(teacher_list)) 



# использование функции _asdict() для создания OrderDict 



print(" Making the OrderedDict: ") 



print(teacher_AndreyEx._asdict()) 



# использование ** для преобразования словаря в именованный кортеж 



print("Преобразование словаря в именованный кортеж:") 



print(Учитель(** teacher_dict))

 

Теперь давайте воспользуемся функциями _fields() и _replace(), чтобы получить информацию о ключах и заменить ключи соответственно.

# импорт модуля коллекций



import collections



# создание именованного кортежа для учителя #



имя, возраст и отдел - это ключи



Teacher = collections.namedtuple('Teacher',['name', 'age', 'department' ])



# создайте нового учителя и добавив значения



Teacher_AndreyEx = Teacher("AndreyEx", 35, "Computer Science")



# используя функцию _fields, чтобы получить ключи namedtuple



print("Ключи namedtuple:")



print(Teacher._fields)



# использование функции _replace для замены значения



print("Значение замены имени:")



print(teacher_AndreyEx._replace(name = 'Master'))

 

В выходных данных видно, что функция _fields возвращает ключи информации, а функция _replace() успешно заменяет имя.

 

Вывод

Namedtuple — это контейнер, подобный словарю, присутствующий в модуле «коллекции». Он содержит ключ и сопоставляет значения с ключом. В отличие от словаря Python, к значениям namedtuples также можно получить доступ с помощью индексов и функции getattr(). В этой статье на примерах кратко объясняется именованный кортеж.



2020-12-01T16:14:14
Python

Функция zfill() в Python

Благодаря универсальности и доступности обширных встроенных модулей, функций и операторов Python в настоящее время является широко используемым языком программирования общего назначения. Встроенные функции Python помогают программистам очень просто и эффективно выполнять сложные задачи. Zfill() — это встроенная функция Python, которая обнуляет слева от строки, чтобы заполнить заданную ширину и вернуть копию строки. Он создает строку с дополнениями, добавляя нули. В этой статье демонстрируется использование функции Python zfill().

 

Синтаксис

Сначала обсудим синтаксис функции zfill(). Синтаксис функции zfill() следующий:

str_name. zfill (width)

Функция zfill() принимает ширину в качестве аргумента и регулирует ноль в левой части строки в соответствии с указанной шириной. Ширину также можно рассматривать как длину струны.

 

Пример 1: Использование функции zfill()

Например, строка содержит три символа; это означает, что исходная ширина строки равна 3. Когда мы вызываем функцию zfill() и указываем ширину 15, она добавит 12 нулей и добавит левую сторону строки, чтобы заполнить ширину. Пробелы также увеличивают ширину. Давайте посмотрим на пример. Ширина строки hello изначально равна 5.

# определение строки

my_str = ‘hello’

# использование функции zfill()

print(my_str. zfill(10))

 

Слева к строке добавлено пять нулей.

 

Теперь давайте добавим два пробела в нашу строку и сделаем это «он ушел». Теперь исходная ширина строки равна 7.

# определение строки

my_str = ‘he ll o’

# использование функции zfill()

print(my_str. zfill(10))

 

Давайте посмотрим на другой пример функции zfill().

# определение строки

my_str = ’10’

print(«Исходная строка:» , my_str )

# использование функции zfill()

print(«Возвращаемая функцией zfill() строка:» , my_str. zfill(10))

Добавлены 8 нулей.

 

Пример 2: Использование функции zfill()

Если мы передадим в функцию zfill() ширину меньше исходной ширины строки, то ничего не произойдет. Давайте посмотрим на пример.

В приведенном ниже примере исходная длина или ширина строки равна 9. В функции zfill() мы указали ширину 3. В этом случае она не добавляет нулей слева и не отображает ошибку.

# определение строки

my_str = ‘AndreyEx_’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Функция zfill() возвращает строку:» , my_str. zfill(3))

 

Пример 3: Использование функции zfill() с префиксом знака

Функция zfill() работает иначе, если строка начинается с префикса знака. Он добавляет нули в левую часть строки после префикса первого знака. Посмотрим на пример.

# определение строки

my_str = ‘+ AndreyEx_’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. zfill(13))my_str = ‘+10’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. Zfill(13))my_str = ‘—20’

print(«Исходная строка:» , my_str )

# Использование функции zfill()

print(«Возвращаемая функция zfill() строка:» , my_str. zfill(13))

 

Вывод

Zfill() — встроенная функция Python, которая принимает ширину в качестве аргумента и заполняет нули слева от строки в соответствии с указанной шириной. В этой статье подробно обсуждается функция Python zfill().



2020-12-01T14:56:11
Python

Как преобразовать строку в целое число в Python

Все типы данных в Python, включая целые числа и строки, являются объектами. Часто при написании кода Python вам необходимо преобразовать один тип данных в другой. Например, чтобы выполнить математическую операцию с числом, представленным в виде строки, его необходимо преобразовать в целое число.

В этой статье мы покажем вам, как преобразовать строку Python в целое число.

Функция Python int()

Встроенная функция int() возвращает десятичный целочисленный объект из заданного числа или строки. Он имеет следующий вид:

int(x, base=10)

Функция принимает два аргумента:

  • x — строка или число, которое нужно преобразовать в целое число.
  • base — представляет собой систему счисления первого аргумента. Его значение может быть 0 и 2–36. Это необязательный аргумент. Если база не указана, по умолчанию используется 10 (десятичное целое число).

Обычно целые числа выражаются в шестнадцатеричной (основание 16), десятичной (основание 10), восьмеричной (основание 8) или двоичной (основание 2) нотации.

Если данная строка не может быть представлена как целое число, функция вызовет исключение ValueError .

Преобразование строки Python в целое число

В Python «строка» — это список символов, который объявляется с использованием одинарных ( ' ), двойных ( " ) или тройных кавычек ( """ ).

Если переменная, содержащая только числа, объявляется с использованием кавычек, ее тип данных устанавливается на String. Рассмотрим следующий пример:

days = "23"
type(days)

Функция type() показывает нам, что переменная days является объектом String .

<type 'str'>

Попробуем произвести математическую операцию с переменной:

print(days+5)

Python TypeError исключения TypeError потому что он не может выполнить вычисление сложения со строкой и целым числом:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Чтобы преобразовать строковое представление десятичного целого числа в int , передайте строку в функцию int() , которая возвращает десятичное целое число:

days = "23"days_int = int(days)type(days_int)

<type 'int'>

Если вы сейчас попытаетесь выполнить вычисления, операция суммирования будет выполнена успешно:

print(days_int+5)

28

Если число включает запятые, отмеченные тысячами, миллионами и т. Д., Вам необходимо удалить запятые перед передачей числа в функцию int() :

total = "1,000,000"int(total.replace(",", ""))

1000000

При преобразовании строк, представляющих целые числа в разных системах счисления, убедитесь, что вы используете правильное base .

Например, в шестнадцатеричной системе число 54732 представлено как D5CF . Чтобы преобразовать его в десятичное целое, вам нужно использовать основание 16:

int("D5CF", 16)

54735

Если вы D5CF строку D5CF в функцию int() без установки базы, она выдаст исключение ValueError :

int("D5CF")

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'D5CF'

Выводы

В Python вы можете преобразовать строку в целое число с помощью функции int() .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-11-30T21:48:44
Python

Тернарный оператор в Python

Тернарные операторы — это встроенные в Python условные операторы, которые используются для оценки определенных условий. Он оценивает, является ли условие истинным или ложным. Как и оператор if-else, это еще один способ определения условных операторов. Тернарный оператор определяется в одной строке. Оператор if-else и тернарный оператор возвращают аналогичный результат. Тернарный оператор был представлен в Python версии 2.5. В этой статье подробно объясняется тернарный оператор Python с примерами.

 

Синтаксис

Давайте сначала обсудим синтаксис тернарного оператора Python. Синтаксис следующий:

[on_true] if [expression or condition] else [on_false]

При использовании тернарного оператора сначала мы пишем имя переменной, значение которой должно проверяться в условии. Оператор on_flase выполняется, когда данное условие не выполняется.

 

Примеры

Теперь давайте посмотрим на несколько примеров, чтобы понять использование тернарного оператора. В приведенном ниже примере мы сравниваем два числовых значения с помощью тернарного оператора.

#обьявление переменной a num1

num1=5

#обьявление переменной a num2

num2=10

#использование тернарного оператора для проверки наибольшего значения

result= num1 if num1>num2 else num2

print("The highest value is: ",result)

 

Тот же пример можно реализовать с помощью оператора if-else. Тернарный оператор выполняет задание в одной строке; однако оператор if-else использует несколько строк кода для одной и той же задачи. Давайте реализуем приведенный выше пример с помощью оператора if-else.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#реализация оператора if else

if(num1>num2):

result=num1

else:

result=num2

#печать самого высокого значения

print("Самое высокое значение-это: ",result)

 

Также может быть реализован вложенный тернарный оператор. Давайте реализуем вложенный тернарный оператор в нашем скрипте Python.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#Реализация вложенного тернарного оператора

print ("num1 больше, чем num2" if num1>num2 else "num1 меньше, чем num2"

if num1==num2 else "Оба числа не равны")

 

Способы реализации тернарного оператора Python

Есть разные способы реализации тернарного оператора Python. Мы можем реализовать тернарный оператор Python, используя кортежи, словари и лямбда-функции. Давайте реализуем тернарный оператор с помощью кортежа. Мы создали две числовые переменные num1 и num2 и сохранили случайные числа в этих переменных. Случайные числа в Python создаются с помощью функции random(). Функция random() присутствует в модуле random.

import random

num1=random.random()

num2=random.random()

#реализация тернарного оператора

print((num1, num2) [num1>num2])

 

По выходным данным мы не можем определить, что это значение num1 или num2. Давайте реализуем приведенный выше код следующим образом:

import random

num1=random.random()

num2=random.random()

print((f"num1:{num1}", f"num2:{num2}") [num1>num2])

 

Хорошо! Теперь давайте реализуем тернарный оператор, используя словарь Python и лямбда-функцию.

import random

num1=random.random()

num2=random.random()

#использование словаря Python

print("Использование словаря Python:")

print(({True:f"num1:{num1}",False:f"num2:{num2}"}[num1>num2]))

#использование лямбда-функции

print("Использование лямбда-функции:")

print((lambda: f"num1:{num1}", lambda: f"num2:{num2}")[num1>num2]())

 

Вывод

Тернарные операторы — это встроенные в Python операторы, которые оценивают данное условие. Это работает как оператор if-else. В этой статье подробно объясняется тернарный оператор Python.



2020-11-30T11:55:12
Python