python语句fobj.open(path)这个open是方法吗?

fobj = opan(path)和fobj.read(),这2句中,open和read都是方法吗?为什么表达式不一样?上面不可以写成fobj.open(path)这样么?方法不应该是对象后面加. 这样吗?还看到n=fobj.read()这样的,这个跟上面的又有什么区别?

其实看了你的问题,主要是你不理解函数返回值.
函数返回值
1 函数可以有返回值,也可以没有返回值。
2 对于没有返回值的函数,功能只是完成一个操作
3 函数可以有返回值,只要 return 就可以给出一个
比如你说的fobj.open(path),我要打开一个文件,但是打开不是最终目的,最终目的还是要对文件进行操作(增删改查),那么我打开之后就要把打开的文件拿到手才能操作,于是有了fobj = opan(path),fobj就是open这个函数返回给我们的文件对象
就像上面说的fobj.read()就是进行一个操作,而n=fobj.read()就是拿到这个操作返回的值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-20
open是文件打开的方法,它返回一个文件对象给fobj。这个对象要用read()方法来读取它的内容。在未赋值之前,fobj是一个NULL对象,它自然没有什么open()方法。n=fobj.read()是把文件内容赋值给n这个变量。
第2个回答  2019-02-20
在python中所有东西都叫对象,一个变量一个数值或者一个函数方法等都是对象,fobj=open(path)的fobj就是open方法打开文件的对象,而read()就是open方法打开文件返回对象的方法
相似回答