Unicode dizeleri adlandırılmış bir ad için ad olarak atamada sorun yaşıyorum.adında unicode dizesiyle adlandırılmış ad alanı
a = collections.namedtuple("test", "value")
ve bu değildir: Bu işler
b = collections.namedtuple("βαδιζόντων", "value")
Ben
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.4/collections/__init__.py", line 370, in namedtuple
result = namespace[typename]
KeyError: 'βαδιζόντων'
Neden vaka olduğunu hatası alıyorum? Dokümantasyonda "Python 3 tanımlayıcılarda Unicode karakterlerini de destekliyor" ve anahtar geçerli unicode mu?
Farkettiğim bir şey var: Eğer '' ó'' dışı bırakırsam iyi çalışır. Bana bir böcek gibi görünüyor. – pmos
İlginç - Kendimi test etmeliydim. ó unicode "Yunan Uzatılmış" bloğundan gelen tek karakter, bu yüzden alakalı olabilir. Ancak belgelerin söylediği şeyle aynı fikirde değil. – Thomas
Daha yakından inceleme yapıldığında, bir sebepten dolayı, '' ó''' UTF-8 kodlu kaynak dosyada '' '\ xe1 \ xbd \ xb9''' değil,' ''\' ye dönüşür xcf \ x8c ', 'namedtuple'' tarafından oluşturulan kodda kendi sınıfını oluşturur. Bu kesinlikle bir böcek gibi görünüyor. – pmos