十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
- - 楼上……
站在用户的角度思考问题,与客户深入沟通,找到桃山网站设计与桃山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、域名与空间、网站空间、企业邮箱。业务覆盖桃山地区。
==========================
完全不需要main。你可以换成你喜欢的名字。
由于python是以缩进来判断程序段,完全不需要main来指导程序首先执行模块。
对于任意一个py文件(也是模块),在执行或者import的时候会自动执行没有缩进的代码。这部分代码就相当于main了。
一般,一个py文件(模块),按找一下顺序:首先是文字编码说明和注释,然后是各种类和方法的定义(def 、class),最后是没有缩进的部分,也就是导入时自动执行的部分。你可以把这个模块的一些初始化的代码加入其中。
python唯一涉及main的地方(和你问的main完全不是一个意思)是判断模块是直接运行还是导入运行。区别在于内置属性__name__。当一个模块是直接运行时,__name__就等于__main__,如果它是作为一般模块被导入时,__name__就是模块本身的名字。
python中常常在模块中定义一个测试用的方法test(),在需要测试的时候调用module.test()测试用。但是,在最后常常有以下代码,这部分和其他语言的main()是一个意思:
if __name__ == '__main__':
_test()
也就是在执行的时候调用test方法。所以对于python而言,根本不需要main(),只要把要调用的方法换成你自己的主程序名字的可以了,而名字可以是任意名字!
在调用这个程序时:
#python myfile.py
就会执行满足条件,执行代码。(注意这里#指linux下的root权限,windows在命令提示行下则是c:\program files\python26这样的提示符。)
如果是
import myfile 则不会。(这里是在python里面输入)
综上,正常的python里面根本没有main(),不知道你从哪里看到的。
希望你继续使用python,这是一致简洁方便规范的语言!
装饰器是用在函数不修改添加新功能的情况下诞生的,一般在需要装饰的函数上写
@funcname
def funb(){
.....
}
然后再装饰的函数里面去调用原函数,以达到不修改添加功能的作用
Python的自定义函数格式中规中矩,用def引导自定义函数名,用括号给出该函数的参数,在冒号后换行通过缩进确定函数体。在格式上和条件判断语句有些相似。
如果函数名和变量名冲突了,相当于重新赋值。而python解释是从上到下的,也就是说此时谁在下面谁占用这个变量名。剩下的那个就只能在内存中等待垃圾回收了。
自定义函数的参数:
按道理来说,即使Python不严格要求定义函数参数,但这方面的知识有助于理解自定义函数中参数操作的情况,还是应该说明一下的。
可以简单地理解为在定义函数时括号中声明的参数是我们在函数使用中会用到的参数,在调用函数时括号中的变量就是参加函数运算用到的变量,换个名字参数(用于定义)和变量(用于调用)就足以理解了。
定义一个A类,然后实例化一个A对象,通过setattr函数来给当前类添加一个变量,值是test函数。调用haha函数,就相当于调用了test函数。 例2,定义一个模块,通过另一个模块函数调用函数来增加变量,值是test2函数。调用haha函数,就相当于调用了test2函数。
原理
python系统会维护一个变量的字典,可以通过locals()或者globals()获取到该字典。由于字典是可变对象,那么,就可以动态的增加变量。由于函数也是一个对象,那么就可以将变量指向函数。这样就可以达到动态修改函数名的目的了。