A method for preparing 2,3,3,3-tetrafluoropropene (HFO-1234yf), comprising: a) heating and vaporizing hydrogen fluoride and 1,1,2,3-tetrachloropropene, and introducing hydrogen fluoride and TCP to a first reactor for carrying out reaction under the action of a first catalyst, whereby yielding a first product mixture comprising 2,3-dichloro-3,3-difluoropropene (HCFO-1232xf), wherein a mole ratio between hydrogen fluoride and TCP is between 5:1 and 60:1, a reaction temperature is between 200 and 500°C, and a space velocity is between 200 and 2000 h -1; b) preheating the first product mixture comprising HCFO-1232xf, introducing the first product mixture comprising HCFO-1232xf to a second reactor for carrying out reaction under the action of a second catalyst, whereby yielding a second product mixture comprising HFO-1234yf, wherein the reaction temperature of the second reactor is higher than the reaction temperature of the first reactor by between 30 and 180°C, and the temperature of the preheated first product mixture comprising HCFO-1232xf is higher than the reaction temperature of the first reactor and lower than the reaction temperature of the second reactor; c) introducing the second product mixture comprising HFO-1234yf to a first distillation column for a first distillation to separate a first distillate from first bottom components, and refining the first distillate to obtain hydrochloric acid; d) introducing the first bottom components to a second distillation column for a second distillation to separate a second distillate from second bottom components, and circulating the second distillate to the first reactor, in which the second distillate is HF; and e) introducing the second bottom components to a third distillation column for a third distillation to separate a third distillate from third bottom components, collecting the third distillate to obtain HFO-1234yf, and circulating the third bottom components to the first reactor. a) heating and vaporizing hydrogen fluoride and 1,1,2,3-tetrachloropropene, and introducing hydrogen fluoride and TCP to a first reactor for carrying out reaction under the action of a first catalyst, whereby yielding a first product mixture comprising 2,3-dichloro-3,3-difluoropropene (HCFO-1232xf), wherein a mole ratio between hydrogen fluoride and TCP is between 5:1 and 60:1, a reaction temperature is between 200 and 500°C, and a space velocity is between 200 and 2000 h -1; b) preheating the first product mixture comprising HCFO-1232xf, introducing the first product mixture comprising HCFO-1232xf to a second reactor for carrying out reaction under the action of a second catalyst, whereby yielding a second product mixture comprising HFO-1234yf, wherein the reaction temperature of the second reactor is higher than the reaction temperature of the first reactor by between 30 and 180°C, and the temperature of the preheated first product mixture comprising HCFO-1232xf is higher than the reaction temperature of the first reactor and lower than the reaction temperature of the second reactor; c) introducing the second product mixture comprising HFO-1234yf to a first distillation column for a first distillation to separate a first distillate from first bottom components, and refining the first distillate to obtain hydrochloric acid; d) introducing the first bottom components to a second distillation column for a second distillation to separate a second distillate from second bottom components, and circulating the second distillate to the first reactor, in which the second distillate is HF; and e) introducing the second bottom components to a third distillation column for a third distillation to separate a third distillate from third bottom components, collecting the third distillate to obtain HFO-1234yf, and circulating the third bottom components to the first reactor.