本文主要是介绍java初入python的一些不适,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面
作为一个更喜欢Java这种强语言的菜鸡,写python都是过程式编程,全然放弃了Java中熟悉的OOP,这怎么能行呢,做测试,看博客,遂有了这篇文章,仅记自己掉的小坑。
对象实例化
问题
与Java提倡一个文件写一个类(内部类等不在本次讨论范围内),文件名与类名一致不同,python一个文件可以写若干个类,类与文件名理所当然可以保持不一致了。然而就在我习惯性的在一个文件中写下类,在另一个文件import调用时,就出现问题了。
# Hello.py
class Hello:def __init__(self):print("hello")
# run.py
import Hello
if __name__ == "__main__":c = Hello()
但是,上述代码就报在我的一脸懵逼中报错了
TypeError: 'module' object is not callable
额,这是什么情况,难道python的对象实例化不是这么玩的吗?我Java这样完全没有问题啊
解决
Python中文件相当于一个模块,通过模块可以访问其中的类和方法,在非本文件中使用类和方法是,不能省略文件名,所以下述两种形式都可以:
# 第一种
import Hello
if __name__ == "__main__":c = Hello.Hello()# 第二种
from Hello import Hello
if __name__ == "__main__":c = Hello()
综上,感觉文件还是别跟类名一样了,好容易混淆啊。
这篇关于java初入python的一些不适的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!