|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
课堂
1,形式参数(parameter)和实际参数(argument)
>>> def MyFirstFunction(name):
'函数定义过程中的name是叫形参'
#因为Ta只是一个形式,表示占据一个参数位置
print('传递进来的' + name + '叫做实参,因为Ta是具体的参数值!')
>>> MyFirstFunction('小甲鱼')
传递进来的小甲鱼叫做实参,因为Ta是具体的参数值
2,函数文档
对函数的内容参数、意义、返回值等进行介绍,给函数写文档是为了让别人更好的理解你的函数。
>>> def MyFirstFunction(name):
‘函数定义过程中的name是叫形参' #这句话就是函数文档,Ta会作为函数的一部分存储起来,Ta不会被打印出来。功能同注释#类似。
#因为Ta只是一个形式,表示占据一个参数位置
print('传递进来的' + name + ‘叫做实参,因为Ta是具体的参数值!')
查看函数的属性
>>> MyFirstFunction.__doc__ # 函数.双下横线doc双下横下线,函数的默认属性。一般系统的特殊属性都是双下横线开始,双下横线结束
‘函数定义过程中的name是叫形参'
>>> help(MyFirstFunction) #使用help
Help on function MyFirstFunction in module __main__:
MyFirstFunction(name)
\u51fd\u6570\u5b9a\u4e49\u8fc7\u7a0b\u4e2d\u7684name\u662f\u53eb\u5f62\u53c2
3,关键字参数
>>> def SaySome(name, words):
print(name + '->' + words)
>>> SaySome('小甲鱼', '让编程改变世界!')
小甲鱼->让编程改变世界!
>>> SaySome('让编程改变世界!', '小甲鱼')
让编程改变世界!->小甲鱼
>>> SaySome(words = '让编程改变世界', name = '小甲鱼')
小甲鱼->让编程改变世界
有了关键字参数,python就不会按照顺序索引,而是按照关键字索引参数
4,默认参数
定义了默认值的参数
>>> def SaySome(name= '小甲鱼', words='让编程改变世界'):
print(name + '->' + words)
>>> SaySome()
小甲鱼->让编程改变世界
>>> SaySome('苍老师')
苍老师->让编程改变世界
>>> SaySome('苍老师', '123')
苍老师->123
关键字参数是在函数调用的时候通过参数名定制需要赋值的参数,这样子就不怕因为搞不清参数的顺序而导致函数出现错误。
默认参数是在参数定义的时候,为形参赋初值,函数调用的时候如果忘了传递参数,会自动找Ta的默认值,使函数不会出现错误。
5,收集参数
当函数作者不确定这个函数需要多少个参数的时候,在参数面前加上星号*
>>> def test(*params):
print('参数的长度是:', len(params));
print('第二个参数是:', params[1])
>>> test(1, '小甲鱼', 3.14, 5, 6, 7, 8)
参数的长度是: 7
第二个参数是: 小甲鱼
如果收集参数后面还要加上其它定制的函数,那么在调用函数的时候应该使用关键字参数来定制,否则python会把后边的参数全部列为收集参数的范畴。
>>> def test(*params, exp):
print('参数的长度是:', len(params), exp);
print('第二个参数是:', params[1])
>>> test(1, '小甲鱼', 3.14, 5, 6, 7, 8) #这里的参数都给了收集参数params, exp就得不到了
Traceback (most recent call last):
File "<pyshell#39>", line 1, in <module>
test(1, '小甲鱼', 3.14, 5, 6, 7, 8)
TypeError: test() missing 1 required keyword-only argument: 'exp'
>>> test(1, '小甲鱼', 3.14, 5, 6, 7, exp = 8)
参数的长度是: 6 8
第二个参数是: 小甲鱼
>>> def test(*params, exp = 8): #最好在函数定义的时候就给exp一个默认值
print('参数的长度是:', len(params), exp);
print('第二个参数是:', params[1])
>>> test(1, '小甲鱼', 3.14, 5, 6, 7, 8)
参数的长度是: 7 8
第二个参数是: 小甲鱼
作业:
1,基数
def multiplication(number, base = 3):
add = 0
temp = number.pop()
if temp == 5: #如果最后一个参数是5,则设定基数为5,基数不参数求和计算
base = 5
else:
base = 3
number.append(temp)
for i in number:
add += i
print(add * base)
number = [1, 2, 3, 4, 5, 6, 7]
multiplication(number)
2,水仙花
def narcissus():
hundreds = 0
ten = 0
single = 0
for i in range(100, 1000): #数据范围(100~999)
temp = i
sum = 0
hundreds = temp // 100 #百位数
ten = temp //10 %10 #十位数
single = temp % 10 #个位数
sum = hundreds ** 3 + ten ** 3 + single ** 3
if temp == sum:
print(i, end=' ')
print('所有的水仙花数分别是:')
narcissus()
2,函数findstr()
def findstr():
string = input('请输入目标字符串:')
substring = input('请输入子字符串(两个字符):')
print('子字符串在目标中功出现 %d 次' % string.count(substring))
findstr()
|
评分
-
查看全部评分
|