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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''1 class aaa():2     y = 'you'3     def __init__(self):4         self.y = 'me'5     def foo(self,aa):6         self.name = aa7         return (aa)8 9 x = aaa
10 print("1---->",x)
11 print("2---->",x.y)
12 print("3---->",x.foo)
13 # print("========分割线=========")
14
15 x = aaa()
16 print("4---->",x)
17 print("5---->",x.y)
18 # print("--------分割线---------")
19
20 print("6---->",x.foo)
21 print("7---->",x.foo('u'))
22 print("8---->",x.foo('cc'))
23 # print("~~~~~~~~分割线~~~~~~~~~")

执行结果:

1----> <class '__main__.aaa'>
2----> you
3----> <function aaa.foo at 0x000001F6592626A8>
4----> <__main__.aaa object at 0x000001F659296B70>
5----> me
6----> <bound method aaa.foo of <__main__.aaa object at 0x000001F659296B70>>
7----> u
8----> cc

根据结果来分析:

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

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

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

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

print(x.foo())
TypeError: foo() missing 2 required positional arguments: 'self' and 'aa'print(x.foo('aa'))
TypeError: foo() missing 1 required positional argument: 'aa'

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

所以

print(x.foo(x,'cc'))
print(x.foo(aaa,'cc'))得到结果 cc cc

可以看出,这里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中函数的括号使用相关推荐

  1. python 自动补全函数括号_三分钟,让你弄清楚Python中函数的括号使用

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大困惑. ...

  2. python怎么快速打括号_三分钟,让你弄清楚Python中函数的括号使用

    一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大困惑. 执行结果: 根据结果来分析: 1. x = aaa aaa是一个类名,后面没加括号,打印结 ...

  3. Python中函数的参数传递方式

    Python中函数的参数传递方式 .普通的参数传递 >>> def add(a,b):return a+b >>> print add(1,2) 3 >> ...

  4. python函数和方法概念_第48p,什么是函数?,Python中函数的定义

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第48篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(一)====> 函数概念介绍(上篇). 函数 ...

  5. python中home定义是什么_第48p,什么是函数?,Python中函数的定义

    原标题:第48p,什么是函数?,Python中函数的定义 大家好,我是 杨数 Tos ,这是<从 零 基础到大神>系列课程的第 48 篇文章 ,第三阶段的课程 : Python进阶知识:详 ...

  6. python中怎么调用函数_浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时 ...

  7. python中函数的参数

    函数参数(一) 思考一个问题,如下: 现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗? def add2num():a = 11 ...

  8. python中函数的入门

    python中函数形式诸如f(x),前面为函数名称,使用英文的小括号来包裹参数,括号里面的即为函数的传入参数.分为内置函数和自定义函数两类. 一.函数分类 1.1 内置函数 所谓的内置函数,即pyth ...

  9. python函数定义及调用-浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数�C封装独立的功能 2.调用函数�C享受封装的成果 函数的作用:在开 ...

最新文章

  1. MATLAB中常用的产生随机数的几种函数
  2. CVPR 2018 DEDT:《Efficient Diverse Ensemble for Discriminative Co-Tracking》论文笔记
  3. html点击波,Material Design风格按钮点击波动画效果
  4. mysql存储过程编写
  5. std::thread 不 join
  6. 如何将Java应用程序置于Apache HTTP服务器之后
  7. 录音喊话器的故障修理_我司quot;XAHHQ1型quot;喊话器 通过公安部检测
  8. Python解决滑块验证码
  9. 谷歌开源文件访问漏洞审计工具 PathAuditor(详解)
  10. 计算机达人成长之路(8)连载
  11. gitblit如何迁移入gitlab合并迁移_gitlab和gitlab项目迁移
  12. numpy 辨异(一) —— reshape 与 resize
  13. WCF Endpoint分类
  14. Log4net PatternLayout 参数
  15. 领导力教练:世界著名企业教练们的实践心得(原书第3版)
  16. 【Python】断言(assert)的用法,你真的懂吗?
  17. Linux7 下Hadoop集群用户管理方案之五 安装Hadoop集群遇到的坑
  18. 2021年安全员-C证(陕西省)考试总结及安全员-C证(陕西省)模拟考试系统
  19. 其实你的AI技能并没有那么值钱\n
  20. 《机器学习实战》支持向量机(手稿+代码)

热门文章

  1. web自动化测试之百度经验-HTTP层面的Web Service自动化测试
  2. ASP.NET实现微信功能(2)(服务号高级群发)
  3. 【原创】如何组织好一个学习小组
  4. Hejr 6-8 - aamsaafanqs Blog - Blogster
  5. 删除桌面快捷方式小图标的bat命令
  6. [转]卓越科技回应所谓的最牛,最受歧视的招聘
  7. php中怎么连接数据库中的表,php 连接 excel表格数据库数据-php中如何将execl的数据导入到数据库中...
  8. 【实例】销售合同VA41屏幕字段增强实例
  9. 采购申请 RFC BAPI
  10. LTRIM、RTRIM和TRIM在ORACLE中的用法: