人的姓到底是什麼時候出現的呢?有考證的資料显示:姓是出現在名后的,正式出現在周朝。也就是說,人是先有名的,後來才出現姓氏。
儘管前文說張姓是黃帝封的,但黃帝之後的堯、舜、禹都是單字,這是姓呢,還是名呢?其實,這不應該是姓,直到商朝,可以說都沒有真正的姓出現。翻開歷史書,商朝的帝王們的稱謂都很特別:什麼外丙、太甲、祖丁等等。這是把十天干甲、乙、丙、丁、戊、己、庚、辛、壬、癸進行不同組合而起的名,而非姓。
既然那時沒有姓出現,那麼前文說的張姓起源就很難站住腳。不過,還有另一種說法:據說秦末有個叫姬良的人去刺殺秦始皇未遂,便改為張姓,即後來的名將張良,他的後代就姓張了。
從歷史的角度講,在遠古時期,姓不是主要的存在形式,那時只是以部落為群體的稱呼而已,如神農氏。就是說有一個群體叫神農,神農群體內的人就叫神農人。姓在伏羲時代據說也有了,伏羲據說姓風。但是,也沒有人叫他為風伏羲,後人還是叫他伏羲。
隨着原始社會的發展,到原始社會晚期,部落群體之間有了交往,如神農部落與一個叫有熊的部落交往,那麼互相就稱神農氏和有熊氏。這兩個部落名稱就代表了早期的姓氏了,即姓神農和姓有熊。
接下來,隨着社會的發展,部落遷到某個地方后,又以所在地為自己的稱呼,這時包括受封而得的稱呼。如陝西華縣東古稱鄭地,後來的鄭國就建在這裏,這裏的人就姓鄭。
封建社會之後,官職可以世襲,子孫為显示身份,就延續了官職為姓,如史、師、軍、司徒、司馬等都是官職,而不是姓氏,但被後來的人當做自己的姓氏了。
另一種姓氏起源是以先人的名和號為姓。成湯是名,而不是姓。成湯死後,有人就以湯為姓;周朝武王的“武”字是名,他死後,有人以武為姓。
最後一種姓氏的起源是改姓和賜姓。一些少數民族入漢后改成漢人的姓。還有是為避禍而改姓的或為避諱而改姓的。如伍改成五,譚改成覃,敬改成了苟等。至於賜姓的那就更多了,前文講的李世民改的那些姓都屬於賜姓。
據說,明朝燕王奪得帝位后,賜一個叫馬三保的人姓鄭,並起名叫和,這就是後來的航海家鄭和。
從姓氏的形成方式來看,姓不是完全世襲的,而是可更改和可隨時變更的。