Как получить символ ° в строке в python?

Как я могу получить символ ° (градуса) в строку?

  • Добавление обратной косой черты без экранирования
  • Обратить строку в Python
  • Подстроки строки с использованием Python
  • Строка заменить не работает
  • Преобразование строкового представления списка в список в Python
  • Python Удалить часть строки по индексу
  • Обратный URL-адрес Django с параметрами для представления на основе класса
  • Как заставить virtualenv устанавливать последние setuptools и pip из pypi?
  • переключающие версии python
  • lxml и петли для создания xml rss в python
  • SQLAlchemy / WTForms: задает выбранное значение по умолчанию для QuerySelectField
  • Как поддерживать параметры установки pip в файле требований, сделанным путем замораживания контура?
  • 5 Solutions collect form web for “Как получить символ ° в строке в python?”

    Поместите эту строку вверху вашего источника

     # -*- coding: utf-8 -*- 

    Если ваш редактор использует другую кодировку, замените utf-8

    Затем вы можете включать символы utf-8 непосредственно в исходный код

    Это самая удобная для кодера версия, указывающая символ юникода:

     degree_sign= u'\N{DEGREE SIGN}' 

    Примечание: в конструкции \N должно быть значение капитала N, чтобы избежать путаницы с символом новой строки \ n. Имя персонажа внутри фигурных фигурных скобок может быть любым.

    Легче запомнить имя символа, чем его индекс юникода. Это также более удобочитаемое, удобное для отладки. Замена символа происходит во время компиляции: файл .py[co] будет содержать константу для u'°' :

     >>> import dis >>> c= compile('u"\N{DEGREE SIGN}"', '', 'eval') >>> dis.dis(c) 1 0 LOAD_CONST 0 (u'\xb0') 3 RETURN_VALUE >>> c.co_consts (u'\xb0',) >>> c= compile('u"\N{DEGREE SIGN}-\N{EMPTY SET}"', '', 'eval') >>> c.co_consts (u'\xb0-\u2205',) >>> print c.co_consts[0] °-∅ 
     >>> u"\u00b0" u'\xb0' >>> print _ ° 

    Кстати, все, что я делал, это поиск «степени юникода» в Google. Это приводит к двум результатам: «Знак степени U + 00B0» и «Степень Цельсия U + 2103», которые на самом деле различны:

     >>> u"\u2103" u'\u2103' >>> print _ ℃ 

    В вышеприведенных ответах предполагается, что кодирование UTF8 можно безопасно использовать – это специально предназначено для Windows.

    Консоль Windows normaly использует кодировку CP850, а не utf-8, поэтому, если вы попытаетесь использовать исходный файл utf8-encoded, вы получите эти 2 (неправильные) символы ┬░ вместо градуса ° .

    Демонстрация (используя python 2.7 в консоли Windows):

     deg = u'\xb0` # utf code for degree print deg.encode('utf8') 

    эффективно выводит ┬░ .

    Исправить: просто заставьте правильную кодировку (или лучше использовать юникод):

     local_encoding = 'cp850' # adapt for other encodings deg = u'\xb0'.encode(local_encoding) print deg 

    или если вы используете исходный файл, который явно определяет кодировку:

     # -*- coding: utf-8 -*- local_encoding = 'cp850' # adapt for other encodings print " The current temperature in the country/city you've entered is " + temp_in_county_or_city + "°C.".decode('utf8').encode(local_encoding) 

    просто используйте \xb0 (in a string); python автоматически преобразует его

    Python - лучший язык программирования в мире.