社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

奇怪,有的Python函数或方法调用需要两对括号?

Python小屋 • 6 年前 • 388 次点击  

本文源自于一位读者的问题:为啥有的函数或方法调用要使用两对括号呢?

但是在我的印象里并没有这种用法啊。于是我简单扫了一眼代码,发现这位朋友说的并不是函数调用需要两对括号,而是使用元组做函数或方法的参数。

在Python中,这样的情况很多,但是初学者不了解的话容易晕,所以简单整理几个常见的类似情况,也欢迎朋友们补充类似的用法:

# 内置函数max()可以直接对多个值计算最大值

>>> max(3, 5, 7)
7

# 也可以对元组、列表或其他序列计算最大值

>>> max((3, 5, 7))
7

>>> from PIL import Image
>>> im = Image.open('test.png')

# 获取指定位置像素值,必须使用元组做参数
>>> im.getpixel((30, 50))
(255, 255, 255, 255)

# 下面的情况也是用元组做函数参数

# 但是一般不会引起误会

>>> im.putpixel((30,50), (0,0,0,255))
>>> im.getpixel((30, 50))

(0, 0, 0, 255)

# 内置函数sum()不能直接对多个数值求和

>>> sum(3, 5, 7)
Traceback (most recent call last):
  File "", line 1, in
    sum(3,5,7)
TypeError: sum expected at most 2 arguments, got 3

# 可以对元组、列表或其他序列对象中的元素求和

>>> sum((3, 5, 7))
15

>>> sum([3, 5, 7])
15
>>> sum(range(3, 8, 2))
15

>>> sum(map(int, '357'))
15



----------相关阅读----------

Python编程常见出错信息及原因分析(4)

Python编程常见出错信息及原因分析(3)

Python编程常见出错信息及原因分析(2)

Python编程常见出错信息及原因分析(1)

如果把Python代码写成这样子就太难看了


Python编程一定要注意的那些“坑”(八):赋值运算符=

Python编程一定要注意的那些“坑”(七)

Python编程一定要注意的那些“坑”(六)

Python编程一定要注意的那些“坑”(五)

Python编程一定要注意的那些“坑”(四)

Python中一定要注意的那些“坑”(三)

Python编程中一定要注意的那些“坑”(二)

Python编程中一定要注意的那些“坑”(一)

Python函数默认值参数的2个坑


详解Python序列解包(5)

详解Python序列解包(4)

详解Python序列解包(3)

详解Python中的生成器表达式(generator expression)

详解Python中的序列解包(2)

详解Python序列解包


1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)


大家都在学Python,你和别人的差距在哪?

大学生们颤抖吧,中学生已经开始学Python了!

董付国老师6本Python系列图书阅读指南

祝所有程序员1024节日快乐

学会提问,你就成功了一大半!

盘点那些让人上火的提问方式(论如何让交流更高效)




----------喜大普奔----------

1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年11月第4次印刷)系列图书之后,董付国老师新书《Python程序设计开发宝典》(2017年10月第2次印刷)。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3


2、董付国老师新作《中学生可以这样学Python》已于2017年10月正式出版,已在各大书城全面上架。大学生们颤抖吧,中学生已经开始学Python了!


3、董付国老师6本Python系列图书阅读指南


4、董老师免费视频地址: http://pan.baidu.com/s/1c14WYn2 密码: 9xwr


5、董老师收费视频课:

CSDN学院http://edu.csdn.net/search?keywords=%E8%91%A3%E4%BB%98%E5%9B%BD&type=0


龙果学院:http://www.roncoo.com/course/list.html?courseName=Python%E5%8F%AF%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%AD%A6



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/AFi3npQG3g
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4303
 
388 次点击