python函数的使用讲解

函数:在一个完整的项目中,弄些功能会反复的使用,那么会讲该功能复用,那么会将功能封装成函数,当我们要使用功能的时候直接调用函数即可本质:函数就是对功能的封装优点:1:简化代码的结构,增加了代码的复用度(重复使用的的程度)

如果想修改某些功能或者调试弄个bug,直接修改该函数对应的功能即可

值传递:

def func1(num):
    num = 10
    print("ooo",num)

temp =20
func1(temp)
print(temp)

传递的不可变的类型"string,tuple,number是不可变的类型

  • 函数:在一个完整的项目中,弄些功能会反复的使用,那么会讲该功能复用,那么会将功能封装成函数,当我们要使用功能的时候直接调用函数即可
  • 本质:函数就是对功能的封装
  • 优点:1:简化代码的结构,增加了代码的复用度(重复使用的的程度)

2:如果想修改某些功能或者调试弄个bug,直接修改该函数对应的功能即可

值传递:

传递的不可变的类型"string,tuple,number是不可变的类型

def func1(num):

num = 10

print("ooo",num)



temp =20

func1(temp)

print(temp)

 

引用传递:

传递的可变类型,list、dict、set是可变的

def fun2(li):

li[0]=100

li = [1,2,3,4,5,6]

fun2(li)

print(li)

 

关键字参数:

概念:允许函数调用时参数的顺序与定义时不一致

def mypri(str,age): 
    print(str,age) 
mypri(age =18,str="sunck is")

 

默认参数:

概念:调用参数时,如果没有传递参数,则使用默认参数

如果要使用默认参数,最好将默认参数放到最后

def myprint(str,age=18):

    print(str,age)

myprint(str="sucnk")

不定长参数:

概念:能处理比定义时更多的参数,加了*号的变量存放所有的未命名的变量参数,如果在函数调用时没有指定参数,那么他就是空元祖

 

def fun(name,*args):
    print(arr) 
    for x in args:
        print(x) 
fun("www","eee","ttt","yyyyyyy")

** 代表键值对的参数,和*参数类似

def func3(**kwargs):
     print(kwargs) 
    print(type(kwargs)) 
func3(a=1,b=2,c=3)
  • 匿名函数

1.它不使用def这样的语句定义函数,使用lambda来创建匿名函数

特点:

1、lambde它只是一个表达式,函数体比def简单

2、lambda的主体是一个表达式,不是代码块,仅仅只能 在lambad表达式封装简单的逻辑

3、lambad函数有自己的命名空间,且不能访问自有参数列表之外的或全局命名空间的函数

4、虽然lambad是一个表达式且看起来只能写一行,与c和c++内联函数不同

格式:lambda 参数1,参数2,……参数n:

sum = lambda num1,num2:num1+num2 
print(sum(1,2)



temp =20

func1(temp)

print(temp)

 

引用传递:

传递的可变类型,list、dict、set是可变的

def fun2(li):

    li[0]=100

li = [1,2,3,4,5,6]

fun2(li)

print(li)

 

关键字参数:

概念:允许函数调用时参数的顺序与定义时不一致

def mypri(str,age): 
    print(str,age) 
mypri(age =18,str="sunck is")

 

默认参数:

概念:调用参数时,如果没有传递参数,则使用默认参数

如果要使用默认参数,最好将默认参数放到最后

def myprint(str,age=18):
     print(str,age)
myprint(str="sucnk")

不定长参数:

概念:能处理比定义时更多的参数,加了*号的变量存放所有的未命名的变量参数,如果在函数调用时没有指定参数,那么他就是空元祖

 

def fun(name,*args):
    print(arr) 
    for x in args: 
        print(x) 
fun("www","eee","ttt","yyyyyyy")

** 代表键值对的参数,和*参数类似

def func3(**kwargs): 
    print(kwargs) 
    print(type(kwargs)) 
func3(a=1,b=2,c=3)
  • 匿名函数

1.它不使用def这样的语句定义函数,使用lambda来创建匿名函数

特点:

1、lambde它只是一个表达式,函数体比def简单

2、lambda的主体是一个表达式,不是代码块,仅仅只能 在lambad表达式封装简单的逻辑

3、lambad函数有自己的命名空间,且不能访问自有参数列表之外的或全局命名空间的函数

4、虽然lambad是一个表达式且看起来只能写一行,与c和c++内联函数不同

格式:lambda 参数1,参数2,……参数n:

sum = lambda num1,num2:num1+num2
print(sum(1,2)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值