Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Làm thế nào tôi có thể lấy ký tự ° (độ) thành một chuỗi?

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Bhargav Rao

47.9K27 Huy hiệu vàng123 Huy hiệu bạc138 Huy hiệu đồng27 gold badges123 silver badges138 bronze badges

hỏi ngày 9 tháng 7 năm 2010 lúc 17:39Jul 9, 2010 at 17:39

1

Đây là phiên bản thân thiện nhất của lập trình viên để chỉ định ký tự Unicode:

degree_sign = u'\N{DEGREE SIGN}'

Trình tự thoát:

>>> 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]
°-∅
0
>>> 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]
°-∅
0

Ý nghĩa: Tên được đặt tên ký tự trong cơ sở dữ liệu Unicode Character named name in the Unicode database

Tài liệu tham khảo: https://docs.python.org/3/reference/lexical_analysis.html#string-and-ytes-literals https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals

Note:

  • "N" phải là chữ hoa trong cấu trúc

    >>> 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]
    °-∅
    
    1 để tránh sự nhầm lẫn với ký tự
    >>> 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]
    °-∅
    
    2

  • Tên ký tự bên trong niềng răng xoăn có thể là bất kỳ trường hợp nào

Nó dễ nhớ tên của một ký tự hơn chỉ số Unicode của nó. Nó cũng dễ đọc hơn, Ergo Debugging thân thiện. Sự thay thế ký tự xảy ra tại thời điểm biên dịch, tức là tệp

>>> 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]
°-∅
3 sẽ chứa một hằng số cho
>>> 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]
°-∅
4:

>>> 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]
°-∅

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Coder hăng hái

3.6579 Huy hiệu vàng28 Huy hiệu bạc 50 Huy hiệu Đồng9 gold badges28 silver badges50 bronze badges

Đã trả lời ngày 9 tháng 7 năm 2010 lúc 21:18Jul 9, 2010 at 21:18

Tzottzottzot

89,8K29 Huy hiệu vàng138 Huy hiệu bạc201 Huy hiệu đồng29 gold badges138 silver badges201 bronze badges

>>> u"\u00b0"
u'\xb0'
>>> print _
°

BTW, tất cả những gì tôi đã làm là tìm kiếm "mức độ Unicode" trên Google. Điều này mang lại hai kết quả: "Dấu hiệu U+00B0" và "C ERGE CELSIUS U+2103", thực sự khác nhau:

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

Đã trả lời ngày 9 tháng 7 năm 2010 lúc 17:41Jul 9, 2010 at 17:41

Adamkadamkadamk

43,8K7 Huy hiệu vàng49 Huy hiệu bạc56 Huy hiệu Đồng7 gold badges49 silver badges56 bronze badges

3

Đặt dòng này ở đầu nguồn của bạn

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

Nếu biên tập viên của bạn sử dụng mã hóa khác, hãy thay thế cho UTF-8

Sau đó, bạn có thể bao gồm các ký tự UTF-8 trực tiếp trong nguồn

Đã trả lời ngày 9 tháng 7 năm 2010 lúc 19:14Jul 9, 2010 at 19:14

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

John La Rooyjohn La RooyJohn La Rooy

288K51 Huy hiệu vàng359 Huy hiệu bạc500 Huy hiệu Đồng51 gold badges359 silver badges500 bronze badges

1

Bạn cũng có thể sử dụng

>>> 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]
°-∅
5 để in dấu hiệu. Dưới đây là một ví dụ sử dụng vỏ tương tác Python 3.6.5:

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Alamoot

1.7366 huy hiệu vàng29 Huy hiệu bạc47 Huy hiệu đồng6 gold badges29 silver badges47 bronze badges

Đã trả lời ngày 7 tháng 5 năm 2018 lúc 4:37May 7, 2018 at 4:37

ThePraskThePrasktheprask

3112 Huy hiệu bạc3 Huy hiệu đồng2 silver badges3 bronze badges

Chỉ cần sử dụng

>>> 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]
°-∅
6 Python sẽ tự động chuyển đổi nó

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Đã trả lời ngày 5 tháng 12 năm 2015 lúc 4:39Dec 5, 2015 at 4:39

JustinjustinJustin

1211 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

Câu trả lời trên giả định rằng mã hóa UTF8 có thể được sử dụng một cách an toàn - cái này được nhắm mục tiêu cụ thể cho Windows.

Windows Console Normaly sử dụng mã hóa CP850 và không phải UTF-8, vì vậy nếu bạn cố gắng sử dụng một tệp được mã hóa, bạn sẽ nhận được 2 ký tự (không chính xác) đó

>>> 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]
°-∅
7 thay vì mức độ °.not utf-8, so if you try to use a source file utf8-encoded, you get those 2 (incorrect) characters
>>> 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]
°-∅
7 instead of a degree °.

Trình diễn (sử dụng Python 2.7 trong bảng điều khiển Windows):

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

đầu ra hiệu quả

>>> 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]
°-∅
7.

Khắc phục: Chỉ cần buộc mã hóa chính xác (hoặc sử dụng unicode tốt hơn):

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

hoặc nếu bạn sử dụng tệp nguồn xác định rõ ràng mã hóa:

# -*- 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)

Đã trả lời ngày 7 tháng 6 năm 2016 lúc 11:46Jun 7, 2016 at 11:46

Hướng dẫn unicode for degree symbol python - unicode cho biểu tượng độ python

Serge Ballestaserge BallestaSerge Ballesta

Huy hiệu vàng 139K11116 Huy hiệu bạc236 Huy hiệu đồng11 gold badges116 silver badges236 bronze badges

0

Sử dụng Python

>>> u"\u00b0"
u'\xb0'
>>> print _
°
0,
>>> u"\u00b0"
u'\xb0'
>>> print _
°
1, bạn có thể sử dụng:

theta = 45
print(f"Theta {theta}\N{DEGREE SIGN}.")

Đầu ra:

>>> u"\u00b0"
u'\xb0'
>>> print _
°
2

*Cải thiện câu trả lời của tzot

Đã trả lời ngày 7 tháng 6 năm 2021 lúc 0:07Jun 7, 2021 at 0:07

Unicode cho biểu tượng độ là gì?

Mã hóa.Biểu tượng độ được bao gồm trong unicode dưới dạng dấu U+00B0 ° (& deg;).Để sử dụng với các ký tự Trung Quốc, cũng có các điểm mã cho U+2103 ℃ độ Celsius và U+2109 ℉ độ Fahrenheit.U+00B0 ° DEGREE SIGN ( °). For use with Chinese characters there are also code points for U+2103 ℃ DEGREE CELSIUS and U+2109 ℉ DEGREE FAHRENHEIT.

Đối với những gì được sử dụng nhân vật '\' trong Python?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một nhân vật đặc biệt, còn được gọi là nhân vật "Escape".Nó được sử dụng để thể hiện các ký tự khoảng trắng nhất định: "\ t" là một tab, "\ n" là một dòng mới và "\ r" là một sự trở lại vận chuyển.representing certain whitespace characters: "\t" is a tab, "\n" is a newline, and "\r" is a carriage return.

Có nghĩa là gì trong Python?

Chuỗi RAW Python được tạo bằng tiền tố một chuỗi theo nghĩa đen với 'r' hoặc 'r'.Chuỗi thô Python coi Backslash (\) là một ký tự theo nghĩa đen.Điều này rất hữu ích khi chúng tôi muốn có một chuỗi chứa dấu gạch chéo ngược và không muốn nó được coi là một nhân vật thoát.backslash (\) as a literal character. This is useful when we want to have a string that contains backslash and don't want it to be treated as an escape character.