O'Reilly logo

Learning Cython Programming by Philip Herron

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Compile time

At compile time, just like in C/C++, we have the C-preprocessor to make some decisions on what gets compiled, mostly from conditionals, defines, and a mixture of both. In Cython, we can replicate some of this behavior using IF, ELIF, ELSE, and DEF. This is demonstrated as an example in the following code line:

DEF myConstant = "hello cython"

We also have access to os.uname as predefined constants from the Cython compiler:

  • UNAME_SYSNAME
  • UNAME_NODENAME
  • UNAME_RELEASE
  • UNAME_VERSION
  • UNAME_MACHINE

We can also run conditional expressions against these, such as:

IF UNAME_SYSNAME == "Windows":
    include "windows.pyx"
ELSE:
    include "unix.pyx"

You also have ELIF to use in conditional expressions. If you compare something like this against some of your ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required