Python学习之函数(二)

举报
指剑 发表于 2022/09/03 00:59:47 2022/09/03
【摘要】 参数分为 形式参数parameter 和 实际参数(argument) ‘’’ 形式参数:指的是函数创建和定义过程中小括号里面的参数 实际参数:指的是函数在调用时传递进去的参数 ‘’’ #函数文档 ‘’...

参数分为 形式参数parameter 和 实际参数(argument)

‘’’
形式参数:指的是函数创建和定义过程中小括号里面的参数
实际参数:指的是函数在调用时传递进去的参数
‘’’
#函数文档
‘’’
给函数写文档是为了更加的容易理解函数,类似于注释

def MyfirstFunction(name):
‘函数定义过程中的name是叫形式参数’
#因为它至少一个形式,表示占据一个参数位置
print(‘传递进来的’ + name + ‘叫做实际参数,因为它是具体的参数值!’)

MyfirstFunction(‘lq’)

传递进来的 lq 叫做实际参数,因为它是具体的参数值!

查看注释:

MyfirstFunction.doc

‘函数定义过程中的name是叫形式参数’

也可使用print查看文档

print.doc
“print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)\n\nPrints the values to a stream, or to sys.stdout by default.\nOptional keyword arguments:\nfile: a file-like object (stream); defaults to the current sys.stdout.\nsep: string inserted between values, default a space.\nend: string appended after the last value, default a newline.\nflush: whether to forcibly flush the stream.”

‘’’

#关键字参数
‘’’

def SaySome(name,words):
print(name + ‘->’ + words)

SaySome(‘Jane’,‘girl’)
Jane->girl

指定参数

SaySome(words=‘Jane’,name=‘girl’)
girl->Jane

‘’’

#默认参数
‘’’
在定义时赋值

def SaySome(name=‘nice’,words=‘girls’):
print(name + ‘->’ + words)

直接调用函数,不带参数,运行如下:

SaySome()
nice->girls

给他一个参数,运行如下:

SaySome(‘Many’)
Many->girls

SaySome(‘Many’,‘girls and boys’)
Many->girls and boys

‘’’

#收集参数(也称可变参数,原因解决函数需要多个参数)
‘’’

def test(*params):
print(‘参数的长度是:’,len(params));
print(‘第二个参数是:’,params[1]);

test(1,‘你好’,3.14,5,6,7,8)
参数的长度是: 7
第二个参数是: 你好

##形参前面加 * 号 为收集参数
把标志为收集参数的参数用元组打包起来,放到params的元组名字中去。
如果收集参数需要加其他定制的参数,在调用函数时需要使用关键字参数来定制,否则会把后面的参数全部列为收集参数的范畴

例:

def test (*params,exp):
print(‘参数的长度是:’,len(params),exp);
print(‘第二个参数是:’,params[1]);

test(1,‘你好’,3.14,5,6,7,8)
Traceback (most recent call last):
File “<pyshell#35>”, line 1, in
test(1,‘你好’,3.14,5,6,7,8)
File “<pyshell#34>”, line 2, in test
print(‘参数的长度是:’,len(params),exp);
NameError: name ‘exp’ is not defined

需要使其正常运行则需要如下添加

test(1,‘你好’,3.14,5,6,7,exp = 8)
参数的长度是: 6 8
第二个参数是: 你好

##print本身就有一个收集参数
print(*objects)

文章来源: blog.csdn.net,作者:指剑,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fly1574/article/details/90454294

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。