Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.
Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:
x + y | Сложение |
x — y | Вычитание |
x * y | Умножение |
x / y | Деление |
x // y | Получение целой части от деления |
x % y | Остаток от деления |
-x | Смена знака числа |
abs(x) | Модуль числа |
divmod(x, y) | Пара (x // y, x % y) |
x ** y | Возведение в степень |
pow(x, y[, z]) | xy по модулю (если модуль задан) |
Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти). y
int.bit_length() — количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.
>>> n = -37 >>> bin(n) '-0b100101' >>> n.bit_length() 6
int.to_bytes(length, byteorder, *, signed=False) — возвращает строку байтов, представляющих это число.
>>> (1024).to_bytes(2, byteorder='big') b'\x04\x00' >>> (1024).to_bytes(10, byteorder='big') b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00' >>> (-1024).to_bytes(10, byteorder='big', signed=True) b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00' >>> x = 1000 >>> x.to_bytes((x.bit_length() // 8) + 1, byteorder='little') b'\xe8\x03'
classmethod int. from_bytes(bytes, byteorder, *, signed=False) — возвращает число из данной строки байтов.
>>> int.from_bytes(b'\x00\x10', byteorder='big') 16 >>> int.from_bytes(b'\x00\x10', byteorder='little') 4096 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) -1024 >>> int.from_bytes(b'\xfc\x00', byteorder='big', signed=False) 64512 >>> int.from_bytes([255, 0, 0], byteorder='big') 16711680
Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:
Примеры:
>>> a = int('19') # Переводим строку в число >>> b = int('19.5') # Строка не является целым числом Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '19.5' >>> c = int(19.5) # Применённая к числу с плавающей точкой, отсекает дробную часть >>> print(a, c) 19 19 >>> bin(19) '0b10011' >>> oct(19) '0o23' >>> hex(19) '0x13' >>> 0b10011 # Так тоже можно записывать числовые константы 19 >>> int('10011', 2) 19 >>> int('0b10011', 2) 19
Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:
>>> 0. 1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 0.9999999999999999
Для высокой точности используют другие объекты (например Decimal и Fraction)).
Также вещественные числа не поддерживают длинную арифметику:
>>> a = 3 ** 1000 >>> a + 0.1 Traceback (most recent call last): File "", line 1, in OverflowError: int too large to convert to float
Простенькие примеры работы с числами:
>>> c = 150 >>> d = 12.9 >>> c + d 162.9 >>> p = abs(d - c) # Модуль числа >>> print(p) 137.1 >>> round(p) # Округление 137
float.as_integer_ratio() — пара целых чисел, чьё отношение равно этому числу.
float.is_integer() — является ли значение целым числом.
float.hex() — переводит float в hex (шестнадцатеричную систему счисления).
classmethod float.fromhex(s) — float из шестнадцатеричной строки.
>>> (10. 5).hex() '0x1.5000000000000p+3' >>> float.fromhex('0x1.5000000000000p+3') 10.5
Помимо стандартных выражений для работы с числами (а в Python их не так уж и много), в составе Python есть несколько полезных модулей.
Модуль math предоставляет более сложные математические функции.
>>> import math >>> math.pi 3.141592653589793 >>> math.sqrt(85) 9.219544457292887
Модуль random реализует генератор случайных чисел и функции случайного выбора.
>>> import random >>> random.random() 0.15651968855132303
В Python встроены также и комплексные числа:
>>> x = complex(1, 2) >>> print(x) (1+2j) >>> y = complex(3, 4) >>> print(y) (3+4j) >>> z = x + y >>> print(x) (1+2j) >>> print(z) (4+6j) >>> z = x * y >>> print(z) (-5+10j) >>> z = x / y >>> print(z) (0.44+0.08j) >>> print(x.conjugate()) # Сопряжённое число (1-2j) >>> print(x.imag) # Мнимая часть 2.0 >>> print(x.real) # Действительная часть 1.0 >>> print(x > y) # Комплексные числа нельзя сравнить Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: complex() > complex() >>> print(x == y) # Но можно проверить на равенство False >>> abs(3 + 4j) # Модуль комплексного числа 5.0 >>> pow(3 + 4j, 2) # Возведение в степень (-7+24j)
Для работы с комплексными числами используется также модуль cmath.
Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>
Свежее
Категории
Полезные материалы
Мы в соцсетях
Строка считывается со стандартного ввода функцией input()
Строка состоит из последовательности символов. Узнать количество символов (длину строки)
можно при помощи функции len
.
Любой другой объект в Питоне можно перевести к строке, которая ему соответствует.
Для этого нужно вызвать функцию str()
, передав ей в качестве параметра объект,
переводимый в строку.
На самом деле каждая строка, с точки зрения Питона, — это объект класса str. Чтобы получить по объекту другой объект другого класса, как-то ему соответствующий, можно использовать функцию приведения. Имя этой функции совпадает с именем класса, к которому мы приводим объект. (Для знатоков: эта функция — это конструктор объектов данного класса.) Пример: int — класс для целых чисел.
Перевод строки в число осуществляется функциейint()
.s = input() print(len(s)) t = input() number = int(t) u = str(number) print(s * 3) print(s + ' ' + u)
Срез (slice) — извлечение из данной строки одного символа или некоторого фрагмента подстроки или подпоследовательности.
Есть три формы срезов. Самая простая форма среза: взятие одного символа
строки, а именно, S[i]
— это срез, состоящий из одного символа,
который имеет номер i
. При этом считается, что нумерация начинается
с числа 0. То есть если S = 'Hello'
, то S[0] == 'H'
, S[1] == 'e'
, S[2] == 'l'
, S[3] == 'l'
, S[4] == 'o'
.
Заметим, что в Питоне нет отдельного типа для символов строки. Каждый объект, который получается
в результате среза S[i]
— это тоже строка типа str.
Номера символов в строке (а также в других структурах данных: списках, кортежах)
называются
Если указать отрицательное значение индекса, то номер будет отсчитываться
с конца, начиная с номера -1
. То есть S[-1] == 'o'
, S[-2] == 'l'
, S[-3] == 'l'
, S[-4] == 'e'
, S[-5] == 'H'
.
Или в виде таблицы:
Строка S | H | e | l | l | o |
Индекс | S[0] | S[1] | S[2] | S[3] | S[4] |
Индекс | S[-5] | S[-4] | S[-3] | S[-2] | S[-1] |
Если же номер символа в срезе строки S
больше либо равен len(S)
,
или меньше, чем -len(S)
, то при обращении к этому символу строки произойдет
ошибка IndexError: string index out of range
.
Срез с двумя параметрами: S[a:b]
возвращает подстроку из b - a
символов,
начиная с символа c индексом a
,
то есть до символа с индексом b, не включая его.
Например, S[1:4] == 'ell'
, то же самое получится
если написать S[-4:-1]
. Можно использовать как положительные,
так и отрицательные индексы в одном срезе, например, S[1:-1]
—
это строка без первого и последнего символа (срез начинается с символа с индексом 1 и
заканчиватеся индексом -1, не включая его).
При использовании такой формы среза ошибки
никогда не возникает. Например, срез S[1:5]
вернет строку 'ello'
, таким же будет результат,
если сделать второй индекс очень большим, например, S[1:100]
(если в строке не более 100 символов).
Если опустить второй параметр (но поставить двоеточие),
то срез берется до конца строки. Например, чтобы удалить
из строки первый символ (его индекс равен 0), можно
взять срез S[1:]
. Аналогично
если опустить первый параметр, то можно взять срез от начала строки.
То есть удалить из строки последний символ можно при помощи среза S[:-1]
. Срез S[:]
совпадает с самой строкой S
.
Любые операции среза со строкой создают новые строки и никогда не меняют исходную строку. В Питоне строки вообще являются неизменяемыми, их невозможно изменить. Можно лишь в старую переменную присвоить новую строку.
На самом деле в питоне нет и переменных. Есть лишь имена, которые связаны с какими-нибудь объектами. Можно сначала связать имя с одним объектом, а потом — с другим. Можно несколько имён связать с одним и тем же объектом.
Если задать срез с тремя параметрами S[a:b:d]
,
то третий параметр задает шаг, как в случае с функцией range
, то есть будут взяты символы с индексами a
, a + d
, a + 2 * d
и т. д.
При задании значения третьего параметра, равному 2, в срез попадет
кажый второй символ, а если взять значение среза, равное -1
, то символы будут идти в обратном порядке. Например, можно перевернуть строку срезом S[::-1]
.
s = 'abcdefg' print(s[1]) print(s[-1]) print(s[1:3]) print(s[1:-1]) print(s[:3]) print(s[2:]) print(s[:-1]) print(s[::2]) print(s[1::2]) print(s[::-1])
Обратите внимание на то, как похож третий параметр среза на третий параметр функции range():
s = 'abcdefghijklm' print(s[0:10:2]) for i in range(0, 10, 2): print(i, s[i])
Метод — это функция, применяемая к объекту, в данном случае — к строке.
Метод вызывается в виде Имя_объекта.Имя_метода(параметры)
.
Например, S.find("e")
— это применение к строке S
метода find
с одним параметром "e"
.
Метод find
находит в данной строке (к которой применяется метод)
данную подстроку (которая передается в качестве параметра).
Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1.
S = 'Hello' print(S.find('e')) # вернёт 1 print(S.find('ll')) # вернёт 2 print(S.find('L')) # вернёт -1
Аналогично, метод rfind
возвращает индекс последнего вхождения
данной строки (“поиск справа”).
S = 'Hello' print(S.find('l')) # вернёт 2 print(S.rfind('l')) # вернёт 3
Если вызвать метод find
с тремя параметрами S.find(T, a, b)
, то поиск будет осуществляться
в срезе S[a:b]
. Если указать только два параметра S.find(T, a)
, то поиск будет осуществляться
в срезе S[a:]
, то есть начиная с символа с индексом a
и до конца строки. Метод S.find(T, a, b)
возращает индекс в строке S
, а не индекс относительно среза.
Метод replace
заменяет все вхождения одной строки на другую. Формат: S.replace(old, new)
— заменить в строке S
все вхождения подстроки old
на подстроку new
. Пример:
print('Hello'.replace('l', 'L')) # вернёт 'HeLLo'
Если методу replace
задать еще один параметр: S.replace(old, new, count)
,
то заменены будут не все вхождения, а только не больше, чем первые count
из них.
print('Abrakadabra'.replace('a', 'A', 2)) # вернёт 'AbrAkAdabra'
Подсчитывает количество вхождений одной строки в другую строку. Простейшая
форма вызова S.count(T)
возвращает число вхождений строки T
внутри строки S
. При этом подсчитываются только
непересекающиеся вхождения, например:
print('Abracadabra'.count('a')) # вернёт 4 print(('a' * 10).count('aa')) # вернёт 5
При указании трех параметров S.count(T, a, b)
,
будет выполнен подсчет числа вхождений строки T
в срезе S[a:b]
.
Ссылки на задачи доступны в меню слева. Эталонные решения теперь доступны на странице самой задачи.
При программировании на Python многие операции требуют приведения данных и переменных из одного типа данных в другой. Эти преобразования иногда выполняются внутренними интерпретаторами во время работы программы. Но часто интерпретатор также не может выполнить преобразование типов данных, поэтому программисту приходится выполнять явное преобразование типов, используя некоторые методы по умолчанию. Сегодня давайте подробно разберемся с преобразованием Int в String в python с использованием 4 различных методов, а также с примером и выводом. Но перед этим взгляните на краткое введение в целые числа и строки в Python для лучшего понимания.
Int или целое число в Python — это целое число, положительное или отрицательное, но без десятичной точки. Целые числа имеют длину до предела памяти компьютера, и поэтому у вас никогда не закончатся целые числа, которые вы можете использовать при программировании на python. По умолчанию int является десятичным, т. е. с основанием 10, но вы также можете определить их или использовать с другим основанием. Все целочисленные литералы или переменные являются объектами класса « int ». Вы можете использовать « type() ”метод для определения имени класса переменной в python.
Например
а = 10 печать (тип (а)) печать (а)
Вывод
<класс 'int'> 10
В Python строка представляет собой последовательность символов, заключенных в одинарные или двойные кавычки. Вы можете использовать тройные кавычки для создания многострочной строки в python. По своей природе он неизменяем, что означает, что однажды определенные строки нельзя изменить снова. Поскольку python не поддерживает символьный тип данных, один символ считается строкой длиной 1. Существует множество методов манипуляции со строками для выполнения различных операций со строкой. Например, объединение, конкатенация, добавление, обрезка и т. д.
Эти методы не применяются напрямую к исходной строке из-за их неизменяемости. Поэтому создается копия исходной строки и над ней выполняются операции. Вы можете использовать квадратные скобки для доступа к элементу строки, используя их порядковый номер.
Например,
a = 'favtutor' печать (тип (а)) печать (а)
Вывод
<класс 'str'> фавтутор
Всего существует четыре метода преобразования целочисленного типа данных в строку в Python. Давайте подробно рассмотрим все эти методы ниже:
1) Использование функции str()str() — это встроенная функция в программировании на Python, используемая для преобразования целого числа в строку. Помимо целочисленного преобразования, функция str() может принимать любой тип данных Python в качестве параметра и преобразовывать его в строковый формат. Взгляните на пример ниже для лучшего понимания.
Например
а = 10 печать (тип (а)) # преобразование in в строку convert_a = ул (а) печать (тип (convert_a))
Вывод
<класс 'int'> <класс 'ул'>
Форматирование строки — это один из методов вставки переменной или другой строки в предопределенную строку. Но помимо этого, вы также можете использовать форматирование строк для преобразования целого числа в строку. Ключевое слово «%s» используется для преобразования int в строку. Создается пустая строка, и в нее помещается оператор «%s». Позже определяется целое число, которое должно быть преобразовано в строку. Во время выполнения программы интерпретатор преобразует int в строку, как показано в приведенном ниже примере:
Например
а = 10 печать (тип (а)) # преобразование in в строку convert_a = "% с" % а печать (тип (convert_a))
Вывод
<класс 'int'> <класс 'ул'>
Как и оператор «%s», вы также можете использовать метод format() для преобразования int в строки в программировании на Python. Чтобы этот метод работал, вы должны вставить заполнитель {} в созданную пустую строку. Позже вы можете вызвать метод format() для пустой строки с целым числом, которое нужно преобразовать. В приведенном ниже примере показана четкая работа метода format() для преобразования целого числа в строку.
Например
а = 10 печать (тип (а)) # преобразование in в строку convert_a = "{}".формат(а) печать (тип (convert_a))
Вывод
<класс 'int'> <класс 'ул'>
В python F-строки используются для встраивания значения или выражения в строку. Но наряду с этим он также используется при преобразовании целых чисел в строки. Синтаксис для F-строк аналогичен синтаксису метода if format(). Единственная разница между ними заключается в том, что вам нужно вставлять переменные непосредственно в заполнитель при работе с F-строками. Это сделает код более чистым и читабельным. Посмотрите приведенный ниже пример для лучшего понимания.
Например
а = 10 печать (тип (а)) # преобразование in в строку convert_a = f'{a}' печать (тип (convert_a))
Вывод
<класс 'int'> <класс 'ул'>
Отличная работа! Вы так много узнали о целых числах, строках и различных методах, используемых для преобразования целого числа (Int) в строку в Python. Эти методы включают использование метода str(), « %s ”, метод format() и F-строки для явного преобразования int в строку. При программировании на питоне бывают ситуации, когда необходимо выполнить преобразования типов. Следовательно, эти методы дадут эффективные и более быстрые результаты для преобразования типа данных int в string.
Чтобы узнать больше о преобразовании типов в Python, обратитесь к нашей статье, определяющей 6 различных способов преобразования строки в число с плавающей запятой.
Обзор
Обучение: 10 мин.
Упражнения: 10 минВопросы
Цели
Объяснить основные различия между целыми числами и числами с плавающей запятой.
Объясните основные различия между числами и символьными строками.
Используйте встроенные функции для преобразования целых чисел, чисел с плавающей запятой и строк.
int
): представляет положительные или отрицательные целые числа, такие как 3 или -512. float
): представляет действительные числа, такие как 3,14159 или -2,5. str
): текст., введите
, чтобы найти тип значения. type
, чтобы узнать, какой тип имеет значение.печать (тип (52))
<класс 'целое число'>
фитнес = «средний» печать (тип (фитнес))
<класс 'ул'>
печать(5 - 3)
печать('привет' - 'ч')
-------------------------------------------------- -------------------------- TypeError Traceback (последний последний вызов)в () ----> 1 print('привет' - 'ч') TypeError: неподдерживаемые типы операндов для -: 'str' и 'str'
full_name = 'Ахмед' + ' ' + 'Уолш' печать (полное_имя)
Ахмед Уолш
==========
len
подсчитывает количество символов в строке.печать (длина (полное имя))
печать (длина (52))
-------------------------------------------------- -------------------------- TypeError Traceback (последний последний вызов)в <модуль>() ----> 1 печать (длина (52)) TypeError: объект типа 'int' не имеет len()
печать (1 + '2')
-------------------------------------------------- -------------------------- TypeError Traceback (последний последний вызов)в () ----> 1 печать (1 + '2') TypeError: неподдерживаемые типы операндов для +: 'int' и 'str'
1 + '2'
быть 3
или '12'
?печать (1 + интервал ('2')) печать (стр (1) + '2')
print('половина', 1/2. 0) print('три в квадрате', 3.0 ** 2)
половина равна 0,5 три в квадрате 9,0
переменная_один = 1 переменная_два = 5 * переменная_один переменная_один = 2 print('первая есть', variable_one, 'и вторая есть', variable_two)
первое равно 2, а второе равно 5
variable_one
при выполнении умножения,
создает новое значение и присваивает его variable_two
. variable_two
устанавливается в новое значение и не зависит от variable_one
, поэтому его значение
не изменяется автоматически при изменении variable_one
.Дроби
Какой тип значения 3. 4? Как узнать?
Решение
Это число с плавающей запятой (часто сокращенно «плавающее»). Это можно узнать с помощью встроенной функции
type()
.печать (тип (3.4))<класс 'плавающий'>
Автоматическое преобразование типов
Какой тип значения 3,25 + 4?
Решение
Это поплавок: целые числа автоматически преобразуются в числа с плавающей запятой по мере необходимости.
Результат= 3,25 + 4 печать (результат, 'есть', тип (результат))7.25 is <класс 'плавающий'>
Выберите тип
Тип значения (целое число, число с плавающей запятой или строка символов) вы бы использовали для представления каждого из следующих? Постарайтесь придумать несколько хороших ответов для каждой задачи. Например, в # 1, когда подсчет дней с помощью переменной с плавающей запятой имеет больше смысла, чем использование целого числа?
- Количество дней с начала года.
- Время, прошедшее с начала года до настоящего времени в днях.
- Серийный номер единицы лабораторного оборудования.
- Возраст лабораторного образца
- Текущее население города.
- Средняя численность населения города с течением времени.
Решение
Ответы на вопросы:
- Целое число, поскольку количество дней должно лежать в диапазоне от 1 до 365.
- С плавающей запятой, поскольку требуются дробные дни
- Строка символов, если серийный номер состоит из букв и цифр, иначе целое число, если серийный номер состоит только из цифр
- Это будет варьироваться! Как определить возраст экземпляра? целые дни с момента сбора (целое число)? дата и время (строка)?
- Выберите число с плавающей запятой для представления населения в виде больших агрегатов (например, миллионов) или целое число для представления населения в единицах отдельных лиц.
- Число с плавающей запятой, так как среднее значение может иметь дробную часть.
Типы делений
В Python 3 оператор
//
выполняет целочисленное (целое) деление пола, оператор/
выполняет операции с плавающей запятой. деление, а оператор%
(или по модулю ) вычисляет и возвращает остаток от целочисленного деления:печать('5 // 3:', 5 // 3) печать('5/3:', 5/3) печать('5% 3:', 5% 3)5 // 3:1 5/3: 1,6666666666666667 5 % 3:2Если
num_subjects
— это количество субъектов, принимающих участие в исследовании, аnum_per_survey
— это номер, который может принять участие в одном опросе, напишите выражение, которое вычисляет количество необходимых опросов достучаться до всех один раз.Решение
Нам нужно минимальное количество опросов, которые охватывают всех один раз, т. е. округленное значение
num_subjects/ num_per_survey
. Это эквивалентно выполнению деления этажа с помощью//
и добавления 1. Перед деление нам нужно вычесть 1 из количества предметов, с которыми нужно иметь дело случай, когдаnum_subjects
делится без остатка наnum_per_survey
.количество_субъектов = 600 num_per_survey = 42 num_surveys = (num_subjects - 1) // num_per_survey + 1 print(num_subjects, 'subjects', num_per_survey, 'за опрос:', num_surveys)600 субъектов, 42 на опрос: 15
Строки в числа
Там, где это разумно,
float()
преобразует строку в число с плавающей запятой, иint()
преобразует число с плавающей запятой в целое число:print("строка для плавания:", float("3.4")) print("с плавающей запятой в int:", int(3.4))строка с плавающей запятой: 3.4 плавать в целое: 3Однако, если преобразование не имеет смысла, появится сообщение об ошибке.
print("строка для float:", float("Hello world!"))-------------------------------------------------- -------------------------- ValueError Traceback (последний последний вызов)в <модуле> ----> 1 print("строка для плавания:", float("Привет, мир!")) ValueError: не удалось преобразовать строку в число с плавающей запятой: «Привет, мир!» Учитывая эту информацию, что вы ожидаете от следующей программы?
Что он на самом деле делает?
Как вы думаете, почему это происходит?
print("дробная строка в int:", int("3.4"))Решение
Что вы ожидаете от этой программы? Было бы не так неразумно ожидать, что команда Python 3
int
выполнит преобразовать строку «3.4» в 3.4 и дополнительное преобразование типа в 3. В конце концов, Python 3 выполняет множество других магия — не в этом ли ее очарование?интервал ("3,4")-------------------------------------------------- -------------------------- ValueError Traceback (последний последний вызов)в <модуль> ----> 1 интервал ("3,4") ValueError: неверный литерал для int() с основанием 10: '3. 4' Однако Python 3 выдает ошибку. Почему? Чтобы быть последовательным, возможно. Если вы попросите Python выполнить два последовательных typecasts, вы должны преобразовать его явно в коде.
целое число (с плавающей запятой ("3,4"))
Арифметика с различными типами
Что из следующего вернет число с плавающей запятой
2.0
? Примечание: может быть несколько правильных ответов.сначала = 1,0 второй = "1" третий = "1.1"
первое + число с плавающей запятой (второе)
с плавающей запятой (второй) + с плавающей запятой (третий)
первое + целое(третье)
первый + целое (с плавающей запятой (третий))
int(первый) + int(float(третий))
2,0 * секунды
Решение
Ответ: 1 и 4
Комплексные числа
Python предоставляет комплексные числа, которые записываются как
1. 0+2.0j
. Еслиval
— комплексное число, к его реальной и мнимой частям можно получить доступ, используя точечную нотацию какзнач.реал
изнач.имаг
.a_complex_number = 6 + 2j печать (a_complex_number.real) печать (a_complex_number.imag)6.0 2.0
- Как вы думаете, почему Python использует
j
вместоi
для мнимой части?- Что вы ожидаете от
1 + 2j + 3
?- Что вы ожидаете от
4j
? Как насчет4 j
или4 + j
?Решение
- Стандартная математическая обработка обычно использует
i
для обозначения мнимого числа. Однако, по сообщениям СМИ, была ранней конвенцией, созданной из электротехники, которая теперь представляет собой технически дорогую область для изменять. Stack Overflow предоставляет дополнительные пояснения и обсуждение.(4+2к)
4j
иСинтаксическая ошибка: недопустимый синтаксис
. В последних случаяхj
считается переменной и оператор зависит от того, определен лиj
, и если да, то его присвоенное значение.
Ключевые моменты
Каждое значение имеет тип.
Используйте встроенную функцию
, введите
, чтобы найти тип значения.Типы определяют, какие операции можно выполнять над значениями.
Строки можно складывать и умножать.
Строки имеют длину (а числа — нет).
Должен преобразовывать числа в строки или наоборот при работе с ними.
Может свободно смешивать целые и плавающие числа в операциях.
Переменные изменяют значение только тогда, когда им что-то присваивается.