三分钟,让你弄清楚Python中函数的括号使用

三分钟,让你弄清楚Python中函数的括号使用_第1张图片

一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大困惑。

三分钟,让你弄清楚Python中函数的括号使用_第2张图片

执行结果:

三分钟,让你弄清楚Python中函数的括号使用_第3张图片

根据结果来分析:

1、 x = aaa aaa是一个类名,后面没加括号,打印结果 ,表明x是个类

2、 由于没有加括号,类没有实例化,y为公有属性,因此x.y打印的结果为you

3、foo为aaa类中的函数,称为方法或属性,同时 foo后面也未加括号,打印结果为foo在内存中的地址

注意,此时 print(x.foo())或者 print(x.foo(‘aa’)) 都会报错,

三分钟,让你弄清楚Python中函数的括号使用_第4张图片

由此可见,根据提示,foo后面应该带两个参数,这里为啥要带两个参数呢。因为x没有初始化,x没有作为参数传到foo函数里

所以

三分钟,让你弄清楚Python中函数的括号使用_第5张图片

三分钟,让你弄清楚Python中函数的括号使用_第6张图片

可以看出,这里self指的是类本身

4、 x = aaa() 类aaa后面带括号,打印结果 aaa 类内存中的地址

5、由于x = aaa() 表示aaa被实例化,因此会调用构造方法中的y,打印结果是self.y的值

6、表示foo是类中的方法,foo没有带括号,不执行函数。

7和8 ,foo带括号,执行foo函数。此处 foo里只带一个参数“u” 或者"cc" ,并没有和上面提到的带两个参数,因为aaa实例化了

因此得出结论。

类带括号,类实例化,

函数带括号,执行函数,返回函数的结果

否则不执行,只是调用类或函数本身。

觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!

你可能感兴趣的:(Python,Python函数,Python基础,后端,编程语言)