• 函数的进阶


    一.函数的命名:

    1.函数的名的应用(第一类对象)

    函数名的命名规范和变量是一样的.

    函数名其实就是变量名

    1 def func():
    2     print('我是一个小小的函数')
    3 a=func
    4 func()
    5 
    6 func=3
    7 print(func)

    可以作为列表中的元素进行存储:

    1 def func1():
    2     print('我是1')
    3 def func2():
    4     print('我是2')
    5 def func3():
    6     print('我是3')
    7 lst=[func1,func2,func3]
    8 for el in lst:
    9     el()

    可以作为参数传递给函数:

    1 def my():
    2     print("我是my")
    3 def proxy(fn):
    4     print('在处理之前')
    5     fn()
    6     print('在处理之后')
    7 proxy(my)

    可以作为函数的返回值

     1 def func1():
     2     print('我是func1')
     3 def func2():
     4     print('我是func2')
     5 def func(fn, gn):
     6     print('我是funcc')
     7     fn()
     8     gn()
     9     print('哈哈')
    10 func(func1,func2)

    2.闭包

    闭包:在内层函数中访问外层函数的局部变量

    好处:

            1.保护你的变量不受外界影响

            2.可以让变量常驻内存

    写法:

    1 def outer():
    2      a=10
    3      def inner()
    4           print(a)
    5      return inner

    3.迭代器

    使用dir来检查看该数据包含了哪些方法

    用来遍历列表,字符串,元组......可迭代对象

    可迭代对象:Iterable,里面有__iter__()可以获取迭代器,没有__next__()

     1 s=123
     2 for i in s:
     3     print(i)
     4 print(dir(str))
     5 print(dir(list))
     6 print(dir(int))
     7 s='唐太宗李世民'
     8 it=s.__iter__()
     9 # print(dir(it))
    10 print(it.__next__())
    11 print(it.__next__())
    12 print(it.__next__())

    迭代器特点:

    1.只能向前

    2.惰性机制

    3.省内存(生成器)

    for循环的内部机制.

    1.首先获得迭代器.

    2.使用while循环获取数据

    3.it.__next__()来获取数据.

    4.处理异常try:xxx  except StopIteration:

    1 lst = ['李渊', '李世民', '李治', '武曌', '李显', '李旦']
    2 # for el in lst:
    3 #     print(el)
    4 i=lst.__iter__()
    5 while 1:
    6     try:
    7         print(i.__next__())
    8     except StopIteration:
    9         break
  • 相关阅读:
    js日历,使用datepicker.js,ui.core.js,jquery-1.7.1.js
    android设置按钮按下的不同效果图
    a标签阻止跳转的方法
    获取浏览器中选中部分,比如文本等
    Android Studio does not point to a valid jvm
    Drawerlayout
    webviewactivity
    ViewFilpper
    Physik
    Betriebssystem
  • 原文地址:https://www.cnblogs.com/982336352ryan/p/9457532.html
Copyright © 2020-2023  润新知