python_函数

函数

函数定义与使用以及函数的调用

  • def关键字,依次写出函数名、括号、括号中的参数和冒号:
  • 在缩进块中编写函数体,函数的返回值用return语句返回。
def func():

        pass

        return

调用

python内置了很多有用的函数,我们可以直接调用:

  • abs ( )
  • cmp ( )
  • 数据类型转换函数: int( ),float( ),str( ),unicode( ),bool( )

1,无参数的函数;

def hello():#定义函数,并不执行;

    print(“hi”)#函数体

hello() #调用函数

理解函数名以及函数与函数的参数

  • 函数名与变量名类似,其实就是指向一个函数对象的引用;
  • 给这个函数起了一个‘’别名‘’:函数名赋给一个变量 #比如常用的print函数就可赋给一个变量,执行效果相同

空函数

  • 定义一个什么事也不做的空函数,可以用pass语句;
  • pass可以用来作为占位符,还没想好怎么写函数的代码。就可以先放一个pass,让代码能运行起来
def Myname():
      pass

参数检查

  • 调用函数时,如果参数个数不对,python解释器会自动检查出来,并抛出 TypeError;
  • 如果参数类型不对,python解释器就无法帮我们检查;
  • 数据类型检查可以用内置函数isinstance实现
2,带有参数的函数

def fun(name): #定义函数时变量称为形式参数,变量名可以随意;

    print("hello %s" %(name))

fun("swag")#调用函数时参数称为实参。该参数必须实际存在;name = swag

函数返回值

  • 函数返回值用return关键字;
  • 返回一个tuple可以省略括号;
  • python的函数返回值有多个时其实就是返回一个tuple
  • 函数执行完毕也没有return语句时,自动return None

函数参数

  • 默认参数可以降低调用函数的难度;*有多个参数时,变化大的放前面,变化小的放后面;*必选参数在前,默认参数在后
  • 可变参数 *就是传入的参数个数是可变的,可以是一个两个到任意个,还可以是0个

   *args

扫描二维码关注公众号,回复: 279464 查看本文章

如果已经有有一个list或者tuple,要调用一个可变参数:

-python允许你在list或tuple前面加一个*号;

-把list或tuple的元素变成可变参数传进去;

largs = [1,2,3]
func(largs[0],largs[1],largs[2])
func(*largs)

关键字参数

  • 关键字参数允许你传入0个或人一个含参数名的参数;
  • 这些关键字参数在函数内部自动组装为一个dict;
  • 关键字参数用**kwargs

参数组合

  • 参数组合是指可以必选参数,默认参数,可变参数和关键字参数一起使用;
  • 参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

参数总结

  • 必选参数
  • 默认参数:默认参数一定要用不可变对象
  • 可变参数:*args是可变参数,args接受的是一个tuple
  • 关键字参数:**kw是关键字参数,kw接受的是一个dict
  • 对于任意函数,都可以通过类似func(*args,**kw)的形式调用它

变量的作用域

  • 局部变量:只能在函数内部使用的变量
  • 全局变量:在整个程序中使用的变量
  • global关键字:强制将局部变量转换为全局变量


猜你喜欢

转载自blog.csdn.net/Allance_93/article/details/80251913
今日推荐