Shouldn't:
arcpy.CalculateStatistics_management("demExtract"),"1","1","#","OVERWRITE")
be
arcpy.CalculateStatistics_management("demExtract","1","1","#","OVERWRITE")
?
As long as your arcpy.env.workspace is set to where the raster "demExtract" lives, then it should work. I would refrain from naming files with camelCase and name it "dem_extract" instead.
That said about arcpy.env.workspace, I usually provide the tools with a datset's full path instead of relying on the assumption that all my input datasets are coming from the same workspace, which they often do not.
Per your question about a best practices, I am in the (bad) habit of using a harcoded '\\' as my path seperator, and it is much more correct to use os.path.join or os.path.sep to ensure that you are being OS-specific. I only use windows so '\\' works for me. However, if ArcGIS ever gets ported to UNIX or something, I'll be in a world of hurt updating my code...