Have you ever come across these two words while studying Japanese? Both 先生 and 師匠 mean “teacher”, but they carry slightly different meanings than the strict dictionary definition suggested.
先生, as you may know, is mostly used for people who are in professional teaching positions, such as school teachers, tutors or instructors. 先生 is also often used for the people with respected jobs, like medical doctors, lawyers, and even some politicians.
師匠, however, is a bit different. A 師匠 is not a normal teacher, but rather a complete master of an art - they receive the absolute respect and attention from their students. It’s very similar to how Yoda is a 師匠 of the Jedi, or how Obi-wan Kenobi is the 師匠 of Anakin Skywalker. Or if speaking about real people, how Socrates was the 師匠 for Plato, and Plato the 師匠 for Aristotle.
Nowadays, 先生 (sensei) is being incorporated more and more into the English language and is often used in TV and movies, especially in shows involving martial arts. However, many of “sensei” depicted in those shows would probably be better translated as 師匠 as those teachers are usually highly skilled fighters (after all, that’s why we watch them!) and have the complete respect from their students and the world around them.
Teachers in Catholic schools are often very strict.
Speak with respect to your master!