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

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

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

В этой статье объясняется, как преобразовать целое число Python в строку.

Функция Python str()

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

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

class str(object='')
class str(object=b'', encoding='utf-8', errors='strict')

 

    • object — объект, который нужно преобразовать в строку.

 

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

 

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

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

 

str(23)
type(days)

 

'23'
<class 'str'>

Кавычки около 23 указывают на то, что число не является целым числом, а является объектом строкового типа. Кроме того, функция type() показывает, что объект является строкой.

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

 

Объединение строк и целых чисел

Попробуем объединить строки и целые числа с помощью оператора + и распечатать результат:

 

number = 6
lang = "Python"
quote = "There are " + number + " relational operators in " + lang + "."
print(quote)

 

Python TypeError исключения TypeError потому что он не может объединить строки и целые числа:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

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

number = 6
lang = "Python"
quote = "There are " + str(number) + " relational operators in " + lang + "."
print(quote)

Теперь, когда вы запустите код, он будет успешно выполнен:

There are 6 relational operators in Python.

 

Есть и другие способы объединения строк и чисел.

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

number = 6
lang = "Python"
quote = "There are {} relational operators in {}.".format(number, lang)
print(quote)
There are 6 relational operators in Python.

В Python 3.6 и новее вы можете использовать f-строки, которые представляют собой буквальные строки с префиксом ‘f’, содержащие выражения в фигурных скобках:

number = 6
lang = "Python"
quote = f"There are {number} relational operators in {lang}."
print(quote)

 

There are 6 relational operators in Python.

 

Наконец, вы можете использовать старое% -форматирование:

 

number = 6
lang = "Python"
quote = "There are %s relational operators in %s." % (number, lang)
print(quote)

 

There are 6 relational operators in Python.

 

Выводы

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

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

Vue.js против Django

Когда вам необходимо выбрать библиотеку или фреймворк для создания веб-приложений, нет никаких сомнений в том, что библиотеки JavaScript предпочтительнее любой другой библиотеки. Но это не значит, что другие библиотеки недостаточно хороши.

Vue.js и Django — известные веб-фреймворки JavaScript. Они также являются инструментами с открытым исходным кодом. Vue.js известен тем, что создает чистые, многократно используемые веб-приложения на основе компонентов. Django — это фреймворк, построенный на Python, известный своей быстрой разработкой и рациональным дизайном кода.

В этой статье мы обнаружим некоторые из основных и более технических различий между Vue.js и Django. Сюда входят плюсы и минусы каждого фреймворка, компании, которые в настоящее время используют эти фреймворки, интегрированные инструменты и многое другое.

 

Разница между Vue.js и Django

Vue.js — это интерфейсный JavaScript-фреймворк, который генерирует страницы на стороне клиента. Поскольку он отображает страницы на стороне клиента, Vue.js требует больше времени на первоначальную загрузку, но дает лучший опыт, когда необходимо перемещаться между страницами.

В то время как Django — это полнофункциональный Python-фреймворк, который генерирует страницы на стороне сервера. Его рендеринг на стороне сервера помогает при первоначальной загрузке страницы, но во время навигации нам, возможно, придется столкнуться с проблемами производительности из-за задержки в сети.

 

Плюсы Vue.js

Vue.js — простая, удобная и фантастическая библиотека для ваших нужд. Вы можете изучить его на практике, если знаете Html, CSS и JavaScript. Vue.js — это фреймворк с быстрой кривой обучения. Документация, написанная для Vue.js, также проста для понимания и чрезвычайно подробна.

Документация настолько хорошо написана, что вы не должны растеряться, даже работая с ней целый день. Все шаги четко объяснены, а документация Vue.js — одно из лучших руководств, доступных для любого веб-фреймворка. Vue.js — это полная и функциональная экосистема JavaScript, которая является одной из лучших интерфейсных сред.

 

Плюсы Django

Django известен своим быстрым развитием, и это инструмент с открытым исходным кодом. У этого фреймворка также есть отличное сообщество. Django — это элегантная платформа MVC, которая помогает вам писать красивый код. Этот фреймворк бесплатен, имеет отличную документацию и очень прост в освоении. Он также предоставляет отличные пакеты и библиотеки для помощи в разработке.

 

