学习pythin 遇到一个了问题 ,python里的关键字和函数有没有本质区别?比如del 关键字 为什么不设计成del函数呢? 一切皆对象 函数即对象方法 变量即对象属性,那关键字呢?
1.一切皆对象,函数也是对象,但对象不都是函数
2.你把关键字变成函数,那if语句也是函数调用吗,while循环也变成函数调用了?
3.你能问出这样的问题,说明根本没有理解什么叫面向对象,什么叫一切皆对象,到底什么是对象
你理解的对象就是函数,这太狭隘了
4.其实很多函数它也不仅仅是个函数,其实用到了反射的机制,比如str()这个函数,它就不是简单的把一切东西转换成str类型,而是要去被转换的类型里调用它自身的__str__()函数,这样才能实现各种各样奇葩的类型都能够被str转换并且事前不需要把各个类型的转换代码写死在str()函数里面
https://www.cnblogs.com/seanjiang/p/9762404.html
关键字是语言中赋予特殊意义的符号
关键字是给编译器看的,比如+-*/= return 这些是有其特定功能的,只要编译器认识,语言的创作者可以使用任意字符,
函数是给你看的,是需要加xxxx()去执行的,有参数,有返回值,函数可以做很多事,但是无法代替关键字
函数名是可以覆盖的,一些常用函数也可以被覆盖
但是关键字不会
关键字是做限制的,函数是方法,函数是做具体事情的