函数一

python中万物皆为对象

函数

函数的定义

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等…
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据。
def func():
    pass

函数的调用

func()

函数的返回值

return

用来返回数值。当没有返回值时,可以用于跳出函数。即当遇到return时,跳出该函数,并且返回return后面的值

没有返回值

不写return
def func():
    print('asd')

print(func())

-----------
None
return
def func():
    return

print(func())

-----------
None
return None
def func():
    return None


print(func())

-----------
None

有返回值 retrun 可以返回任意类型的值

有一个返回值
def func():
    return 1

a = func()
print(a)

--------
1
有多个返回值
 def func():
    return 1,2,3

a,b,c = func()
print(a,b,c)

--------
1 2 3

函数的参数

形参

在函数定义的时候传递的参数叫做形参

def func(name):
    print(name)

这里的name就是形参(形式参数)
位置参数

位置参数,顾名思义,按照位置排序的参数

def func(name,age,sex):
    print(name,age,sex)

func('night', 18, 'GG')
---------
name, age, sex这三个参数是按照顺序进行接收,第一个值赋给name, 第二个值赋给age, 第三个值赋给sex
默认参数

默认参数,也叫关键字参数,就是可以设置默认值

def func(name,age=18,sex='GG'):
    print(name,age,sex)

func('night')
func('night', age=20, sex='GG')
---------
第一个参数是位置参数,第二个和第三个是默认值参数,即 如果我们在调用的时候不填实参时,会按照默认值进行赋值。如果填了实参就按照实参进行赋值
动态参数

可以填任意数量的参数

*args
def func(*args):
    print(args)

func(1,2,3,4)
-------

(1,2,3,4)

args 可以接收任意个参数,并且按照位置顺序传递给args,并且args是以元组的类型进行存储
传参方式二
li = [1,2,3,4]
def func(*args):
    print(args)

func(*li)

------

(1,2,3,4)

*li 表示将列表li按顺序打散,并一次性赋值给args
**kwargs
def func(**kwargs):
    print(kwargs)

func(a='1',b='2',c='3')

------

{'a':'1', 'b':'2', 'c':'3'}
kwargs 可以接收任意个参数按照关键字传递给kwargs,并且kwargs是以字典的类型进行存储
传参方式二
dic = {'a':'1', 'b':'2', 'c':'3'}
def func(**kwargs):
    print(kwargs)

func(**dic)

------

{'a':'1', 'b':'2', 'c':'3'}
**dic 表示将字典按顺序打散,并一次性赋值给kwargs
形参的顺序

位置参数—args—默认参数—kwargs

def func(a,b,*args,c=None,d=None,**kwargs):
    print(a,b,args,c,d,kwargs)

实参

def func(name):
    print(name)


func('night')# 这里的night 就是实参(实际参数)
按照位置传递参数
def func(name,age,sex):
    print(name,age,sex)

func('night','GG',18)
-----
night GG 18
这就是按照位置一一对应进行传值,将night赋值给name 将GG赋值给age 将18赋值给sex
按照关键字传递参数
def func(name,age=18,sex='GG'):
   print(name,age,sex)
   func('night')

func(age=18,name='night', sex='GG')

---------

根据关键字一一对应进行传值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值