了 is the Aspect Particle (动态助词), and Modal Particle (语气助词).
We short them as the 了(1), and 了(2).
Here 了(1) is the Aspect Particle, we use this formula to express a complete sentence:
"Verb + 了(1) + Attributive (Quantity phrase/Noun/Adjective) + Object", so the correct is 我买了一本书。
But 我买了书 is incorrect indeed, it is not a complete sentence in the Chinese language, and just like there is a lack of information following that makes the listener feel that the sentence was not completed. 我买了书, that means I buy a book, but what do next?
eg, the correct one,
我买了(1)书,然后回家了(2)。 I buy a book and then I go home.
了(1) indicates the completion of an action;
了(2) used to express a tone, indicates the completion of the sentence;
Therefore,
了(1) to express the completion of the action, it can not be directly followed by the object, the object must be preceded by an attributive, which can be a quantity phrase, noun, adjective, etc.
If the following of 了(1) is a simple object, the sentence is not complete, generally to add other components after the object, can be a clause.
Another, just as mentioned by @shichutian02 below, in a certain context, if someone asks you what you buy, you can just say 我买了书, because the listener knows the precondition, he/she asked the question.
(more)We short them as the 了(1), and 了(2).
Here 了(1) is the Aspect Particle, we use this formula to express a complete sentence:
"Verb + 了(1) + Attributive (Quantity phrase/Noun/Adjective) + Object", so the correct is 我买了一本书。
But 我买了书 is incorrect indeed, it is not a complete sentence in the Chinese language, and just like there is a lack of information following that makes the listener feel that the sentence was not completed. 我买了书, that means I buy a book, but what do next?
eg, the correct one,
我买了(1)书,然后回家了(2)。 I buy a book and then I go home.
了(1) indicates the completion of an action;
了(2) used to express a tone, indicates the completion of the sentence;
Therefore,
了(1) to express the completion of the action, it can not be directly followed by the object, the object must be preceded by an attributive, which can be a quantity phrase, noun, adjective, etc.
If the following of 了(1) is a simple object, the sentence is not complete, generally to add other components after the object, can be a clause.
Another, just as mentioned by @shichutian02 below, in a certain context, if someone asks you what you buy, you can just say 我买了书, because the listener knows the precondition, he/she asked the question.