解析python调用函数加括号和不加括号的区别

作者:不积硅步,无以至千里 时间:2023-11-30 17:29:50 

下面看下python调用函数加括号和不加括号的区别,具体代码如下所示;


def  bracket(data):

return data

if __name__ == '__main__':

# 不带括号调用的结果:<function bracket at 0x0000000004DD0B38>,a是整个函数体,是一个函数对象,不须等该函数执行完成

a = bracket

print a

# 带括号调用的结果:6 ,b是函数执行后返回的值6,须等该函数执行完成的结果

b = bracket(6)

print b

1、不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成。

2、带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果。

简单说就是:

如果使用括号,则只调用if和函数。hello()调用函数;hello只是一个绑定到函数的名称,可以用来将函数对象作为参数传递给另一个函数。


def caller(f):
   f()

def hello():
   print("hi")

def goodbye():
   print("bye")

caller(hello)  # Prints "hi"
caller(goodbye)  # Prints "bye"

id返回不同的值,因为对id的每次调用都接收一个完全独立的对象作为其参数。使用id(hello)id获取函数对象本身。使用id(hello())id将获得通过调用hello返回的对象;

来源:https://www.cnblogs.com/zpzp/p/15464139.html

标签:python,函数,括号
0
投稿

猜你喜欢

  • SQL 中 NULL值测试代码

    2024-01-19 04:03:32
  • 深入研究ASP中的Session

    2007-09-13 12:37:00
  • 利用python3如何给数据添加高斯噪声

    2023-06-11 20:52:17
  • javascript的document.referrer浏览器支持、失效情况总结

    2024-05-13 09:35:51
  • ASP使用wsImage组件给图片加水印

    2008-12-29 19:14:00
  • python实现21点小游戏

    2023-11-21 08:58:27
  • python编写实现抽奖器

    2023-02-25 00:44:45
  • Python 循环读取数据内存不足的解决方案

    2022-02-25 17:32:17
  • golang 生成对应的数据表struct定义操作

    2024-05-21 10:27:47
  • mysql数据校验过程中的字符集问题处理

    2024-01-28 15:16:16
  • Flask-Sqlalchemy的基本使用详解

    2023-06-16 19:40:02
  • 浅谈Go中数字转换字符串的正确姿势

    2024-05-08 10:51:42
  • vue 实现边输入边搜索功能的实例讲解

    2024-06-05 09:16:42
  • GoLang中的互斥锁Mutex和读写锁RWMutex使用教程

    2024-05-25 15:13:05
  • python基于property()函数定义属性

    2022-11-01 04:55:14
  • 查看python安装路径及pip安装的包列表及路径

    2021-10-25 01:36:48
  • Python实现归一化算法详情

    2023-05-11 12:18:33
  • Python中Flask-RESTful编写API接口(小白入门)

    2023-02-07 10:47:46
  • python发qq消息轰炸虐狗好友思路详解(完整代码)

    2023-08-06 15:13:19
  • 利用Python如何实时检测自身内存占用

    2023-01-11 03:12:02
  • asp之家 网络编程 m.aspxhome.com