第9章 函数-9.5 函数参数的类型
1.位置参数位置参数指的是在函数传递时必须按照正确的顺序将实参传到函数之中换句话说调用函数时传入实参的数量和位置都必须和创建函数时的形参保持一致。示例代码如下# 资源包\Code\chapter9\9.4\0907.py def myFunc(name, teach): return (name, teach) tp myFunc(来自远方的老作者, Python) print(tp)2.关键字参数关键字参数指的是在函数传递时使用形参的参数名来确定实参的参数名通过此种方式指定函数实参时不再需要与形参的位置完全一致只要将参数名写正确以及确保数量与形参一致即可。示例代码如下# 资源包\Code\chapter9\9.4\0908.py def myFunc(name, teach): return (name, teach) tp myFunc(teachPython, name来自远方的老作者) print(tp)3.默认参数默认参数指的是在创建函数时直接给形参指定一个默认值。这样的话即使调用函数时没有给拥有默认值的形参传递值该形参也可以直接使用创建函数时设置的默认值。使用默认参数时的示例代码如下# 资源包\Code\chapter9\9.4\0910.py def myFunc(name, teachPython): return (name, teach) tp myFunc(name来自远方的老作者) print(tp)修改默认参数时可以通过使用两种方式进行修改即位置参数和关键字参数示例代码如下def myFunc1(teachPython): return (teach) # 以位置参数的形式 tp1 myFunc1(Java) print(tp1) def myFunc2(teachPython): return (teach) # 以关键字参数的形式 tp2 myFunc2(teachJava) print(tp2)4.可变参数可变参数是指函数可以接受任意数量的实际参数其解决了在实际使用函数时可能遇到的“不知道函数需要接收多少个实参”的情况。可变参数可分为包裹位置参数和包裹关键字参数。1包裹位置参数包裹位置参数需要在形参之前添加*其允许在创建函数时向函数传递任意数量的位置参数且这些参数在函数内部会被存储为一个元组。示例代码如下# 资源包\Code\chapter9\9.4\0912.py def myFunc(*info): return info tp myFunc(来自远方的老作者, Python, 35) # tp的数据类型为元组 print(tp)2包裹关键字参数包裹关键字参数需要在形参之前添加**其允许在创建函数时向函数传递任意数量的关键字参数且这些参数在函数内部会被存储为一个字典。示例代码如下# 资源包\Code\chapter9\9.4\0913.py def myFunc(**info): return info tp myFunc(name来自远方的老作者, teachPython, age35) # tp的数据类型为字典 print(tp)5.解包裹参数解包裹参数用于将实参中的元素拆解开来并将这些元素一一对应的传递给函数中的形参。注意实参中的元素个数必须与形参的个数一致否则会产生语法错误。解包裹参数可分为解包裹位置参数和解包裹关键字参数。1解包裹位置参数解包裹位置参数需要在实参之前添加*其会将实参中的元素按照位置参数的相关格式进行拆解并一一对应的传递给函数中的形参。注意实参的数据类型可以为字符串、列表、元组和集合。示例代码如下# 资源包\Code\chapter9\9.4\0915.py def myFunc(name, teach, age): return (name, teach, age) lt [来自远方的老作者, Python, 35] tp myFunc(*lt) print(tp)2解包裹关键字参数解包裹关键字参数需要在实参之前添加**其会将实参中的元素按照关键字参数的相关格式进行拆解并一一对应的传递给函数中的形参。注意实参的数据类型必须为字典。示例代码如下# 资源包\Code\chapter9\9.4\0916.py def myFunc(name, teach, age): return (name, teach, age) dt {name: 来自远方的老作者, teach: Python, age: 35} tp myFunc(**dt) print(tp)6.混合参数1位置参数和关键字参数的混合使用位置参数必须在关键字参数之前示例代码如下# 资源包\Code\chapter9\9.4\0909.py def myFunc1(age, name, teach): return (age, name, teach) tp1 myFunc1(35, teachPython, name来自远方的老作者) print(tp1)2位置参数、关键字参数和默认参数的混合使用首先位置参数必须在关键字参数之前其次无论修改或是使用默认参数默认参数都必须在位置参数和关键字参数之后但在修改默认参数时其只能通过使用关键字参数的形式进行修改示例代码如下# 资源包\Code\chapter9\9.4\0911.py # 使用默认默认参数 def myFunc1(name, teach, age35): return (name, teach, age) tp1 myFunc1(来自远方的老作者, teachPython) print(tp1) #通过使用关键字参数的形式修改默认参数 def myFunc2(name, teach, age35): return (name, teach, age) tp2 myFunc2(来自远方的老作者, teachPython, age38) print(tp2)3位置参数、关键字参数、默认参数和包裹位置参数的混合使用首先包裹位置参数要放到位置参数之后关键字参数之前其次当需要使用默认参数的值时则默认参数要放在位置参数、关键字参数和包裹位置参数之后当需要通过使用位置参数的形式修改默认参数的值时则默认参数要放在包裹位置参数之前位置参数之后当需要通过使用关键字置参数的形式修改默认参数的值时则默认参数只需要放在包裹位置参数之后即可不需要考虑其与关键字参数的位置。示例代码如下# 资源包\Code\chapter9\9.4\0917.py # 使用默认参数 def myfunc(name, *info, teach, height186): return (name, teach, info, height) tp myfunc(来自远方的老作者, 35, Python, teachJava) print(tp) # 通过使用位置参数的形式修改默认参数 def myfunc(name, height186, *info, teach): return (name, teach, info, height) tp myfunc(来自远方的老作者, 188, 35, Python, teachJava) print(tp) # 通过使用关键字参数的形式修改默认参数 def myfunc(name, *info, teach, height186): return (name, teach, info, height) tp myfunc(来自远方的老作者, 35, Python, teachJava, height188) print(tp)4位置参数、关键字参数、默认参数和包裹关键字参数的混合使用首先包裹关键字参数要放到末尾其次无论修改或是使用默认参数默认参数要放在位置参数和关键字参数之后包裹关键字参数之前但在修改默认参数时其只能通过使用关键字参数的形式进行修改。示例代码如下# 资源包\Code\chapter9\9.4\0914.py # 使用默认参数 def myFunc(name, teach, age35, **info): return (name, teach, age, info) tp myFunc(来自远方的老作者, teachPython, other_name老作者, other_teachData Analysis) print(tp) # 通过使用关键字参数的形式修改默认参数 def myFunc(name, teach, age35, **info): return (name, teach, age, info) tp myFunc(来自远方的老作者, teachPython, age38, other_name老作者, other_teachData Analysis) print(tp)5位置参数、关键字参数、默认参数、包裹位置参数和包裹关键字参数的混合使用首先包裹位置参数必须在包裹关键字参数的前面其次当需要使用默认参数的值时则默认参数要放在位置参数、关键字参数和包裹位置参数之后包裹关键字参数之前当需要通过使用位置参数的形式修改默认参数的值时则默认参数要放在包裹位置参数之前位置参数之后当需要通过使用关键字置参数的形式修改默认参数的值时则默认参数只需要放在包裹位置参数之后包裹关键字参数之前即可不需要考虑其与关键字参数的位置。示例代码如下# 资源包\Code\chapter9\9.4\0919.py # 使用默认参数 def myfunc(name, *info, teach, height186, **other_info): return (name, teach, info, other_info, height) tp myfunc(来自远方的老作者, 35, Python, teachPython, other_name老作者, other_teachData Analysis) print(tp) # 通过使用位置参数的形式修改默认参数 def myfunc(name, height186, *info, teach, **other_info): return (name, teach, info, other_info, height) tp myfunc(来自远方的老作者, 188, 35, Python, teachPython, other_name老作者, other_teachData Analysis) print(tp) # 通过使用关键字参数的形式修改默认参数 def myfunc(name, *info, height186, teach, **other_info): return (name, teach, info, other_info, height) tp myfunc(来自远方的老作者, 35, Python, height188, teachPython, other_name老作者, other_teachData Analysis) print(tp)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2510817.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!