None (null), или немного о типе NoneType
Ключевое слово null обычно используется во многих языках программирования, таких как Java, C++, C# и JavaScript. Это значение, которое присваивается переменной.
Концепция ключевого слова null в том, что она дает переменной нейтральное или «нулевое» поведение.
А что же в Python?
Эквивалент null в Python: None
Он был разработан таким образом, по двум причинам:
Многие утверждают, что слово null несколько эзотерично. Это не наиболее дружелюбное слово для новичков. Кроме того, None относится именно к требуемой функциональности — это ничего, и не имеет поведения.
Присвоить переменной значение None очень просто:
Существует много случаев, когда следует использовать None.
Часто вы хотите выполнить действие, которое может работать либо завершиться неудачно. Используя None, вы можете проверить успех действия. Вот пример:
Python является объектно-ориентированным, и поэтому None - тоже объект, и имеет свой тип.
Проверка на None
Есть (формально) два способа проверить, на равенство None.
Один из способов — с помощью ключевого слова is.
Второй — с помощью == (но никогда не пользуйтесь вторым способом, и я попробую объяснить, почему).
Посмотрим на примеры:
Данный код выведет:
Отлично, так они делают одно и то же! Однако, не совсем. Для встроенных типов - да. Но с пользовательскими классами вы должны быть осторожны. Python предоставляет возможность переопределения операторов сравнения в пользовательских классах. Таким образом, вы можете сравнить классы, например, MyObject == MyOtherObject.
И получаем немного неожиданный результат:
Интересно, не правда ли? Вот поэтому нужно проверять на None с помощью ключевого слова is.
А ещё (для некоторых классов) вызов метода __eq__ может занимать много времени, и is будет просто-напросто быстрее.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Убрать None
Как убрать цифру 1, не могу ее убрать после установки шаблона
Вот ссылка на мой сайт http://qhag.ru/ На каждой странице стоит ЦИФРА "1". Как ее убрать не знаю.
Как можно убрать файлы из проекта или куда их убрать
допустим есть преокт WinForms с подключенными библиотеками . человек должен скачать установщик .
Как убрать цифру 1, не могу ее убрать после установки шаблона
Вот ссылка на мой сайт http://qhag.ru/ На каждой странице стоит ЦИФРА "1". Как ее убрать не знаю.
Необходимо убрать из строки все qqq, zzz, убрать символы, которые не соответствую ASCII символам с 33 по 126.
Добрый день. Помогите кто-нибудь со строкой разобраться, я понимаю, что это плохо не уметь.
7651 / 4098 / 1791
Регистрация: 27.03.2020
Сообщений: 6,913
Сообщение было отмечено Catstail как решение
Решение
Lomot, при использовании def желательно возвращать return; либо при вызове не использовать print.
None в данном случае из-за того, что выводишь на печать то, что возвращает (return) функция (def).
Так как ничего не возвращает, то и пишет - ничего - None
1 2 3 4 5 6 7 8 9 10 11
def my_code(text, key=""): b = '' if not key: for i in text: b += chr(ord(i) + 1) else: for i in text: b += chr(ord(i) + key) return b print(my_code("abcde", 2))
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Убрать /index.php (убрать обязательно слэш)
mak.url.ph нужно убрать /index.php (СлЭш обязательно убрать) .htaccess мучил 2 часа, не.
Убрать
Можно ли сделать тоже самое без . Тип убрать using System; using.
Убрать li
Ребят, уберите пожалуйста li, я хочу просто сделать по центру. public function the_user_links().
убрать из .
Здравстввуйте господа програмисты. я пишу на dev c++ консольные приложения вопрос-возможно ли как.
Убрать i-1
НУЖНО УБРАТЬ i-1 КАК #include <math.h> #include <iostream> #include <stdio.h> #include.
Как убрать none?
Не очень ваш алгоритм похож на решето Эратосфена. Там же вроде не список используется, а выделяется битовый массив.
1 дек 2021 в 17:30
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
- Замените print(prime_eratosthenes(5)) на prime_eratosthenes(5) .
Если вы не используете return , зачем использовать print(функция) ?!
Отслеживать
ответ дан 1 дек 2021 в 17:50
Çℏėτᶄắɤẵ Çℏėτɤᶉᶄắ Çℏėτᶄắɤẵ Çℏėτɤᶉᶄắ
3,036 2 2 золотых знака 10 10 серебряных знаков 35 35 бронзовых знаков
В данном случае внутри цикла вызывается вывод значений через print(i) . А в конце добавляется None - это возвращаемое значение ваше функцией. Она ничего не возвращает, поэтому её не нужно помещать в print() , её следует просто вызвать.
Следовательно, последнюю строчку следует заменить на простой вызов без print()
Отслеживать
ответ дан 1 дек 2021 в 17:52
2,087 1 1 золотой знак 8 8 серебряных знаков 14 14 бронзовых знаков
мой ответ с дополнениями))
1 дек 2021 в 17:54
Я увидел твой после того, как ответил. И дело в том, что мы решали одну и и ту же проблему, а не в том, чей это ответ. Мы просто оба дали верный ответ.
Методы списков Python
Для добавления множества элементов используйте extend() . Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .
list.clear( i ) ¶
Удаляет из списка все имеющиеся в нём значения.
my_list = [1, 2, 3]my_list.clear() # Nonemy_list # []
Действие метода эквивалентно выражению del my_list[:] .
list.copy() ¶
Возвращает копию списка. Внимание: Возвращаемая копия является поверхностной (без рекурсивного копирования вложенных элементов).
my_list = [1, 2, 3]my_list_copy = my_list.copy() # [1, 2, 3]my_list # []
Действие метода эквивалентно выражению my_list[:] .
list.count(x) ¶
random_list = [4, 1, 5, 4, 10, 4]random_list.count(4) # 3
Метод count считает количество значений x в списке.
list.extend(iterable) ¶
Дополняет список элементами из указанного объекта.
- it : Объект, поддерживающий итерирование, элементами которого требуется дополнить список.
my_list = []my_list.extend([1, 2, 3]) # Nonemy_list # [1, 2, 3]my_list.extend('add') # Nonemy_list # [1, 2, 3, 'a', 'd', 'd']
Для добавления единственного элемента используйте append() .
Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .
list.index(x , start , end ) ¶
Метод возвращает положение первого индекса, со значением х . Также можно указать границы поиска start и end .
list.insert(i, x) ¶
Вставляет указанный элемент перед указанным индексом
- i : Позиция (индекс), перед которой требуется поместить элемент. Нумерация ведётся с нуля. Поддерживается отрицательная индексация.
- x : Элемент, который требуется поместить в список.
my_list = [1, 3] my_list.insert(1, 2)my_list # [1, 2, 3] my_list.insert(-1, 4)my_list # [1, 2, 4, 3]
Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .
list.pop( i ) ¶
Возвращает элемент на указанной позиции , удаляя его из списка.
- i=None : Позиция искомого элемента в списке (целое число). Если не указана, считается что имеется в виду последний элемент списка. Отрицательные числа поддерживаются.
my_list = [1, 2, 3, 4, 5]last = my_list.pop() # 5my_list # [1, 2, 3, 4]second = my_list.pop(-3) # 2my_list # [1, 3, 4]first = my_list.pop(0) # 1my_list # [3, 4]
Чтобы удалить элемент из списка не возвращая его, воспользуйтесь list.remove() .
list.remove(x) ¶
Удаляет из списка указанный элемент.
- x : Элемент, который требуется удалить из списка. Если элемент отсутствует в списке, возбуждается ValueError . Удаляется только первый обнаруженный в списке элемент, значение которого совпадает со значением переданного в метод.
my_list = [1, 3] my_list.remove(1)my_list # [3] my_list.remove(4) # ValueError
Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .
list.reverse() ¶
Перестраивает элементы списка в обратном порядке.
my_list = [1, 'two', 'a', 4]my_list.reverse() # Nonemy_list # [4, 'a', 'two', 1]
Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .
list.sort(key=None, reverse=False) ¶
Сортирует элементы списка на месте.
- key=None : Функция, принимающая аргументом элемент, используемая для получения из этого элемента значения для сравнения его с другими.
- reverse=False : Флаг, указывающий следует ли производить сортировку в обратном порядке.
my_list = [1, 'two', 'a', 4, 'a']# Попытка упорядочить/сравнить несравнимые типы вызовет исключениеmy_list.sort() # TypeError: unorderable types: str() # Отсортируем «вручную», так чтобы 'а' были в конце.my_list.sort(key=lambda val: val == 'a') # None # Фактически мы отсортировали в соответствии # с маской [False, False, False, True, True]my_list # ['two', 4, 1, 'a', 'a']
Внимание: Данный метод модифицирует исходный объект на месте, возвращая при этом None .