小甲鱼Python3学习笔记之第十八讲(仅记录学习)

本文详细介绍了Python函数的使用方法,包括形参与实参的区别、函数文档的编写方式、关键字参数及默认参数的应用,以及如何利用收集参数特性进行参数的灵活处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第十八讲:函数,灵活即强大

一、知识点:

0.形参和实参:

def function(name):形参

function('abc'):实参

1.函数文档:

>>> def myfun(name):
	'测试函数文档'#函数文档
	print(name)

利用function.__doc__可以查看函数文档(双下划线)或者help(函数)也可以查看

2.关键字参数:

>>> def myfun(name,sex):
	print(name+'->'+sex)
>>> myfun(sex='male',name='bizka')
bizka->male

3.默认参数:

参数定义过程中为形参赋初值

>>> def myfun(name='bizka',sex='male'):
	print(name+'->'+sex)
>>> myfun()
bizka->male
>>> myfun('jessic','female')
jessic->female

4.收集参数:

>>> def para(*object):
	print('参数的长度是:',len(object))
	print('第二个参数是:',object[1])
>>> para(1,'a',3,4,5,6)
参数的长度是: 6
第二个参数是: a

--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------

二、课后作业:

0.请问以下哪个是形参?哪个是实参?

>>> def MyFun(x):
	return x**3
	y=3
	print(MyFun(y))

x是形参,y是实参。

1.函数文档和直接用‘#’为函数写注释有什么不同?

给函数写文档是为了别人更好的理解你的函数。

2.使用关键字参数,可以有效的避免什么问题的出现?

关键字参数,是指函数在调用的时候,带上参数的名字去指定具体调用的是哪个参数,从而可以不用按照参数的顺序调用函数。

3.默认参数和关键字参数表面最大的区别是什么?

关键字参数就是在函数调用的时候,通过参数名制定需要复制的参数,这样就不怕因为搞不清参数的顺序而出错。

默认参数是在参数定义的过程中,为形参附初始值,当调用函数时,不传递实参,则默认使用形参的初始值代替。

--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------

三、动动手:

0.编写一个符合以下要求的函数:

a.计算打印所有参数的和乘以基数(base=3)的结果

b.如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。

>>> def myfun(*num):
	base = 3
	if num[-1] == 5:
		print(sum(num[:-1])*5)
	else:
		print(sum(num)*base)

1.寻找水仙花数:

题目要求:如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如153 = 1^3+5^3+3^3,因此153是一个水仙花数。编写一个程序,找出所有的水仙花数。

>>> def hua():
	for each in range(100,1000):
		a = each%10
		b = each%100//10
		c = each//100
		if each == a**3+b**3+c**3:
			print(each)

2.编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为"You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.",子字符串为"im",函数执行后打印“子字母串在目标字符串中共出现3次”。     
程序执行效果:

>>> def findstr():
	print('请输入目标字符串:',end='')
	temp = input()
	print('请输入子字符串(两个字符):',end='')
	temp1 = input()
	count = 0
	i = 0
	for i in range(len(temp)):
		if temp[i] == temp1[0] and temp [i+1] == temp1[1]:
			count += 1
	print('子字符串在目标字符串中总共出现%d次'%count)

--------------------------------------------------------------------我是一条分割线----------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值