python函数总结

1、函数的概念

函数是软件最基本的组成单位。

程序设计中,一些代码的功能是相同的,操作是一样的,只不过针对的数据不一样。此种情况下,可以将这种功能写成一个函数模块,要使用此功能时只需调用这个函数模块就可以了。

2、定义函数和调用

定义函数:其实就是把具有独立功能的代码段组织成一个代码块,以便在需要时使用,定义函数就是封装独立的功能。

2.1、内置函数

Python语言中自带的函数叫做内建函数,这些内建函数对大部分常用操作进行有效封装,可以直接调用,

2.2、自定义函数

当内建函数不能满足要求时,开发者可以根据实际需要自定义函数。函数自定义完成后,开发者可以在其他代码处通过函数名调用。

2.3、定义函数的格式

  1. 定义函数时使用 def(空格)后面紧跟着函数名和圆括号()
  2. 函数名和变量名都属于标识符,命名时要符合标识符规范并且不能是关键字
  3. 函数的内容也就是函数体有缩进。

2.4、函数的调用

函数调用其实就是享受这个封装的成果。

调用函数非常简单,只需要写上函数名()即可。

def hello():  #函数定义
    print("hello world!")

hello()  #函数调用

3、函数的参数

参数本质上就是变量。

3.1、形参和实参

形参:形式参数,指的就是定义函数时的参数。

实参:实际参数,调用函数时的赋值,本质就是实际值。

实参和形参个数与形式要一致。

def sum(a, b):
    print(a+b)

sum(2, 3)

3.2、默认参数

编写函数时,可给每个形参指定默认值。在调用函数时,如果给形参提供了实参,Python语言将使用指定的实参值;否则,将使用形参的默认值

要注意的是,设置默认参数时,必选参数在前,默认参数在后,否则Python语言的解释器会报错

def area1(width, height = 5):
    return width * height
width1 = 3
height1 = 6
print(area1(width1))  # 计算结果为width1与默认值5的乘积
print(area1(width1, height1))  # 计算结果为width1与height1的乘积

3.3、不定长参数

在Python语言中,函数还可以定义不定长参数,也叫可变参数。

def test(a, b, *args, **kwargs):
    print(args)
    print(kwargs)
    s = a + b + args[0] + args[1]
    return s
print(test(1, 2, 3, 4, 5, name = 'test', name1 = 'test1'))
#传参过程中,a会赋值为1,b会赋值为2,其余参数会打包成元组,赋值给args,键值对参数赋值给kwargs

3.4、关键字参数

关键字实参是传递参数时使用“名称–值”对的方式,在实参中将名称和值关联起来。

关键字实参让开发者无需考虑函数调用中的实参顺序,清楚地指出了函数调用中各个值的用途。

关键字参数有扩展函数的功能。

def test1(name1 = None, name2 = 'test'):
    print(name1, name2)
test1(name1='test1', name2='test2')

 

4、函数的返回值

返回值:程序中函数在完成计算后最终返回给调用方的结果。

在python中返回值是通过 return 带回的。

return表达式  

Return表示函数的结束,后续代码不再执行。不带return 表达式的函数相当于返回了None

def func():
    return 2 + 3
print(func())

 

5、定义函数

5.1、不带参数不带返回值

def 函数名():

函数体

def hello():
    print("hello world!")
hello()

5.2、带参数不带返回值

def 函数名(参数1,参数2):

函数体

def sum(a, b):
    print(a+b)
sum(2, 3)

5.3、不带参数带返回值

def 函数():

函数体

return 表达式

def func():
    return 2 + 3
print(func())

5.4、带参数带返回值

def 函数(参数1,参数2):

函数体

return 表达式

def area(width, height):
    return width * height
width = 2
height = 3
print(area(width, height))

6、变量的作用域

局部变量:指的是定义在函数内的变量,只能在函数体内使用

全局变量:定义在函数外的变量,整个程序都能使用。

局部变量和全局变量名字一样的时候,则局部变量会屏蔽全局变量。也就是就近原则。

全局变量名称一样,后面的会覆盖前面的。局部变量名称之间可以重复互不影响。

y = 2
def fn():
    x = 1
    global z
    z = 3
    print('函数内调用全局变量', y)
    print('函数内调用局部变量', x)
fn()
print('函数外调用全局变量', y)
print('函数外调用局部变量', x)  #  调用会报错:NameError: name 'x' is not defined
print('函数内定义的全局变量', z)

 7、函数的嵌套

函数的嵌套指的就是一个函数中又包含另外一个函数。

def func1():
    print("函数1的内容")

def func2():
    print("函数2的内容")
    func1()
func2()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值