Python函数

Python函数

一、函数

1.内置函数

参考:https://docs.python.org/zh-cn/3/library/functions.html

  

内置函数

  

abs()

delattr()

hash()

memoryview()

set()

all()

dict()

help()

min()

setattr()

any()

dir()

hex()

next()

slice()

ascii()

divmod()

id()

object()

sorted()

bin()

enumerate()

input()

oct()

staticmethod()

bool()

eval()

int()

open()

str()

breakpoint()

exec()

isinstance()

ord()

sum()

bytearray()

filter()

issubclass()

pow()

super()

bytes()

float()

iter()

print()

tuple()

callable()

format()

len()

property()

type()

chr()

frozenset()

list()

range()

vars()

classmethod()

getattr()

locals()

repr()

zip()

compile()

globals()

map()

reversed()

__import__()

complex()

hasattr()

max()

round()

2.自定封装函数

2.1关键字def,语法

函数的定义:关键字:def
语法:
def 函数名():
    #函数体(函数内部的代码)
关键字:pass:没有语义,表示一行空的代码(占个位置)

 

二、函数的返回值return

1.retuen

  • 函数调用之后返回值是由return来决定的
  • 函数没写return,函数返回的内容为None(为空)
  • return后面写什么,函数返回的就是什么

2.return的作用

  • 返回值数目=0,返回None
  • 返回值数目=1,返回object
  • 返回值数目>1,返回tuple

 

三、函数的参数

1.参数的定义:

函数名后面的括号中定义参数

2.形参和实参

  • 在定义函数的时候,定义的参数为:形参(形式上的参数,并没确定值是多少)
  • 在调用函数的时候,传入进行的参数为:实参(实际的参数)
  • 形参是用来接收实参传递的值的

3.形参规则:

3.1.必须参数(必备参数):定义了几个就要传几个,不能多也不能少

3.2.默认参数(缺省参数):定义的时候给一个默认值,调用函数时,该函数可以传,也可以不传,(不传使用默认值)

3.3.不定长参数(动态参数):可以用例接收0个或者多个参数(可接收的参数不限定长度【个数】)

  • *args:可以用来接收0个或者多个参数(只能接收以位置传参方式传递的参数),以元组形式保存
  • **kwargs:可以用来接收0个或者多个参数(只能接收以关键字指定参数传参方式传递的参数a=11),以字典形式保存
  • 不定长参数必须定义在默认参数和必须参数之后【顺序:必须参数->默认参数->不定长参数】

*和**为不定参数的定义,使用的过程中不需要加

4.拆包和打包:*,**

  • * 可以用来对元组/列表/字符串进行拆包(应用场景调用函数传递参数的时候)
  • ** 可以用来对字典进行拆包

注意点:使用*和**拆包,只能调用函数传参的时候使用

打包

定义参数的时候在参数前面,加个*或者**,那么这个参数就是一个不定长参数

  • 带有一个*的不定长参数,会接收到的参数,打包成一个元组
  • 带有两个**的不定长参数,会接收到的参数,打包成一个字典

拆包:方法二

# 注意拆包的数量需要与参数的数量一致,否则只能一个一个进行拆包

  • func4(*li) #对列表进行拆包 *
  • func4(*tu) #对元组进行拆包 *
  • func4(**dic) #对字典进行拆包 **

例子:

# 默认参数
def func(a,b=99):
    print("a的值{}".format(a))
    print("b的值{}".format(b))
    return a+b

res=func(11)
print(res)

# 不定长参数:*args
def func2(a, b=99, *args):
    print("a的值{}".format(a))
    print("b的值{}".format(b))
    print("*args的值{}".format(args))
    return a + b
res2 = func2(11, 22, 33)
输出:
a的值11
b的值22
*args的值(33,)

# 不定长参数:**kwargs
def func3(a, b=99, **kwargs):
    print("a的值{}".format(a))
    print("b的值{}".format(b))
    print("**kwargs的值{}".format(kwargs))
    return a + b
res3 = func3(a=11, b=22, c=33)
输出:
a的值11
b的值22
**kwargs的值{'c': 33}

def func5(*args,**kwargs):
    print("*args的值{}".format(args))
    print("**kwargs的值{}".format(kwargs))
func5(11,22,a=11,b=33)
输出:
*args的值(11, 22)
**kwargs的值{'a': 11, 'b': 33}

四、实参规则

1.按位置顺序进行传递,这种传参的形式叫位置参数(通过参数的位置顺序进行传递)

2.通过参数名指定参数进行传递,这个传参形式叫做关键字参数(通过参数名指定传参)

例子

例子1:位置传参
# 需求一:定义一个可以实现任意两个数相加计算的函数,返回相加的结果
def func4(a,b):     # a,b属于必须参数
    return a+b

res=func4(100,200)
print("res",res)

输出:300

例子2:关键字传参
def func7(a,b):
    print("a的值为{},b的值为{}".format(a,b))
    return a+b

n=func7(a=200,b=300)

输出:a的值为200,b的值为300

3.什么是实参,什么是形参?

定义时小括号中的参数,用来接收参数用的,称为形参

调用时小括号中的参数,用来传递给函数用的,成为实参

4.参数传递的两种形式:

位置参数:位置参数(按位置进行传递)

关键字参数:通过关键字指定传给某个参数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值