我有一個問題可能很簡單,或者可能無法回答,我不確定。我想知道如何在Python中定義顏色。在python中定義顏色
例如,我想簡單地做到這一點:
myColor = #920310
然而,在Python用「#」符號自動評論任何以下。 有沒有辦法解決這個問題?謝謝你,對不起,如果如果你想把它當作一個字符串,這個問題很簡單
我有一個問題可能很簡單,或者可能無法回答,我不確定。我想知道如何在Python中定義顏色。在python中定義顏色
例如,我想簡單地做到這一點:
myColor = #920310
然而,在Python用「#」符號自動評論任何以下。 有沒有辦法解決這個問題?謝謝你,對不起,如果如果你想把它當作一個字符串,這個問題很簡單
,做
myColor = '#920310'
如果你真的希望它是一個Color
對象,你可以這樣做
myColor = Color('#920310')
並解釋爲Color
的構造函數。
如果問題是你可以讓#
不被解釋爲一個評論,那麼答案是否定的。如果#
不是註釋,它將不再是Python。
你可以定義你自己的類Python語言,#
之後的=
並不意味着評論(因爲它無論如何都不是有效的Python),它不會破壞任何代碼,但是你將無法在其他地方使用#
語法而不破壞代碼。
mycolor = '#<colorcodehere>'
mycolor將被視爲一個字符串,所以頂點內一切都會被讀取(#太)
非常感謝你! –
請不要發表感謝評論,這是[upvoting](http://stackoverflow.com/privileges/vote-up)的用途。 – agf
根據您計劃如何使用的值,你有很多選擇:
colorString = "#920310"
colorList = [0x93, 0x03, 0x10]
colorTuple = (0x93, 0x03, 0x10)
colorDict = {
"R" : 0x93,
"G" : 0x03,
"B" : 0x10,
}
或者,如果你打算有幾個操作來處理你的膚色,說轉換成不同的格式,你可以定義一個顏色等級:
class Color(object):
def __init__(self, r, g, b):
self._color = (r,g,b)
def get_tuple(self):
return self._color
def get_str(self):
return "#%02X%02X%02X" % self._color
def __str__(self):
return self.get_str()
def get_YUV(self):
# ...
用法示例:
>>> a = Color(0x93, 0x03, 0xAA) # set using hex
>>> print a
#9303AA
>>> b = Color(12, 123, 3) # set using int
>>> print b
#0C7B03
非常感謝! –
myColor = int('920310', 16) #as an integer (assuming an RGB color in hex)
myColor = '#920310' #as a string
from collections import namedtuple
Color = namedtuple("Color", "R G B")
myColor = Color(0x92, 0x03, 0x10)
#as a namedtuple
有很多的事情可以找,和同樣多的方式來使用它。最終,這取決於你想如何使用這種顏色。
非常感謝你,將以簡單的字符串解決方案^^開始 –
你打算如何使用該變量? –
顏色在什麼情況下?您定義顏色的方式可能取決於您打算如何使用它。 – multipleinterfaces