python学习笔记之函数的参数
函数的参数有位置参数和关键字参数,位置参数一定要在关键字参数的前面,位置参数的优先级是高于关键字参数的,否则会报错
def my_abs(a,b):
print(a)
print(b) my_abs(10,1)
以上函数运行结果为
10
1
上面的传入参数是典型的位置参数,我们将之更改为位置加关键字参数
def my_abs(a,b):
print(a)
print(b) my_abs(10,b=3)
以上函数运行结果为
10
3
似乎也没问题,那我们用以下方式运行下,把关键字参数放在位置参数前面
def my_abs(a,b):
print(a)
print(b) my_abs(b=10,3)
然而报错了,看下报错信息
File "C:/Users/Administrator/PycharmProjects/untitled/funca.py", line 5
my_abs(b=10,3)
^
SyntaxError: positional argument follows keyword argument
关键字参数
必须跟随在位置参数
后面! 因为python函数
在解析参数时, 是按照顺序来的, 位置参数
是必须先满足, 才能考虑其他可变参数.
另外还有可变参数
def my_abs(*a):
print(a) my_abs(1, 2, 3)
返回结果为
(1, 2, 3)
是一个元组
另外可以参考下以下函数可以发现什么?
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
这样多个参数没问题,如果传入是一个元组或者列表呢?可以这样子
Python允许你在list或tuple前面加一个*
号,把list或tuple的元素变成可变参数传进去
>>> nums = [1, 2, 3]
>>> calc(*nums)
14*nums
表示把nums
这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
其余的以后再总结
感谢廖雪峰的python教程
python学习笔记之函数的参数的更多相关文章
- python学习笔记(3)--函数、参数、变量、递归
1.函数基本语法和特性 背景摘要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏出了所有的知识量吗,写出了以下代码 whi ...
- Python学习笔记——以函数为参数的内置函数
1.用法 一个参数 def ds(x): return 2 * x + 1 print(ds(5)) 11 g = lambda x : 2 * x + 1 print(g(5)) 11 两个参数 d ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- 【Python学习之三】函数的参数
在学习Python的过程中,我认为Python函数是很重要的一部分.其中参数的类型和数量,是一个比较容易弄混乱的点. 1.一般参数 首先,写一个计算两个数的和的函数: def addNum(x, y) ...
- Python学习笔记(五)函数和代码复用
函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...
- python学习笔记(4)--函数
1.函数 函数是指将一组语句的集合通过一个名字封装起来.要想执行这个函数,只需调用其函数名即可. 函数的特性: 1.减少重复代码 2.使程序变的课扩展 3.使程序变得易维护 语法定义: def pri ...
- Python学习笔记11—函数
建立第一个函数 /usr/bin/env Python #coding:utf-8 def add_function(a,b): c = a+b print c if __name__==" ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- Python学习笔记_week3_函数
一.介绍 1.面向对象(华山派)--->类(独门秘籍)--->class(定义的关键字) 2.面向过程(少林派)--->过程--->def 3.函数式编程(逍遥派)---> ...
随机推荐
- nginx 1.14.0 配置部署 thinkphp 5.1
开始接触NGINX,配置tp5配了半天,找不到具体原因,于是用网上搜索到的配置复制粘贴搞定. 感谢 https://blog.csdn.net/qq_36431213/article/details/ ...
- WebApi中关于base64和jwt的联合验证
用到了如鹏的代码 jwt验证 public class MyAuthoFilterPostOrgInfoAttribute: AuthorizationFilterAttribute { public ...
- PostgreSQL 一主多从(多副本,强同步)简明手册 - 配置、压测、监控、切换、防脑裂、修复、0丢失 - 珍藏级
参考来源: https://github.com/digoal/blog/blob/master/201803/20180326_01.md#postgresql-一主多从多副本强同步简明手册---配 ...
- Java基础知识_毕向东_Java基础视频教程笔记(19-21 IO流)
18天-06-IO流 字节流和字符流 字节流两个基类:InputStream,FileInputStream,BufferedInputStream OutputStream,FileOutputSt ...
- vue2.0 中#$emit,$on的使用详解
vue1.0中 vm.$dispatch 和 vm.$broadcast 被弃用,改用$emit,$on 1. vm.$on( event, callback ) 监听当前实例上的自定义事件.事件可以 ...
- 微信小程序支付签名老是失败,在官网的校验签名工具校验成功,老是返回签名失败
在网上也百度了各种签名不正确的解决方法,都没有问题,但签名就是不成功,实在找不出问题了,我就重置了一下api秘钥,结果成功了…… 不知道什么原因第一次填写的api秘钥也是我重置的,填写的也没有问题,但 ...
- tp3.2 支付宝手机网站支付
手机网站支付接口,支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 第一步: 1)登陆支付宝企业账号 进入支付宝官网 ,登陆 ...
- RecyclerView实现ViewPager效果;
看代码就好了,RecyclerView实现Viewpager的效果,添加了界面的改变监听,用法和普通的RecyclerView一样,还可以设置一次滑动多个界面: public class VpRecy ...
- 关于{get;set;}访问器
/// <summary> /// 此视频更新时间/创建时间 [生成时间,不手填] /// </summary> public System.String CreateTime ...
- 简单说明一下Token ,Cookie,Session
在Web应用中,HTTP请求是无状态的.即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session. Cookie Cookie ...