Chinaunix
标题:
python跟在模块后的函数需要带()吗?
[打印本页]
作者:
274920831
时间:
2018-01-01 12:10
标题:
python跟在模块后的函数需要带()吗?
最近一个脚本在使用datetime模块。
我使用了这么一个写法
import datetime
now_time = datetime.datetime.now()
第二行的第一个datetime是模块名,第二个datetime是函数名,为什么第二个datetime后面不带括号?在我的印像中一般的写法是这样的:
模块.函数()
当我带上括号后,出现如下所示的报错:
[root@redhat pythonscript]# python date.py
Traceback (most recent call last):
File "date.py", line 21, in <module>
now_time = datetime.datetime().now()
TypeError: Required argument 'year' (pos 1) not found
意思是说需要一个参数,就是说datetime.datetime(),这个括号里面需要放一个参数吗?
模块.函数的写法格式是怎么样的?
作者:
neodreamerus
时间:
2018-01-05 15:16
datetime.datetime 是class 好伐!class也是callable,所以可以带括号,datetime.datetime(...) 返回一个instance
作者:
cfwyy
时间:
2018-01-11 13:58
第一个datetime是模块名,第二个datetime是类,不是函数
now()才是类的方法(函数)。
作者:
274920831
时间:
2018-01-11 21:45
回复
3#
cfwyy
非常感谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2