任何一门语言的语法知识都不应该是记住的,而是记忆模糊之后翻看查阅,如此反复就很自然的化在了血液里。 因此基于这个原则,我们的语法知识就挑几个简略的记录一下。
关键字:函数,默认参数,可变参数,关键字参数以及命名关键字参数(官方例子+廖雪峰python教程)
1、默认参数
函数可以赋值默认值,如上图,三种调用方式。
注意参数的定义是在函数定义时赋值的,如下,因为在函数定义时i=5,所以此时函数的默认参数值此时已被赋值,为5,当函数调用则打印5
还有一点需要注意,如果参数是可变的数据类型,如list,字典等,
如下所示:可以使用内置函数id()看到其实是一个对象,因此造成这种结果也就顺理成章了。
那么如何想不在后续调用共享数据,则可以如下操作
2.可变参数
在python中可变长参数应用如下
可以看出参数类型是元组类型(但是num不是说一定是元组数据类型,也可以是list,如num=[1,3,6]结果一样),注意调用方式为calc(*num)这点和在java中有很大的不同(很不习惯,先记住吧)
3.关键字参数和命名关键字参数
关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到name和age这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去:
至于命名关键字参数,可以简单理解为函数必须传入的参数,如下,必须传入a,b