您的位置: 网站首页> python基础> 当前文章
python函数定义,调用,传参,位置参数及关键字参数,返回值
老董-我爱我家房产SEO2020-09-08188围观,100赞
使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y。给不同的x,进行相同的操作,得到相应的y值。
程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为该函数指定一个函数名,之后就可以用名称来“调用”这个函数。
前面我们己经用过一些函数,如len()、id()等。这些是python生来就有的函数称为内置函数。
除了python的内置函数,我们在编程中还可以自定义函数,在编程中我们大量使用的还是自定义函数,先看一个入门案例:
# -*- coding: utf-8 -*- # 定义一个函数,能够完成打印一句话 def printInfo(): print('人生苦短,我用Python') printInfo() printInfo() printInfo()
D:python3installpython.exe D:/python/py3script/python66.py
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
Process finished with exit code 0
定义函数和调用(定义了函数直接写函数名就是调用):
使用def语句定义一个函数,def语句后面跟着函数的名称,然后是一对小括号,括号里面可以填写函数需要的参数,最后是冒号结束,然后下一行缩进开始写函数体的内容。完整的函数写法如下:
def 函数名(形参): 代码块 return 返回值
1.声明函数必须使用def关键字。
2.函数名:从语法角度来看,函数名是一个合法的标识符即可(变量的命名规范一样);从可读性角度来看,函数名应该由一个或多个有意义的单词组合而成,
3.形参:用于定义该函数可以接收的参数,函数可以有参数也可以无参数。
1)形参可以有多个,多个形参以英文逗号(,)隔开。
2)定义函数时指定了形参,调用该函数时就必须传入对应的参数值(或者说给对应的形参赋值)
3)形参和函数外界无任何关系,函数内部通过形参名字使用形参,调用函数时给形参传值,此时这个值叫实参。
# -*- coding: utf-8 -*- def sum(num1, num2,): print('两数的和是') print(num1 + num2 ) sum(1,10) #调用函数
D:python3installpython.exe D:/python/py3script/python66.py 两数的和是 11 Process finished with exit code 0
4.函数的参数默认值
1)在定义函数的时候参数可以给定默认值,有默认值的参数必放在没有默认值参数列表的后面。
2)如果参数有默认值,在函数调用的时候可以不填,不填就使用默认的值。
2)如果参数有默认值,在函数调用的时候也可以重新赋值。
# -*- coding: utf-8 -*- def sum(start, end, step=1): num_list = range(start, end, step) print(num_list,len(num_list)) total = 0 for i in num_list: total += i if step == 1: print("从%d加到%d是%d" % (start, end-1, total)) elif step == 2: print("从%d到%d奇数相加是%d" % (start, end - 1, total)) sum(1,10) sum(1,10,step=2)
D:python3installpython.exe D:/python/py3script/python66.py range(1, 10) 9 从1加到9是45 range(1, 10, 2) 5 从1到9奇数相加是25 Process finished with exit code 0
5.函数位置参数与关键字参数
1)不通过参数名字而是直接在对应位置传入参数值被称为位置参数。
2)使用位置参数的方式来传入参数值(给形参赋值),必须按照定义函数时指定的形参顺序来传入。
3)根据参数名来传入参数值被称为关键字(keyword)参数。
4)使用关键字参数的方式来传入值(给形参赋值),则无须关注定义的形参顺序。
# -*- coding: utf-8 -*- # 定义一个函数 def star_people(body , girl): print("body: ", body) print("girl: ", girl) return body,girl # 根据位置传入参数 star_people('刘恺威', '赵丽颖') # 根据关键字参数来传入参数 star_people(body = '刘恺威', girl = '赵丽颖') # 使用关键字参数时可交换位置 star_people(girl = '赵丽颖', body = '刘恺威') # 部分使用关键字参数,部分使用位置参数 star_people('刘恺威',girl ='赵丽颖')
D:python3installpython.exe D:/python/py3script/python66.py body: 刘恺威 girl: 赵丽颖 body: 刘恺威 girl: 赵丽颖 body: 刘恺威 girl: 赵丽颖 body: 刘恺威 girl: 赵丽颖 Process finished with exit code 0
6.return返回值
想要在函数中把结果返回,需要在函数中使用return,return语句可以返回所有的数据类型,可以返回一个或多个值。如果没有写return语句,函数的默认返回值是None。
# -*- coding: utf-8 -*- def sum(num1, num2,): # 用res变量保存两数之和 res = num1 + num2 # return return res # 必须用变量接受return返回的值 result = sum(1,10) print(result) def add(num1, num2,): # 用res变量保存两数之和 但是没有return res = num1 + num2 result = add(1,10) print(result) def do(num1, num2,): # 用res1变量保存两数之和 但是没有return res1 = num1 + num2 # 用res2变量保存两数之差 但是没有return res2 = num1 - num2 return res1,res2 result1,result2 = do(1,10) print(result1,result2)
D:python3installpython.exe D:/python/py3script/python66.py 11 None 11 -9 Process finished with exit code 0
7.函数根据有没有参数,有没有返回值,可以相互组合,一共有4种
无参数,无返回值
无参数,有返回值
有参数,无返回值
有参数,有返回值
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python函数定义,调用,传参,位置参数及关键字参数,返回值文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200