您的位置: 网站首页> python基础> 当前文章

python函数定义,调用,传参,位置参数及关键字参数,返回值

老董2020-09-08151围观,129赞

  使用函数是真正开始编程的第一步,函数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学习会

文章评论

    python函数定义,调用,传参,位置参数及关键字参数,返回值文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 博主微信:a772483200