Минусы Vue.js

Сообщество Vue.js меньше, чем два других конкурирующих фреймворка, reactJS и Angular. Vue.js не поддерживает фрагменты, а программно поддерживает только несколько корневых узлов. Еще один недостаток Vue.js — разметка YXML и HTML.

 

Минусы Django

Django — это недостаточно мощный фреймворк для создания шаблонов и слабая ORM. Его автоматическая перезагрузка перезагружает весь сервер. Диспетчер URL-адресов Django игнорирует метод HTTP и имеет некоторую связь внутренних подкомпонентов.

Наличие минусов не обязательно означает, что фреймворк плохой. Фактически, каждая структура идет с намерением удовлетворить какую-то конкретную потребность или предоставить определенную ценность. Хорошо известно, что у каждой платформы есть свои особенности и стандарты, которые отличают ее от других платформ, и что один из них легко расставить по приоритетам в соответствии с вашими потребностями.

 

Компании, использующие фреймворки

Обе эти структуры поддерживаются хорошими компаниями.

Vue.js поддерживается многими громкими именами, такими как:

  • Alibaba
  • Xiaomi
  • Laracast
  • Trivago.com

 

Django также поддерживается некоторыми громкими именами, такими как:

  • Pinterest
  • Instagram
  • Udemy
  • Robinhood

 

Заключение

В этой статье мы рассмотрели фреймворки Vue.js и Django и указали на их различия. Мы также обсудили плюсы и минусы каждого фреймворка и упомянули названия компаний, поддерживающих эти фреймворки. Vue.js становится все более популярным среди фреймворков JavaScript и интерфейсной веб-разработки, особенно с точки зрения одностраничных приложений и пользовательских интерфейсов. Между тем, Django получит признание как полноценный фреймворк для быстрой разработки.



2020-12-18T03:02:53
Python

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

Тип range Python генерирует последовательность целых чисел, определяя начальную и конечную точки диапазона. Обычно он используется с циклом for для перебора последовательности чисел.

range() работает по-разному в Python 2 и 3.

В Python 2 есть две функции, которые позволяют генерировать последовательность целых чисел, range и xrange . Эти функции очень похожи, с основным отличием в том, что range возвращает список, а xrange возвращает объект xrange.

В Python 3 функция xrange была удалена, а функция range ведет себя аналогично Python 2 xrange . range Python 3 — это не функция, а тип, представляющий неизменяемую последовательность чисел.

В этой статье мы рассмотрим основу Python 3 range типа.

Синтаксис range() в Python

Конструктор range принимает следующие формы:

range(stop)

range(start, stop[, step])


Аргументы, передаваемые конструктору range должны быть целыми числами. Плавающие числа и другие типы не допускаются.

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

range(stop)

Если указан только один аргумент, range возвращает последовательность чисел, увеличенных на 1 , начиная с 0 до stop - 1 .

Вот тип диапазона в действии:

for i in range(5):

    print(i)


Сгенерированная последовательность чисел начинается с 0 и заканчивается 4 (5-1):

0

1

2

3

4


Если аргумент равен 0 или range отрицательных целых чисел возвращает пустую последовательность:

print(list(range(-5)))


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

[]


range(start, stop)

Если указаны два аргумента, range возвращает последовательность чисел, увеличенную на 1 , начиная от start до stop - 1 .

Вот пример:

for i in range(3, 5):

    print(i)


3

4


Аргумент stop должен быть больше start . В противном случае последовательность пуста:

print(list(range(5, 3)))


[]


В качестве аргументов можно использовать 0 , положительные и отрицательные целые числа:

print(list(range(-5, -3)))


[-5, -4]


print(list(range(-3, 0)))


[-3, -2, -1]


range(start, stop, step)

Когда даны три аргумента, range возвращает последовательность чисел, увеличивающуюся или уменьшающуюся на step , начиная от start до stop - 1 .

Если step положительный, range возвращает последовательность, которая увеличивается:

for i in range(0, 26, 5):

    print(i)


0

5

10

15

20

25


При увеличении аргумент stop должен быть больше start . В противном случае последовательность пуста.

Если step отрицательный, range возвращает последовательность, которая уменьшается:

for i in range(20, 4, -5):

    print(i)


20

15

