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)

 

你可能感兴趣的:(python函数的使用讲解)