[rearranging for easier responding] On 2017-10-27 13:35, Robert wrote: > self.freqslider=forms.slider( > parent=self.GetWin( ), > sizer=freqsizer, > value=self.freq, > callback= self.setfreq, > minimum=−samprate/2, > maximum=samprate/2, > num_steps=100, > style=wx.SL_HORIZONTAL, > cast=float , > proportion=1, > ) > I am interested in the second of the last line. > > cast=float ,
The space doesn't do anything. You have a parameter list, so the comma just separates "cast=float" from the next parameter, "proportion=1". The "cast=float" passes the "float()" function as a way of casting the data. In this case, it likely expects a function that takes a number or string, and returns a number that can be used to render the slider's value/position. You could create one that works backwards: def backwards_float(input): return -float(input) # note the "-" inverting the interpreted value forms.slider( … cast=backwards_float, … ) > I've tried it in Python. Even simply with > > float This is just the float() function. > it has no error, but what use is it? It's good for passing to something like the above that wants a function to call. The body of the function likely has something like resulting_value = cast(value) which, in this case is the same as resulting_value = float(value) > I do see a space before the comma ','. Is it a typo or not? I think it's unintended. The whole question started off peculiar because outside of a function-invocation thing = other, with the comma creates a one-element tuple and assigns the resulting tuple to "thing" >>> x = 42 >>> x 42 >>> y = 42, >>> y (42,) Usually people will be more explicit because that comma is easy to miss, so they'll write >>> z = (42,) >>> z (42,) so that later people reading the code know that it's intended to be a one-element tuple. -tkc -- https://mail.python.org/mailman/listinfo/python-list