加载中...
Python 函数
发表于:2021-10-24 | 分类: Python
字数统计: 9.9k | 阅读时长: 9 mins.分钟 | 阅读量:

Python 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。我们已经知道Python提供了许多内建函数,比如print()。但我们也可以自己创建函数,这被叫做用户自定义函数。

定义一个函数

我们可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以def关键词开头,后接函数标识符名称圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明
  • 函数内容以冒号起始,并且缩进。
  • Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

函数基本定义

函数(Function)指通过专门的代码组织,用来实现特定功能代码段,具有相对独立性,可供其他代码重复调用。

  1. 函数定义基本语法:

    #!/usr/bin/python3
    def 函数名( [参数] ):
        函数体
        return [返回值]

    def 关键字

    函数体: 函数体为实现函数功能的相关代码段。

    返回值: return 语句后面空一格,跟需要返回的

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

Python里不用像C语言里需要先申明函数再使用。

如下实例调用了printme()函数:

#!/usr/bin/python3
#定义函数
def printme(str):
    print(str)
    return;

printme("我要调用用户自定义函数!");
printme("在次调用同一函数!");

参数

以下是调用函数时可使用的正式参数类型:

  • 必选参数:fun(name, age)
  • 默认参数:fun(name='yjc', age=18)
  • 可变参数:fun(*args)
  • 关键字参数:fun(name, age, **kw)
  • 命名关键字参数:fun(name, age, *, city)
1. 必须参数

必选参数也称位置参数。必选参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用printme()函数,你必须传入一个参数,不然会出现语法错误:

#!/usr/bin/python3
#定义函数
def printme(str):
    print(str)
    return;
printme()

输出 结果:

Traceback (most recent call last):
  File "/Users/abbott/work list/pyproject/pydome/函数/def1.py", line 6, in <module>
    printme()
TypeError: printme() missing 1 required positional argument: 'str
2. 默认参数

调用函数时,默认参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:

def printinfo(name, age=35):
    print ("name", name);
    print ("age",age);
    return

#调用函数
printinfo("abbott")
printinfo("abott",50)
# 当不按顺序提供部分默认参数时,需要把参数名写上
printinfo(name="abbott",age=30)

输出结果:

name abbott
age 35
name abott
age 50
name abbott
age 30
3. 可变参数

在Python函数中,还可以定义可变参数。顾名思义,可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。基本语法如下:

def functionname(*var_args_tuple):
    function_suite
    return[expression]

加*号的变量名会存放所有未命名的变量参数。如以下实例:

def calc(*numbers):
    sum = 0 
    for n in numbers:
        sum = sum  + n * n 
    return sum 

r = calc(1,2)
print(r) 

输出结果:

5
上一篇:
MySQL优化和运维之道
下一篇:
Python初始
本文目录
本文目录