python定义语言级的全局函数
来源:互联网 发布:看本子的软件 编辑:程序博客网 时间:2024/06/06 03:46
python 如何定义像 len 一样的语言级的全局函数呢?
我说的是,定义完之后不用 import 也能直接使用的函数。
那么,先来看看 len 函数是定义在哪里的。
呃……我也忘记我是怎么知道 len 函数是在 __builtins__ 里的了,反正我就是知道了嘛。
好的,既然知道全局函数是定义在 __builtins__ 里的,那我们试着往里面塞一个自定义
函数看看行不行,马上就要成功了,想想就激动,这时候需要冷静。。。
居然白高兴一场。。。-_-||| 提示__builtins__不能赋值新的元素。
但是,程序员的坚毅品质告诉我不能放弃。于是,经过N久的努力,我发现确实还是不行。
好了,不扯淡了,领导来了,要工作了,我得赶快结束这篇文章。方法还是有的。
删除python安装目录lib下所有的pyc和pyo文件,双击python.exe启动命令行,啥都别做,
关闭它,把lib下此时生成的pyc文件列举出来,稍微调试下会发现site模块是最后生成
pyc文件的,也就是说,python启动初始化时,site模块是最后被调用的。
让我们在python启动完毕前做点什么吧。
是的,也许你已经想到了,在site.py文件最后加上一些自己的代码,或者做得干净点,
在site.py文件末尾import一个自定义模块,在这个自定义模块里写咱的全局函数吧。
在Python启动完毕前__builtins__是可以被赋值的,别问我是怎么知道的,我就是知道。
好的,整理一下思路,在python启动完毕前,会自动import自定义的myglobalmodule模块,
在myglobalmodule模块中定义全局函数,然后在项目的其它模块中无需再导入myglobalmodule
即可直接使用自定义的全局函数了,当然,全局常量、全局变量都是可以的。
这样定义的全局函数和python内置的全局函数(如len函数)在使用上没有区别。
以上用到的思路是很有用的,稍微扩展就可以做很多事情,
例如,双击 python.exe 自动执行项目代码,无需命令行手动启动。
我说的是,定义完之后不用 import 也能直接使用的函数。
那么,先来看看 len 函数是定义在哪里的。
呃……我也忘记我是怎么知道 len 函数是在 __builtins__ 里的了,反正我就是知道了嘛。
好的,既然知道全局函数是定义在 __builtins__ 里的,那我们试着往里面塞一个自定义
函数看看行不行,马上就要成功了,想想就激动,这时候需要冷静。。。
居然白高兴一场。。。-_-||| 提示__builtins__不能赋值新的元素。
但是,程序员的坚毅品质告诉我不能放弃。于是,经过N久的努力,我发现确实还是不行。
好了,不扯淡了,领导来了,要工作了,我得赶快结束这篇文章。方法还是有的。
删除python安装目录lib下所有的pyc和pyo文件,双击python.exe启动命令行,啥都别做,
关闭它,把lib下此时生成的pyc文件列举出来,稍微调试下会发现site模块是最后生成
pyc文件的,也就是说,python启动初始化时,site模块是最后被调用的。
让我们在python启动完毕前做点什么吧。
是的,也许你已经想到了,在site.py文件最后加上一些自己的代码,或者做得干净点,
在site.py文件末尾import一个自定义模块,在这个自定义模块里写咱的全局函数吧。
在Python启动完毕前__builtins__是可以被赋值的,别问我是怎么知道的,我就是知道。
好的,整理一下思路,在python启动完毕前,会自动import自定义的myglobalmodule模块,
在myglobalmodule模块中定义全局函数,然后在项目的其它模块中无需再导入myglobalmodule
即可直接使用自定义的全局函数了,当然,全局常量、全局变量都是可以的。
这样定义的全局函数和python内置的全局函数(如len函数)在使用上没有区别。
以上用到的思路是很有用的,稍微扩展就可以做很多事情,
例如,双击 python.exe 自动执行项目代码,无需命令行手动启动。
就到这里吧,不写了,我要去搬砖了,工头又催了……
.
0 0
- python定义语言级的全局函数
- 全局函数的声明和定义
- YII定义常用的全局函数
- 全局静态函数的定义和实现
- Python语言中的函数定义--Python(16)
- python的函数定义
- Python函数的定义
- LCC编译器的源程序分析(19)全局函数的定义
- Laravel 5.4 定义全局函数
- 全局指针的定义
- MFC定义的宏、全局函数及全局变量
- MFC中定义全局变量和全局函数的方法
- (vc)全局变量和全局函数便于管理的定义方法
- MFC中定义全局变量和全局函数的方法
- MFC中全局函数的定义与引用
- MFC中定义全局变量和全局函数的方法
- MFC中定义全局变量和全局函数的方法
- MFC定义的宏、全局函数及全局变量
- linux下注销其它用户或者tty的命令
- Coin change
- 求两个数组的交集
- 判断网络
- RAC 实例迁移到单实例 -- 使用RMAN Duplicate
- python定义语言级的全局函数
- 3Sum Closest 3个数字的和等于或者最接近与目标数
- 写博客的种种好处
- apk反编译
- 人生第一笔试加面试 SAP胜略
- 面试
- POJ 1023 The Fun Number System (递推)
- 如何将float转为int
- Letter Combinations of a Phone Number 手机的字符表示