Python Forum
how to determine if an object is a number
Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
how to determine if an object is a number
#5
(Jul-09-2018, 11:00 PM)Windspar Wrote: If you know the type. You should be able to detect it.
If all the OP wants is to type-check, that may be fine. It depends on the definition of "number". If that definition is the set of types you describe, that works.

I think a big part of why Python tends to use duck typing by convention is this - a more flexible definition of "number" isn't its OOP is-a relationship with a set of classes (or types), rather, it's a set of operations available on an object. Defining the types in advance precludes new user types that support all the operations, unless they inherit from something. Even that aside, sometimes a third-party library comes along which you might want compatibility with, so the user doesn't even have the option of extending that class. It is for this reason that I strongly recommend against type-checking, unless it's really the only option.

On a potentially ironic note... if you're serious about the actual types (especially if we're talking about objects), I recommend you check out type hinting. It can help catch these issues before you run your script, instead of during. Why might this be ironic? Python's type hinting doesn't support duck typing (Scala, as a comparison, offers "structural typing" which is basically static duck-typing; it is not widely used and has performance issues but it's a proof-of-concept). I look forward to the day when Python does support type hints for duck typing, but it's not today :)
Reply


Messages In This Thread
RE: how to determine if an object is a number - by micseydel - Jul-09-2018, 11:17 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  TypeError: int() argument must be a string, a bytes-like object or a number, not 'Non Anldra12 2 5,279 May-02-2021, 03:45 PM
Last Post: Anldra12
  Determine number of all the immediately adjacent points in python zackk 1 1,919 Feb-06-2021, 09:23 AM
Last Post: zackk
  How to determine pen color from an image? robie972003 2 2,466 Mar-24-2019, 10:06 PM
Last Post: robie972003
  determine if an number is in a list Dbeah 7 3,854 Nov-06-2018, 12:11 PM
Last Post: buran
  determine if an number is in a list Dbeah 1 2,284 Nov-04-2018, 04:50 PM
Last Post: stullis
  How Do I Determine indentation in AST? jimo 3 4,337 Jul-01-2018, 04:25 PM
Last Post: buran
  The number of object makes code slower? fig0 1 2,537 Jan-25-2018, 11:16 PM
Last Post: Gribouillis
  Object Detection that records the number of secs the face is not detected trabis03 1 2,572 Jul-21-2017, 04:14 PM
Last Post: nilamo
  Determine whether a method was overridden porton 6 6,226 Nov-14-2016, 09:51 PM
Last Post: Ofnuts

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020