小白学Python入门基础---函数的分类以及使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了小白学Python入门基础---函数的分类以及使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3477字,纯文字阅读大概需要5分钟。
内容图文
![小白学Python入门基础---函数的分类以及使用](/upload/InfoBanner/zyjiaocheng/835/42de3cdcc5d544939b789a1f0aeabe50.jpg)
今日内容
目录
一、函数形参与实参
二、实参的分类
三、形参的分类
四、可变参数的整体使用
一、函数实参与行参的定义
'''
1.1实参:
实参:调用函数,在括号内传入的实际值,值可以为常量、变量、表达式或三者的组合
*****
1.2形参
形参:定义函数,在括号内声明的变量名,用来接受外界传来的值?
注:形参随着函数的调用而产生,随着调用结束而销毁
'''
?
# ***** 在函数定义()中出现的参数:形参 # ***** 形参就是拷贝实参的值,随着函数的调用才产生,随着函数调用结束而销毁 def fn(a, b, c): # a,b,c必须要从外界获取值,才有意义 print(a) print(b) print(c) # 外部提前产生了的变量,内部可以使用 print(x) print(y) print(z) # x,y,z是实际存在的值 x = 10 y = 20 z = 30 # ***** 在函数调用()中出现的参数(外界实际存在的值):实参 # fn(10, 20, 30) # fn(x, y, z) fn(x + 10, y * 2, z / 5) # ***** 调用函数是,实参可以由 常量、变量、表达式或三种的组合
二、实参与形参的分类:
2.1实参分类:
''' 1.0位置实参:不用明确形参名的传参方式,一定按照位置给形参传值 2.0关键字实参:必须明确形参名字与值为形参传值,可以不用按照位置 ***** 注:混用 1.关键字实参必须出现在位置实参后 2.多个位置实参还是按照位置传参 3.关键字实参为没有从位置实参拿到值的形参传值,可以不用按照指定顺序 ''' def fn2(a, b, c, d, e, f): print(a, b, c, d, e, f) fn2(10, 20, 30, e=100, f=500, d=200)
# 位置实参: 按照位置的顺序,从左到右为形参传递值 # 关键字实参 # 实参作用:为形参传递值 def fn1( a, b, c): print(a, b, c) # 位置实参:必须按照顺序 fn1(10, 20, 30) fn1(30, 20, 10) # 关键字实参:可以不按顺序传递, 形参按名字取值 fn1(a=10, b=20, c=30) fn1(c=30, b=20, a=10) # 两者混用: 关键字实参必须出现在位置实参之后 # fn1(10, c=20, a=30) # 10按位置传参给a,a=30给a传参,c可以拿到20,但b没人传参 # TypeError:fn1() got multiple values for argument 'a' a被多次传值 # 合法传参 ***** fn1(10, c=30, b=20) fn1(10, b=30, c=20) def fn2(a, b, c, d, e, f): print(a, b, c, d, e, f) fn2(10, 20, 30, e=100, f=500, d=200)
2.2形参分类:
?
1.1位置形参
2.2关键字形参范畴
3.3可变才形参
# positional argument def fn(a, b, c): print(a, b, c) # 位置形参可以由 位置实参 与 关键字实参 来传值 fn(10, 20, 30) fn(a=10, b=20, c=30)
2.2默认形参
def fn(a=10,b=20): print(a, b) # 默认形参可以由 位置实参 与 关键字实参 来传值,还可以不用传值(采用自身默认值) fn() fn(20, 30) fn(a=200, b=300) fn(100) # 就给a传 fn(b=100) # 就给b传 # 混用 # 位置形参与默认形参同时存在,默认形参必须在后 def fn1(a,b,c=10,d=20): print(a, b, c, d) # 位置形参必须传值,默认形参分情况传值 fn1(100, 200, d=1000)
3.3可变长形参
# 可变长形参会以 元组 形式接受 位置形参与默认形参未接受完的 所有传入的位置实参,用索引来取第几个 # 可变长形参只能由 位置实参 来传值 ***** def fn(a, b=10, *args): print(a, b) print(args) # 小细节:可变长形参只能接受位置实参的值,位置实参还必须在关键字实参前, # 导致默认形参只能由位置实参来传值 fn(1, 20, 100, 200) # 1给a 20给b,不能用b=20传 100,200给args
2.2.关键字形参范畴
# 前提:出现在 * 之后的形参 def fn(a, b=10, *, c, d=20, e): pass # c,d,e都是出现在*之后,都是关键字形参,由于必须由 关键字实参 来传值,没有顺序的强行要求 # 可变长关键字形参:用来接收没有被关键字形参接收完的关键字形参,也只能由关键字实参来传值 # 用字典来存放数据 def fn(**kwargs): print(kwargs) fn(a=10,b=20) # {'a': 10, 'b': 20} dic = {'x': 100, 'y': 200} fn(**dic) # {'x': 100, 'y': 200}
三、可变参数的整体使用
# 1、可变位置形参以元组方式接收值 # 如:接收10,20,30三个数 def fn1(*args): print(args) # (10, 20, 30) # 第一种传参 fn1(10, 20, 30) # 第二种传参 t = (10, 20, 30) # 单列集合及字符串类型都可以 fn1(*t)
# 2、可变位置实参以字典方式接收值 def fn2(**kwargs): print(kwargs) # {'name': 'Owen', 'age': 18} # 第一种传参 fn2(name='Owen', age=18) # 第二种传参 d = {'name': 'Owen', 'age': 18} # 单列集合及字符串类型都可以 fn2(**d)
内容总结
以上是互联网集市为您收集整理的小白学Python入门基础---函数的分类以及使用全部内容,希望文章能够帮你解决小白学Python入门基础---函数的分类以及使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。