Python基础语法 第6节课(函数的定义、函数的参数)
2021-02-02 01:15
标签:添加 error: 注释 net 生效 osi 思维 argument str 函数 1.什么是函数 当我输入一定数据以后,能根据里面的执行步骤,算出另一些数据的值(return值) 2,在python中函数怎么定义 def function(x,y,z): #----文档字符串------告诉别人这个函数时干什么用的,能够实现什么功能 代码块(函数体) return 返回值 ?return总结: ①函数里面return 表示函数的返回值,可以在函数调用之后通过变量进行接收 ②函数体遇到return就终止运行(也就是return后面的语句是不会执行的),相当于for 、while 的break ③函数的输出结果是由return决定的!!! 例:下面是return在if里面,不执行if语句,是不会执行return语句。(也就是前面虽然有return,但是条件是在else里面满足,返回的是最后的return) 例.return 终止函数,就不会执行第二个return 例:函数调用以后得到的数据是由return决定的。 函数没有return,得到的数据就是None 没有return值,调用函数操作会报错 append函数没有返回值即没有return,在调用,例如print(mylist.append(‘java‘))时返回的是None ?print 和return 的区别 print:显示,在屏幕上打印出来 return :函数运算的结果,获取结果以后不一定会打印显示出来 注:没有定义的函数,无法调用。 3.函数的参数 ①.形参和实参 形参:函数在定义的时候写的参数。变量名 实参:函数在调用的时候写的参数。他是个值 函数从调用的角度来说,分为形式参数和实际 参数。形参是指函数创建和定义过程中小括号里的参数;而实参指得是函数在被调用过程中传递进来的参数。如下所示 origin_list.append(element) 位置参数,实参的位置不对,传入的字符串‘popo’是不可以进行append()的方法的。属性错误AttributeError >>> def MyFirstFunction(name): 我们发现,在函数开头写下的字符串是不会打印出来的,但它作为函数的一部分存储起来。这个称为函数文档字符串,它的功能跟注释一样。 与注释不同的是,函数文档字符串可以通过特殊属性 ._ _doc_ _(注:._ _doc_ _两边分别是两条下划线): 也可以使用help()函数查看函数的文档 函数文档写在一个字符串里面,写2个,只会打印出第一个,第二个不会打印打出,例如: 默认参数总结: 如果有默认值,在函数调用的时候,如果位置参数是一一对应的,传入了实际参数,默认参数不会生效。 如果没有传入实际参数,默认值生效。 1)默认值生效的情况: 2)默认值不生效的情况 ③.关键字参数 普通的参数叫做位置参数,使用位置参数可以解决程序员在调用一个函数时候,搞乱位置参数的顺序,以至于函数无法按照预期实现的潜在问题。 关键字参数其实就是在传入实参时指定形参的变量名,在调用函数的时候使用的! Python基础语法 第6节课(函数的定义、函数的参数) 标签:添加 error: 注释 net 生效 osi 思维 argument str 原文地址:https://www.cnblogs.com/ananmy/p/12776314.htmldef add(a,b):
#两个数相加的和
c = a + b
return c
print(add(1,2)) #3 函数打印
#第二种方式:通过变量接收
d = add(6,8)
print(c)def add(a,b):
if a > 100:
return a + b
elif a == 100:
return a + 2*b
else:
return a + 3*b
print(add(6,8))
def add(a,b):
if a > 100:
return a + b#return终止函数,后面就不会执行,省去else,是一种编程思维
return a + b*3
print(add(111,2))
def add(a,b):
c = a + b
print(add(1,2))#结果是none
def add(a,b):
c = a + b
print(c)#这里只是打印
print(add(1,2) +3) #TypeError: unsupported operand type(s) for +: ‘NoneType‘ and ‘int‘
#自己定义一个有返回值的append函数
def append(origin_list,element):
origin_list.append(element)
return origin_list
print(append([‘python‘],‘popo‘))
#结果[‘python‘, ‘popo‘]
my_list = [‘hello‘,‘python‘]
a = my_list.append(‘java‘)
print(a)#None
#自己定义一个有返回值的append函数
def append(origin_list,element):
"""对列表进行数据添加"""
origin_list.append(element)
return origin_list
print(append([‘python‘],‘popo‘))
# 结果[‘python‘, ‘popo‘]>>> def MyFirstFunction(name):
‘函数定义过程中的name是叫形参‘
#因为Ta只是一个形式,表示占据一个参数位置
print(‘传递进来的‘ + name + ‘叫做实参,因为Ta是具体的参数值!‘)
>>> MyFirstFunction(‘小‘)
传递进来的小叫做实参,因为Ta是具体的参数值!
②位置参数 positional argument
形式参数和实际参数(实参)要疑义按照顺序对应。!!!!!也就是形参、实参的个数、顺序都要一一对应上。
多了少了都不行,位置顺序不一样,结果有可能也会发生错误。def append(origin_list,element):
origin_list.append(element)
return origin_list
print(append(‘popo‘,[‘python‘]))
#
AttributeError: ‘str‘ object has no attribute ‘append‘
③.函数文档(.__doc__)
给函数写文档是为了让别人可以更好的理解你的函数,所以这是一个好习惯。函数文档的作用是描述该函数的功能。
‘函数定义过程中的name是叫形参‘
#因为Ta只是一个形式,表示占据一个参数位置
print(‘传递进来的‘ + name + ‘叫做实参,因为Ta是具体的参数值!‘)
>>> MyFirstFunction.__doc__ #MyFirstFunction没有()
‘函数定义过程中的name是叫形参‘
>>>>>> def MyFirstFunction(name,age):
‘这是一个函数文档‘
‘用来记录函数的使用记录‘
print(‘班长:‘+ name +‘,年龄:‘ + age)
>>> MyFirstFunction.__doc__
‘这是一个函数文档‘
>>>
④.默认参数
默认参数就是在函数定义的时候,给形参赋予了默认值的参数:>>> def saySome(name="python",words="让编程改变世界!"):
print(name + ‘—>‘ +words)
>>> saySome() #调用函数时没有参数,就会去找默认参数
python—>让编程改变世界!
>>> saySome("java","也可以改变世界") #重新赋予实参,会调用函数时会调用实参,不会调用默认的参数
java—>也可以改变世界
#默认参数,但是没有传入实际参数,默认值生效
def append(origin_list,element=‘cc‘):
origin_list.append(element)
return origin_list
print(append([‘python‘])) #结果:[‘python‘, ‘cc‘]
def append(origin_list,element=‘cc‘):
origin_list.append(element)
return origin_list
print(append([‘python‘],‘java‘)) #结果:[‘python‘, ‘java‘]
>>> def saySome(name,words):
print(name + "—>" +words)
>>> saySomething("python","让编程改变世界!")
python—>让编程改变世界!
>>> saySome("让编程改变世界!","python")
让编程改变世界!—>python
‘为了不让调用的参数位置弄混,加上关键字参数,就不会出错了‘
>>> saySome(words="让编程改变世界!",name="python")
python—>让编程改变世界!
上一篇:tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is p
下一篇:C++ 自定义命名空间
文章标题:Python基础语法 第6节课(函数的定义、函数的参数)
文章链接:http://soscw.com/index.php/essay/49741.html