python-函数详解

1、函数定义:

函数就是组织好的可以重复使用的,用来实现单一或者相关联功能的代码端

作用:提高代码的复用性

2、如何定义函数:

def 标识符(参数1,参数2,参数3.。。)

   函数体(用来实现单一或者相关联功能的代码段)

   return[表达式]

函数是否需要带上return?

默认情况,可以不要return,或者只有return,返回None

什么情况需要return,需要调用这个函数的调用方法是否需要函数体中的某个值

3、函数调用

默认情况下参数值和参数名称是按照函数定义的顺序匹配的

实际情况,项目中存在多个参数的函数,不一定按照默认情况调用函数

4、调用函数时可以使用正式参数类型:

1)必须参数:必须以正确的顺序传入参数,调用时数量和定义时一样

2)关键字参数:调用时参数顺序可以和定义的顺序不一样

3)默认参数,调用时如果没有传参使用默认参数

4)不定长参数:调用函数方无法确定参数个数

         (1)第一类,加*参数名

             (2)第二类,加**参数名

 

  (3)第三类,*单独出现 命名关键字参数

   命名关键字参数:限制关键字参数的名称

 定义参数的顺序:

必须参数,默认参数,可变参数(*参数或者*),命名关键字参数和**参数(不限定参数名称的)

 

不带参数的函数:

def welcome()

  print("欢迎")

  return

带参数的函数  name是形参

def welcome(name)

  print(f"{name},欢迎")

welcome("zhangsan") //zhangsan是实参

有返回值函数

def max(a,b)

  if a>b:

        max=a

  else:

        max=b

return max

不定长参数(把不确定的参数存储再元组extra中):

def register(name,phone,*extra):

        print(extra)

        info=[name,phone]

        for value in extra:

        info.append(value)

        print(f“{name}注册成功”)

        print(f"{name}的注册信息是:",info)

调用1:

register("jasmine",'18200001111','sz','gz')

register('a'.'13200003333')

调用2:

extra=['sz,'12','aaa']

register("jasmine",'18200001111',*extra)

不定长参数(把不确定的参数存储再字典kwargs中):

def register1(name,phone,**kwargs):

        print(kwargs)

        info=["name"=name,"phone"=phone]

        for key,value in kwargs.items():

                info[key]=value

        print(f“{name}注册成功”)

        print(f"{name}的注册信息是:",info)

调用1:

register1("jasmine",'18200001111',city='sz',year="2")

调用2:

extra={city='sz',year="2'}

register1("jasmine",'18200001111',extra[city],extra[year]}

调用3:

register1("jasmine",'18200001111',**extra)

命名关键字参数(*单独出现,*作为命名关键字参数的分隔符,名称跟定义的参数的名称一致):

def register2(name,phone,*,city,year):

        print(name,phone,city,year)

 register2("lisi","13566667777",city="xa",year="3")

def register3(name,phone,*args,city,year):

        print(name,phone,city,year)

 register3("lisi","13566667777",city="xa",year="3")

计算多个数字之和

def sum(*args):

        sum=0

        for num in args:

        sum+=num

        return sum

 value1=sum(1,2)

value2=sum(1,2,3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值