python入门day8(函数)

近期在忙网络大赛,故更新的速度就会慢一些
(一)函数:
1.定义函数:

def greet_user():
    """显示简单的问候语"""
    print("hello!")

greet_user()

向python指出了函数名,还可能在括号内支出函数为完成其任务需要什么样的信息。在这里,函数名为greet_user(),他不需要任何信息就能完成工作,因此括号是空的(即便如此,括号也必不可少)。最后,定义以冒号结尾。文中的三引号可以用来注释,描述了函数的作用,最后在末尾调用该函数。
2.位置实参:
在这里插入图片描述
在你调用函数的时候,python必须将函数调用中的每个实参都关联到函数定义中的一个形参,为此,最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参
并且,我们可以多次调用该函数来完成我们的工作。 注意,因为我们使用的是位置实参,他的一一对应的特性要求我们一定要将形参与实参的顺序对应起来。
3.关键字实参:**传递给函数的名称—值对。**有一个好处就是你不需要关心他们的位置,因为你需要传递的是实参中的名称和值,还有一个好处是你可以清楚的知道函数调用中各个值的用途。

def greet_user(name, year):
    print("i am " + name)
    print("i am a " + year + " old boy")

greet_user(year = '19', name = 'peter')

我们可以看到虽然顺序与形参的顺序不同,但是我们用的是关键字实参,所以输出的效果与上面的位置实参一样。
4.默认值:

def greet_user(name, year = 19):
    print("i am " + name)
    print("i am a " + str(year) + " old boy")

greet_user(name = 'peter')

调用默认值的时候,我们在函数调用的时候只有一个实参,这个实参将关联到函数定义中的第一个形参,因此必须将这个没有默认值的形参放在函数形参列表的首位,如果你显式的给默认值形参提供了实参的话,python将会忽略这个默认值。再提一句,使用默认值的时候,在形参列表中必须先列出没有默认值的形参,在列出有默认值的形参。这让python仍然能够正确的解读位置实参。
5.while引起无限循环

while True:
    print("please tell me your name")
    break

注意:true必须是True,这个t必须是大写的
6.禁止函数修改列表:
可以向函数传递列表的副本而不是原件;这样的函数所做的任何修改都只影响副本,而丝毫不影响原件。

function_name(list_name[ : ])

切片法表示创建的列表的副本。虽然这样可以不影响原始列表的内容,除非有充分的理由需要传递副本,否则还是应该将原始列表传递给函数,因为让函数使用现成列表可避免花时间和内存创建副本。
7.传递任意数量的实参:
在这里插入图片描述
形参中*name的星号让python创建一个名为name的空元组,并将接受到的所有值都封装到这个元组中。
如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后,python先匹配位置实参与关键字实参,再将剩下的实参都收集到最后一个形参中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值