一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大困惑。
执行结果:
根据结果来分析:
1、 x = aaa aaa是一个类名,后面没加括号,打印结果 ,表明x是个类
2、 由于没有加括号,类没有实例化,y为公有属性,因此x.y打印的结果为you
3、foo为aaa类中的函数,称为方法或属性,同时 foo后面也未加括号,打印结果为foo在内存中的地址
注意,此时 print(x.foo())或者 print(x.foo(‘aa’)) 都会报错,
由此可见,根据提示,foo后面应该带两个参数,这里为啥要带两个参数呢。因为x没有初始化,x没有作为参数传到foo函数里
所以
从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,
面试真题,面试真题,面试真题等。想要这些资料的可以进群:688244617
可以看出,这里self指的是类本身
4、 x = aaa() 类aaa后面带括号,打印结果 aaa 类内存中的地址
5、由于x = aaa() 表示aaa被实例化,因此会调用构造方法中的y,打印结果是self.y的值
6、表示foo是类中的方法,foo没有带括号,不执行函数。
7和8 ,foo带括号,执行foo函数。此处 foo里只带一个参数“u” 或者"cc" ,并没有和上面提到的带两个参数,因为aaa实例化了
因此得出结论。
类带括号,类实例化,
函数带括号,执行函数,返回函数的结果
否则不执行,只是调用类或函数本身。
觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!
Excel催化剂的【专业图表库】,仅提供一个工具的输出,让用户可以在制作专业图表过程中更低的门槛,更快速的完成所想要实现的图表。具体参考:第69波-打造最专业易用的商务图表库https://www.jianshu.com/p/914d075418cf专业的图表,仍需要广大图表爱好者乐于分享的精神多多贡献自己的作品才能有真正的实质性的内容丰富度。感谢国内图表大师-刘万祥老师的带头作...
聚合查询格式:db.getCollection("集合名字").aggregate([ ])聚合条件语句$match:db.getCollection("集合名字").aggregate([ { $match:{sex:4} }])聚合分组语句$group与统计个数count:(_id:null统计整个文档)db.getCollection("集合名字").aggre...
对于很多编程人员来说,有些字体写出来的代码,不仅看起来赏心悦目,而且写代码的时候非常方便。但是很多程序员都是使用编辑器所默认的字体,这样写出来的代码,不仅千篇一律,而且枯燥无味。下面我们就来看看,究竟哪些字体写出来的代码更美观,哪些字体更适合写代码!1.字母的宽度一致或称为等宽字体,由于代码文件是普通文本,不带样式的,所以宽度一致易于排列和对齐,能迅速找到位置,提高可读性。印刷术中这种等宽字体称之...
Hello被程序员编译出.c文件,这是它的前身,它的生命由这里开始,被预处理后,它引用的文件被复制进来,这是它的第一次完善,之后它被编译器处理成汇编语言文件,这使得它能被作用于某一个特定的系统。而后,汇编器将他翻译为机器语言文件,但仅就此,它还不能被实际运行,直到链接器完成重定位工作,它才真正成为可以被加载到内存中执行的程序。之后,在shell窗口中,他被bash父进程fork出子进程,并execve,在这里它完成了它的使命,并在这里结束生命,在它结束时传递SIGCHLD信号并被父进程回收,这就是hel
红米 Note 12:正面配置了一块相对高端的6.67英寸三星OLED材质居中极点全面屏,最高支持120Hz屏幕刷新率、240Hz触控采样率,分辨率2400x1080像素,像素密度395PPI,峰值亮度1200nit,配备侧边指纹识别;存储方面,搭载LPDDR4X运行内存+UFS 2.2闪存,拥有4GB+128GB版本1199、6GB+128GB版本1299、8GB+128GB版本1399、8GB+256GB版本1599四种存储版本可选。红米 Note 12:前置800万像素自拍镜头,f/2.0光圈;
3-7 缩减名单:你刚得知新购买的餐桌无法及时送达,因此只能邀请两位嘉宾。 - 以完成练习3-6时编写的程序为基础,在程序末尾添加一行代码,打印一条你只能邀请两位嘉宾共进晚餐的消息。 - 使用pop() 不断地删除名单中的嘉宾,直到只有两位嘉宾为止。每次从名单中弹出一位嘉宾时,都打印一条消息,让该嘉宾知悉你很抱歉,无法邀请他来共进晚餐。 - 对于余下的两位嘉宾中的每一位,都打印一条消息...
{承上一节继续介绍点集的凸包(下文中所有凸包 若不做特殊说明均指点集的凸包)这一节介绍相比更高效的算法}====================================================================一.卷包裹算法(Gift Wrapping Algorithm)的特性前面提到过卷包裹算法的复杂度问题由于卷包裹算法是两重...
class Circle{ public double radius; Circle(double radius){ this.radius=radius; } public void setRadius(double radius){ this.radius=radius; } public double getRadius(){ return radi
html<script id="tmplOrderItem" type="text/x-jquery-tmpl"> <tr> <td>${$item.getOrderIndex()}</td> <td>${PreOrder}</td> <td>${OldTableID}</td> <td>
最近用到编码器控制电机,因为编码器用到了定时器的输入捕获功能,初学时候没有认真去看,这边打算结合代码重新整理一遍。编码器接口模式1.选择编码器接口模式的方法是:如果计数器只在TI2的边沿计数,则置TIMx_SMCR寄存器中的SMS=001;如果只在TI1边沿计数,则置SMS=010;如果计数器同时在TI1和TI2边沿计数,则置SMS=011。通过设置TIMx_CCER寄存器中的CC1P和CC2P位,可以选择TI1和TI2极性;如果需要,还可以对输入滤波器编程。两个输入TI1和TI2被用来作为