函数基础

函数基础:

1.内置函数:
    作用域相关:locals(),globals()
    
    迭代器/生成器相关:range(),next(),iter()
    
    数据类型相关:bool(),int(),float(),complex()
    
    进制转换:bin() 二进制,oct() 八进制,hex() 十六进制
    
    数学运算:abs(),divmod(),round(),pow(),sum(),min(),max()
    
    和数据结构相关:
    
        a.数据集合:字典:dict(); 集合:set(),frozenset()
        
        b.相关内置函数:len(),sorted(),zip(),filter(),map(),enumerate(),all(),any()
    
    序列:
        a.列表和元组:list,tuple
        
        b.相关内置函数:reversed(),slice
        
        c.字符串串:str(),format(),bytes(),repr(), bytearray(),memoryview(),
        
        ord(),chr(),ascii()
    
    其他:
    
        a.输入和输出:input(),print()
        
        b.内存相关:hash(),id()
        
        c.文件操作相关:open()
        
        d.模块相关:import
        
        e.帮助:help()
        
        f.调用相关(可以区分函数和普通变量) callable()
        
        g.查看内置属性:dir()
        
        h,字符串类型代码的执行:eval(),exec(),compile()
        
    面向对象相关: 
    type,object,classmethod,staticmethod,property,vars(),super,
    
     issubclass(),isinstance()
     
    反射相关:  hasattr(),getattr(),setattr(),delattr()

内置函数官方文档 :https://docs.python.org/3/library/functions.html
2.定义函数:

定义一个函数要是用def语句,依次写出函数名,括号,参数以及:,函数的返回值用return表示, 函数一旦执行到return时,函数就要执行完毕,并将结果返回;如果没用return语句,函数执行完成会返回None

  def  func():
                 return("hello,python")
            print(func())  #调用函数

函数名就是一个变量名,可以进行赋值,可以作为参数,可以作为返回值,还可以作为集合类的元素

3.参数:给函数传递的信息
 分类:位置参数,关键字参数,混合参数(位置在前,关键字在后)
顺序:位置参数,*args,默认值参数,**kwargs
    a.形参:在函数声明的位置定义的变量
            分类:位置参数
                默认值参数
                动态传参:动态接受位置参数 *args,动态接受关键字参数 **kwargs
    b.实参:在函数调用的时候给函数传递的具体的值
传参:把实参传递给形参的过程叫传参
4.名称空间:
  a.内置名称,b.全局名称,c.局部名称
5.作用域:
a.全局作用域
b.局部作用域
    globals() 查看全局作用域中的内容
    locals() 查看当前作用域的内容
 global    在局部引入全局变量,创建全局变量
 nonlobal  在局部,引入离他最近的上一个变量
6.函数的嵌套:
def func():
        def inner():
            pass
        return  inner()
7.闭包:在内层函数访问外层函数中的变量,最好是返回函数
作用:		

​ a.保护变量不被更改,

​b.可以让一个变量常驻内存
    def func():
​        a = 10
​        def inner():
​            return a
​        return inner()


8.迭代器:可迭代对象:在数据类型中包含了_iter_
  迭代器;访问_iter_可以获取到该数据类型的跌迭代器,包含_iter_和_next_
        特点:a.省内存   b.惰性机制      c.只能向前
9.生成器:
  a.生成器的本质是迭代器
    b.生成器有三种方式来创建:
        1.生成器函数      2.生成器表达式      3.类型转换(range())
    c.生成器函数:生成器函数中包含yield  yield表示返回,可以分段的执行函数
        生成器函数在被调用的时候,获取生成器,而不是执行函数
        
        def func():
            yield xxx
        func() #获取迭代器
        
        生成器的使用:(1). _next_() 执行下一个yield
                    (2). send() 可以给上一个yield传值;yield from:把一个可迭代对象转换成生成器
                    
        生成器表达式: (结果 for if)
posted @ 2020-08-05 23:38  小幸福Y  阅读(116)  评论(0编辑  收藏  举报