10

5


При уменьшении аргумент stop должен быть меньше start . В противном случае последовательность пуста.

Если step равен 0 возникает исключение ValueError:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: range() arg 3 must not be zero


Выводы

Тип range Python позволяет генерировать последовательность целых чисел. В основном он используется в циклах for .

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



2020-12-10T18:57:22
Python

Функция enumerate() Python

enumerate() — это встроенная функция в Python, которая позволяет вам иметь автоматический счетчик во время цикла по итерациям.

Функция enumerate()

Функция enumerate() принимает следующий вид:

enumerate(iterable, start=0)


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

  • iterable — объект, поддерживающий итерацию.
  • start — число, с которого начинается счетчик. Это необязательный аргумент. По умолчанию счетчик начинается с 0.

enumerate() возвращает объект перечисления, для которого вы можете вызвать метод __next__() (или next() в Python 2), чтобы получить кортеж, содержащий счетчик и текущее значение итерируемого.

Вот пример того, как создать список кортежей с помощью list() и как перебрать итерацию:

directions = ["north", "east", "south", "west"] 

list(enumerate(directions))



for index, value in enumerate(directions): 

    print("{}: {}".format(index, value))


[(0, 'north'), (1, 'east'), (2, 'south'), (3, 'west')]



0: north

1: east

2: south

3: west


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

directions = ["north", "east", "south", "west"] 

list(enumerate(directions, 1))


[(1, 'north'), (2, 'east'), (3, 'south'), (4, 'west')]


Функция enumerate() работает с любым итерируемым объектом. Итерируемый объект — это контейнер, который можно повторять. Проще говоря, это означает объект, который можно перебрать с помощью цикла for . Большинство встроенных объектов в Python, таких как строки, списки и кортежи, являются повторяемыми.

Больше о enumerate()

Цикл for Python полностью отличается от традиционного цикла for стиле C, который доступен во многих языках программирования. Цикл for в Python эквивалентен циклу foreach в других языках.

Обычный метод, используемый новыми разработчиками Python для получения соответствующего индекса при работе с итерациями, заключается в использовании либо шаблона range(len(...)) , либо установки и увеличения счетчика:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

for i in range(len(planets)):

    print("Planet {}: {}".format(i, planets[i]))


planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

i = 0

for planet in planets:

    print("Planet {}: {}".format(i, planet))

    i += 1


Приведенные выше циклы можно переписать более идиоматическим способом с помощью enumerate() :

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

for index, value in enumerate(planets): 

    print("Planet {}: {}".format(index, value))


Все методы будут давать одинаковый результат:

Planet 0: Mercury

Planet 1: Venus

Planet 2: Earth

Planet 3: Mars

Planet 4: Jupiter

Planet 5: Saturn

Planet 6: Uranus

Planet 7: Neptune


Выводы

В этой статье мы показали вам, как использовать функцию Python enumerate() .

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



2020-12-10T01:11:44
Python

Оператор if else в Python

Принятие решений — одна из самых фундаментальных концепций компьютерного программирования. Python поддерживает стандартные операторы управления потоком, имеющиеся в других языках, с некоторыми изменениями. Оператор управления if является одним из самых основных и хорошо известных операторов, который используется для выполнения кода на основе определенного условия.

В этой статье мы рассмотрим основы оператора if в Python.

Оператор if в Python

Самая простая форма оператора if в Python выглядит следующим образом:

if EXPRESSION:

  STATEMENT


Оператор if начинается с ключевого слова if за которым следует условное выражение.

EXPRESSION должно сопровождаться ( : ) толстой кишки. Если EXPRESSION оценивается как True , выполняется STATEMENT . Если EXPRESSION возвращает False , ничего не происходит, STATEMENT игнорируется. STATEMENT может быть любым оператором, включая несколько операторов или дополнительных вложенных операторов if . Чтобы не выполнять никаких инструкций, используйте инструкцию pass .

STATEMENT блок начинается с углублением и концами с первой линией отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.

Давайте посмотрим на следующий пример скрипта, который проверяет, больше ли заданное число 5.

number = int(input('Enter a number: '))



if number > 5:

    print(number, 'is greater than 5.')


Сохраните код в файл и запустите его из командной строки:

python test.py

