python中的函数

一、函数的定义:函数是组织好的,可以重复调用的代码块,函数能够提高应用的模块性和代码的重复利用率
二、函数的应用场景:一般代码块,需要多次使用时,需要封装在函数里面
三、函数的定义格式和调用:

#定义:
     def func():
        """tostring文档说明,说明该函数的作用"""
        ....
    #调用函数
    func()

三、函数的返回值:
在函数中,如果要返回函数的运算结果,一般在函数中使用return函数来实现

1. 一个函数体中,可以包含多个return,但当函数遇到return时,程序就会终止
    2.如果在函数体内没有使用函数的返回值,在函数体外调用并打印函数名时,在控制台显示结果为None
    3.如果在函数体内使用了return,但是return后面没有具体的值,在函数体外打印函数名时,也会返回None
    4.不带表达式的return相当于返回了一个None
    5.函数体内存在return,并且有值的情况下,在函数体外打印函数名时,会返回具体的return的值
    6.一般情况下,return返回的就是整个函数的运算结果,调用函数时,返回的就是函数的运算结果,一般会定义一个变量去接受函数的返回值

三、函数的参数:
1.位置参数
形参:在函数定义时声明的变量,就叫做形参

def func(a): a就叫做形参
   pass

实参:在函数调用时,给函数传的值,就叫做实参

def func(1):1就叫做实参
    pass

2.关键字参数 在函数调用时,通过变量名指定的实际参数,就叫做关键字参数,关键字参数一般是在函数调用的时候使用

def func():
    pass   func(a=1,b=2)a=1 b=2就是关键字参数

3.默认值参数 在函数定义时,给形参一个默认值,当调用的时候,如果没有给形参赋值,则会使用形参的默认值,如果在调用函数时,给形参的默认值重新赋了值,就会使用函数调用时候赋的默认值

def func(a=1,b=2) 其中a=1就是默认值
    pass

4.不定长参数 在函数定义的时候,如果函数的参数不确定,可以使用不定长参数 如果在函数定义的时候使用args,在函数调用的时候,必须要传位置参数,这个位置参数可以是元组,也可以是列表 如果在函数定义的时候使用**kwargs,在函数调用的时候,必须要传关键字参数 在函数调用的时候,如果在变量名前使用一个,表示的是将元组或者列表拆成位置参数给形参定义的args 在函数调用的时候,如果在变量名前使用2个,表示的是将字典拆成关键字参数给**kwargs
5.参数的顺序: 在定义函数的时候,不定长参数一定要放在形参和默认值参数的后面,在函数调用的时候,位置参数一般要放在关键字参数前面
四、函数间的调用:

在一个函数中,可以调用其他函数
def func():
    pass
def func1():
    func()调用了func函数

五、函数的作用域:

1.全局变量
  定义在函数体外的变量,就是全局变量
  全局变量一般不能在函数体内直接修改,全局变量如果要在函数体内使用,需要在函数体前面使用global声明一下
  如果全局变量是可变类型的,列表或者是字典,可以直接在函数体内修改
2.局部变量
  定义在函数体内的变量,就是局部变量,如果需要访问函数体内的局部变量,需要将函数体内的变量值return出去,外界才能访问

六、内置函数:

1.type(),查看某个变量的数据类型
2.len(),获取某个变量的长度
3.dict(),表示字典,一般情况用于字典的转换
4.tuple(),表示元组,一般情况下用于元组的转化
5.list(),表示字典,一般情况下用于转换为字典
6.enumerate(list),表示同时获取列表的下标和元素
7.id(),表示查看变量的内存地址,如:print(id(变量))
8.sorted(reverse=True),表示排序,reverse=True表示降序排序,如果reverse=False表示升序排序,区别于sort()排序方法,sorted不会改变原列表的排序,将新的排序结果返回,sort()会改变原列表的排序
9.eval(expression),表示去掉表达式两边的引号,比如:print(eval('5+10')) 相当于print(5+10) 
10.input(),表示键盘输入,一般接受的都是字符串
11.int(),表示整型,一般用于类型转换
12.int(),表示浮点型,一般用于类型转换
13.str(),表示字符串,一般用于类型转换
14.bool(),表示布尔类型,一般用于类型转换
15.min(),表示求一组数据中的最小值
16.max(),表示求一组数据中的最大值
17.sum(),表示对一组数据进行求和
18.zip(key,value),将两个列表合并,dict(zip(key,value))将两个列表合并为字典
19.round(变量,位数),表示保留小数点的位数。
20.format(),将字符串格式化输出
21.locals(),返回函数内部所有的局部变量
22.hex(),表示十六进制,一般用于将其他进制的转为十六进制
23.bin(),表示将一个其他的进制转为二进制
24.oct(),表示将一个其他进制转为八进制
25.print(),用于在控制台打印输出的内容
26.open(),表示用于打开文件