hoe zit het met de premie van de pythonuitdrukking?

lambda x : '%x' % x

de functie is decimaal tot hexadecimaal, wat is het principe? Ik ben python newbie, alvast bedankt

0
Wat bedoel je met "wat het principe"? - Hoe werkt lambda, of hoe hex werkt, of ...?
toegevoegd de auteur Jon Clements, de bron

2 antwoord

In tekenreeksnotatie is '% x' een geplaatste houder voor hexadecimale uitvoer.

De functie neemt een waarde aan en retourneert deze als een hexadecimale reeks.

Het is niet "decimaal naar hexadecimaal", maar "retourneer (wat je ook krijgt) als een tekenreeks in hexadecimale notatie".

Bijvoorbeeld,

print '%x' % 0b11111111   # -> 'ff'  (from binary)
print '%x' % 0377         # -> 'ff'  (from octal)
print '%x' % 255          # -> 'ff'  (from decimal)
print '%x' % 0xff         # -> 'ff'  (from hex)
4
toegevoegd
Er bestaat in feite niet zoiets als een decimaal getal of een hexadecimaal getal. Dit zijn typen representaties van cijfers.
toegevoegd de auteur Karl Knechtel, de bron
a = 255

#use a hexadecimal format string to display the value of a - prints ff
print "%x" % a 

#create a function that takes a value and returns its hexadecimal representation
tohex = lambda x : '%x' % x

#call the function - prints ff
print tohex(255)
1
toegevoegd