Скрипт предложит вам ввести номер. Например, если вы введете 10, условное выражение будет иметь значение True (10 больше 5), и функция print будет выполнена.

10 is greater than 5.


Python поддерживает стандартные операции сравнения:

  • a == b — Истинно, если a и b равны.
  • a != b — Верно, если a и b не равны.
  • a > b — Истинно, если a больше b .
  • a >= b — Истинно, если a равно или больше b .
  • a < b — Истинно, если a меньше b .
  • a <= b — Истинно, если a равно или меньше b .

Вы также можете использовать ключевое слово in чтобы проверить, присутствует ли значение в итерации (строка, список, кортеж, словарь и т. Д.):

s = 'linuxize'

if 'ze' in s:

    print('True.')


Вот еще один пример использования словаря:

d = {'a': 2, 'b': 4}

if 'a' in d:

    print('True.')


При использовании в словаре ключевое слово in проверяет, есть ли в словаре определенный ключ.

Чтобы отрицать условное выражение, используйте логический оператор not :

number = int(input('Enter a number: '))



if not number < 5:

    print(number, 'is greater than 5.')


Оператор if else в Python

if..else оценивает условие и выполняет одно из двух операторов в зависимости от результата.

Оператор Python if..else принимает следующую форму:

if EXPRESSION:

    STATEMENT1

else:

    STATEMENT2


Если EXPRESSION оценивается как True , STATEMENT1 будет выполнен. В противном случае, если EXPRESSION возвращает значение False , то STATEMENT2 будет выполнена. В заявлении может быть только одно предложение else .

else ключевое слово должно заканчиваться ( : ) толстой кишки и быть на том же уровне отступа , как соответствующие , if ключевое слово.

Давайте добавим предложение else в предыдущий пример сценария:

number = int(input('Enter a number: '))



if number > 5:

    print(number, 'is greater than 5.')

else:

    print(number, 'is equal or less than 5.')


Если вы запустите код и введете число, сценарий напечатает другое сообщение в зависимости от того, больше ли число / равно 5.

Оператор if elif else

Ключевое слово elif является сокращением от else if .

Оператор Python if..elif..else принимает следующую форму:

if EXPRESSION1:

    STATEMENT1

elif: EXPRESSION2:

    STATEMENT2

else:

    STATEMENT3


Если EXPRESSION1 оценивается как True , STATEMENTS1 будет выполнен. Если EXPRESSION2 оценивается как True , STATEMENTS2 будет выполнен. Если ни одно из выражений не имеет значения True , выполняется STATEMENTS3 .

elif ключевое слово должно заканчиваться ( : ) толстой кишки и быть на том же уровне отступа , как соответствующие , if ключевое слово. В операторе может быть одно или несколько предложений elif . Предложение else является обязательным. Если предложение else не используется и все выражения имеют значение False , ни один из операторов не будет выполнен.

Условия оцениваются последовательно. Как только условие возвращает True , остальные условия не выполняются, и управление программой перемещается в конец операторов if .

Добавим в предыдущий скрипт предложение elif :

number = int(input('Enter a number: '))



if number > 5:

    print(number, 'is greater than 5.')

elif number < 5:

    print(number, 'is less than 5.')

else:

    print(number, 'is equal to 5.')


В отличие от большинства языков программирования, в Python нет операторов switch или case . Последовательность из нескольких операторов elif может использоваться вместо switch или case .

Вложенные операторы if

Python позволяет гнездиться if заявления в if заявления. Как правило, всегда следует избегать чрезмерных отступов и пытаться использовать elif вместо вложенных операторов if

Следующий сценарий предложит вам ввести три числа и напечатает наибольшее число среди чисел.

number1 = int(input('Enter the first number: '))

number2 = int(input('Enter the second number: '))

number3 = int(input('Enter the third number: '))



if number1 > number2:

    if number1 > number3:

        print(number1, 'is the largest number.')

    else:

        print(number3, 'is the largest number.')

else:

    if number2 > number3:

        print(number2, 'is the largest number.')

    else:

        print(number3, 'is the largest number.')


Вот как будет выглядеть результат:

Enter the first number: 455 

Enter the second number: 567

Enter the third number: 354

567 is the largest number.


Несколько условий

