Asking for Research Position in Person
In my experience, you are more likely to be noticed by a professor if you actually show up in person. Busy people tend to overlook/ignore/forget emails, and asking in person makes more of an impression. Since you mentioned attending his office hours, your face might seem familiar, while your name might not (you did not mention mailing him explicitely).

Before asking, think about what skills you can bring to the table (he might ask you about programming languages etc).

Do not, however, overstay your welcome: it is likely he will not hand you a contract right on the spot, but maybe wants to ask around his department/think of a task to give you first. 

In any case, make sure to tell him your full name and/or email address, he might want to write it down ;)