diff --git a/bokeh/models/glyphs.py b/bokeh/models/glyphs.py
index <HASH>..<HASH> 100644
--- a/bokeh/models/glyphs.py
+++ b/bokeh/models/glyphs.py
@@ -20,16 +20,15 @@ class Glyph(PlotObject):
 
     def __init__(self, **kwargs):
         props = dict()
-        if "line_alpha" in self.__class__.__dict__.keys():
+        if hasattr(self.__class__, "line_alpha"):
             props.update(themes.default['line_defaults'])
-        if "fill_alpha" in self.__class__.__dict__.keys():
+        if hasattr(self.__class__, "fill_alpha"):
             props.update(themes.default['fill_defaults'])
-        if "text_alpha" in self.__class__.__dict__.keys():
+        if hasattr(self.__class__, "text_alpha"):
             props.update(themes.default['text_defaults'])
         props.update(kwargs)
         super(Glyph, self).__init__(**props)
 
-
     visible = Bool(True, help="""
     Whether the glyph should render or not.
     """)
slightly better approach to apply default visual props to glyphs