Логические операторы or и and позволяют комбинировать несколько условий в операторах if .

Вот еще одна версия скрипта для печати наибольшего числа из трех. В этой версии, а вложенные if заявления, мы будем использовать логические and оператор и elif .

number1 = int(input('Enter the first number: '))

number2 = int(input('Enter the second number: '))

number3 = int(input('Enter the third number: '))



if number1 > number2 and number1 > number3:

    print(number1, 'is the largest number.')

elif number2 > number3 and number2 > number3:

    print(number2, 'is the largest number.')

else:

    print(number3, 'is the largest number.')


Выводы

Операторы if , if..else и if..elif..else позволяют управлять потоком выполнения Python, оценивая заданные условия.

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



2020-12-08T22:00:24
Python

Как комментировать в Python

При написании кода Python всегда рекомендуется делать его чистым и понятным. Организовать код, дать переменным и функциям описательные имена — вот несколько способов сделать это.

Еще один способ улучшить читаемость вашего кода — использовать комментарии. Комментарий — это понятное для человека объяснение или аннотация, которые используются для объяснения кода. Например, если вы написали сложное регулярное выражение, вы добавляете комментарий, описывающий, что делает код.

Добавление комментариев к вашему коду Python сэкономит вам много времени и усилий, если вы посмотрите на свой код в будущем. Допустим, вы хотите изменить сценарий, написанный несколько месяцев или лет назад. Скорее всего, вы не вспомните, почему вы написали какой-то сложный фрагмент кода, если не добавили комментарий. Комментарии также помогают другим разработчикам понять ваш код и его назначение.

Комментарии должны быть краткими и по существу. Не объясняйте то, что очевидно читателю.

В этой статье рассматриваются основы написания комментариев в Python.

Написание комментариев на Python

Python игнорирует все, что написано в строке после решетки ( # ).

Комментарии могут быть добавлены в начале строки или встроены в другой код:

# This is a Python comment.
print("Hello World") # This is an inline Python comment.

Пробел после решетки не является обязательным, но он улучшит читаемость комментария.

Символ решетки в строковом литерале не указывает на начало строки комментария. Это просто символ решетки:

paragraph = "# Hash inside quotes is not a comment."

Comments should be at the same indent level as the code beneath it:

```py
def factorial(n):
  if n == 0:
    return 1
  else:
    # Use the factorial function
    return n * factorial(n-1)

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

Комментарии также полезны при отладке скрипта. Вместо удаления некоторых строк или блоков вы можете закомментировать их:

# for fruit in fruits:
#   print(fruit)

Многострочные комментарии в Python (блоки комментариев)

В отличие от других популярных языков программирования, Python поддерживает только однострочные комментарии.

Самый простой способ написать многострочные комментарии в Python — это добавить однострочные комментарии один за другим:

# This is the first line.
# This is the second line.

Другой вариант — использовать строки документации .

Строки документации — это многострочные строковые литералы, которые используются для документирования того, что делает модуль, функция, класс или метод.

Строка документации начинается и заканчивается тройными двойными кавычками ( """ ) и может занимать одну или несколько строк:

"""This is
a multiline
docstring.
"""

Строки документации технически не являются комментариями. Когда строка документации встречается в качестве первого оператора в модуле, функции, классе или методе, она заканчивается в байт-коде и становится специальным атрибутом __doc__ этого объекта. Вы должны предпочесть использовать обычные однострочные хеш-комментарии.

Шебанг

Если вы читаете сценарии Python, вы можете заметить, что в некоторых из них первая строка начинается с символа #! символы и путь к интерпретатору Python:

#!/usr/bin/env python3

Эта последовательность символов называется shebang и используется для указания операционной системе, какой интерпретатор использовать для анализа остальной части файла. Сценарии, которые начинаются с shebang и являются исполняемыми, можно запускать в терминале, не вводя python перед именем сценария.

Поскольку строка shebang начинается с символа решетки, она рассматривается как комментарий и автоматически игнорируется интерпретатором Python.

Выводы

Написание комментариев является хорошей практикой и помогает другим разработчикам, в том числе будущим самим себе, понять, что делает код. В Python все, что находится после решетки ( # ) и до конца строки, считается комментарием.

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



2020-12-06T01:36:04
Python