python常用函数的用法_Python中常用的函数以及使用方法

Python函数的使用

1.创建函数

在Python中,创建一个函数需要用def,格式为def 函数名(形式参数):多个参数用逗号隔开,例如

注意函数体的缩进和函数头最后要加冒号

默认参数

在创建一个函数时,我们可以给形参默认值,在调用的时候,若没有给该形参值,则将使用默认值,但和c语言相同,所有没有默认值的形参,都必须在有默认值的的左边,例如:

def add(a,b,c=3):

print(a,b,c)

add(1,2)

​结果为

1 2 3

单星号参数(收集参数)

当我们不知道我们这个函数需要多少个参数时,可以使用单星号参数,它在参数前加一个*

单星号形参表示:此处接受任意多个非关键字参数,且这些参数以元组形式存储。

单星号实参表示:将可迭代对象转为多个非关键字参数。

两者可以视为互逆关系,只是单星号实参使用类型更广,而单星号形参只会作为元组

def add(a,*b,c):

for i in b:

print(i,end=' ')

print(a,c)

add(*[1,2,3,4,5],c=6)

​结果为

2 3 4 5 1 6

多星号参数

与单星号参数类似的还有多星号参数

多星号形参表示:此处接受任意多个关键字参数,这些参数以字典形式保存

多星号实参表示:将字典类型转换为多个关键字参数,再传递给函数作为参数

这两者就是简单的互逆关系,一个将关键字参数转为字典,另一个将字典转为关键字参数,例如

def fun(b, **a):

print(type(a))

for k in a:

print(k+":"+str(a[k]))

print(b)

dict1 = {"hello":1, "world":2}

fun(b="hh",**dict1, myname=3)

结果为

hello:1

world:2

myname:3

hh

单星号参数和多星号参数可以组成Python中的万能参数

def fun(*args, **kwargs):

pass

参数注解

在python3.5后引入的新用法,因为python函数的参数没有规定类型,所以就存在一些问题,比如:

由于没有规定类型,所以一些类型不对的问题很难发现

其他人在使用你的函数时,不知道应该传入什么参数

对函数的参数进行类型注解 ,对函数的返回值进行类型注解 ,只对函数参数做一个辅助的说明,并不对函数参数进行类型检查 , 提供给第三方工具,做代码分析,发现隐藏的bug ,函数注解的信息,保存在__annotations__属性中

语法例子如下:

def fun(a: int, b: int)->int:

return a+b

其中:a和b后面跟着:加一个类型。函数参数后面,冒号前面用->指出返回类型

例如

def add(x: int, y: int)->int:

return x+y

print(add(2, 1))

print(add('hello', 'world'))

print(add.__annotations__)

'''

结果为:

helloworld

3

{'x': , 'y': , 'return': }

'''

可见,程序并不会警告也不会报错,但程序的可读性和可维护性会提高

可以用inspect模块来进行类型检查,详情见:https://www.cnblogs.com/s-p-l/p/10246149.html

2.调用函数

调用函数和c语言一样,格式为函数名(实际参数)

在我们调用的时候,为了防止参数顺序出错等问题,可以使用关键字参数,就是在实际参数前加上形式参数的名字,这样就算交换顺序也无所谓了,注意:关键字参数必须在非关键字参数的左边,比如

def add(a,b):

print(a,b)

add(b=1,a=3)

​结果为

3 1

3.函数文档

函数文档是函数的一个特殊属性,它在函数体的开头,是一个字符串

在函数执行时不会执行,用于说明函数的功能

查看函数文档可以使用help或者直接输出_ _ doc _ _(为避免markdown语法,中间加了空格),例如

def add(a,b):

'我就是函数文档,add函数可以返回两个数相加的结果'

c = a+b

return c

print(add.__doc__+"print")

help(add)

结果为

我就是函数文档,add函数可以返回两个数相加的结果print

Help on function add in module __main__:

add(a, b)

我就是函数文档,add函数可以返回两个数相加的结果

从结果可以看出,help其实就是美化后的函数文档

4.函数的返回值

在Python中,函数可以返回多个返回值,只需要在return中写多个值,中间用逗号隔开即可,相当于组成了一个元组,然后返回这个元组。

函数可以没有return,但这不意味着这个函数没有返回值,它会返回一个Nonetype类型的None

5.内嵌函数

python中允许在函数内定义函数,但在函数内定义的内嵌函数只能在该函数中调用,例如

def fun():

x = 50

def fun2():

print('a:',x)

fun2()

return x

x = 100

fun()

print('b:',x)

​结果为

a: 50

b: 100

原文链接:https://blog.csdn.net/qq_43713303/article/details/106765533

你可能感兴趣的:(python常用函数的用法)