Python 源码函数格式带有*和/说明
1. max()
我们以内置函数 max
为例进行说明:
max(iterable, *[, default=obj, key=func]) -> value
函数形参列表中符号 *
表示,后面的形参只能为关键字参数( keyword argument
),不能为位置参数( positional argument
),也就是说,max 函数使用方法:
In [81]: a = [1,2,3,4,5,3,3,2,5]In [82]: max(a,key=lambda x: a.count(x), default=1)
Out[82]: 3In [83]: max([],key=lambda x: a.count(x), default=1)
Out[83]: 1
x
表示 a
中的每一个元素, default=1
表示如果输入为空列表时,默认的返回值。
我们可以定义函数 func
,参数 b
位于 *
后面,这样参数 b
就只能为关键字参数:
In [84]: def func(a, *, b):...: return a + b...: In [85]: func(3, 4)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-85-78c794e2c03d> in <module>
----> 1 func(3, 4)TypeError: func() takes 1 positional argument but 2 were givenIn [86]: func(3, b=4)
Out[86]: 7
2. sum()
sum
函数的函数说明如下:
sum(iterable, start=0, /)
其中, start
表示求和的起始点,默认为 0。看到形参列表中有一个 /
,它表示 /
前的参数只能是位置参数,不能是关键字参数。
In [87]: a = [1,2,3,4,5]In [88]: sum(a)
Out[88]: 15In [89]: sum(a, 10)
Out[89]: 25
如果使用位置参数调用时就会报错:
In [90]: sum(a, start=10)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-90-08c03d232c88> in <module>
----> 1 sum(a, start=10)TypeError: sum() takes no keyword arguments
Python 源码函数格式带有*和/说明相关推荐
- Python源码学习:Python函数浅析-函数闭包
Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇分析了函数参数的分析后,本文分析函数闭包的实现.函数闭包即函数定义和函数表达式 ...
- Python源码学习:Python函数浅析-有参函数
Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 继续上一篇无参函数的调用后,本文将分析Python中的有参函数的大致流程,在Pyth ...
- Python源码学习:Python函数浅析-无参函数
Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 本文会大致分析一下Python中的函数机制.在Python中,函数是一个比较重要的类 ...
- Python源码解读之六 浮点数
前言 前面的章节都是概括性的描述Python源码中,对象的创建.特性.使用.销毁等,这一章开始我们就要开始分析Python的常见内置类型对象以及对应的实例对象,看看底层具体是如何事项的. 第一个要分析 ...
- Python源码剖析[19] —— 执行引擎之一般表达式(2)
Python源码剖析 --Python执行引擎之一般表达式(2) 本文作者: Robert Chen(search.pythoner@gmail.com ) 3.2 Simple.py 前面我 ...
- Python源码剖析[16] —— Pyc文件解析
Python源码剖析[16] -- Pyc文件解析 2008-02-28 18:29:55| 分类: Python |举报 |字号 订阅 Python源码剖析 --Pyc文件解析 本文作者: Rob ...
- 【Python基础】加密你的Python源码顺便再打个包如何?
本篇为专属于"交通科研Lab"志愿者系列推文活动,为大家带来交通高校硕博们原创推文.为作者点赞,欢迎大家关注交流!!! 点击蓝字 关注我们 成为一个智慧.快乐和富有的人. --王宇 ...
- python 取余_玩转Python源码(一) quot;%squot;与“%d”
某一天吹水的时候,吹着吹着就吹到了一下这么一个案例. import timeitdef a():"%s, %s" % (1, 2)def b():"%s, %d" ...
- python源码库安装_Python第三方库安装及常见问题
源码安装 Python第三方库几乎都可以在github或者 pypi上找到源码.源码包格式大概有zip . tar.zip. tar.bz2.解压这些包,进入解压好的文件夹,通常会有一个setup.p ...
最新文章
- 线性系统理论知识点总结_线性系统理论(七)推广与总结
- 【客户下单】后台提供webservice服务接收数据
- 安卓APP_ 控件(2)—— Button
- windowsCE异常和中断服务程序初探(=)
- Visual Studio 2013 突然不高亮,编译报错
- 全球首发!计算机视觉Polygon Mesh Processing总结8——Remeshing Global Structure和Correspondences
- 11个好用的黑科技资源搜索网站
- win10系统更新时一直停留在重新启动界面的解决方法
- 罗技 连点 脚本_拳头与罗技G展开合作 将推出《英雄联盟》主题外设--新闻中心...
- 优达前端课程免费分享
- 人脸识别活体检测之眨眨眼和张张嘴
- 基于wiki的*GW需求体系化空间
- ftp上传文件时出现 550 Permission denied,不是用户权限问题
- 阿里飞冰使用教程-前端低代码可视化GUI速开发
- html svg文件怎么打开,SVG 在 HTML 页面
- 广东开放大学学习指引(A)(本专,2022春)
- Daftart.ai:人工智能专辑封面生成器
- 如何将计算机桌面屏幕放大,怎么能把电脑屏幕放大
- photoshop怎么旋转图片
- IFPUG软件功能点计算方法