欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python_0基础开始_day11

程序员文章站 2022-12-21 09:52:09
第十一节 一,函数名的第一类对象 函数名当作值,赋值给变量 print(函数名) 查看看书的内存地址 print(函数名) 查看看书的内存地址 函数名可以当作容器中的元素 函数名可以当作函数的参数 函数名可以当作函数的返回值 二,f-strings字符串格式化 f"{变量名}" F"{变量名}" f ......

第十一节

一,函数名的第一类对象

  1. 函数名当作值,赋值给变量

    • print(函数名) 查看看书的内存地址

  2. 函数名可以当作容器中的元素

    lis = []
    dic = {}
    def func():
       print(11)
    def foo():
       print(22)
    lst.append(func)
    lst.append(foo)
    print(lst)# 输出后的是内存地址

    msg = """
    1 登录
    2 注册
    3 主页
    """
    choose = input(msg)   # 1
    if choose.isdecimal():
       if dic.get(choose):
           dic[choose]()
       else:
           print("请正确输入!")
    # 用字典存储大量数据,通过字符串显示每个数字代表的功能,在字典中找到并读取该值
  3. 函数名可以当作函数的参数

    def func(a):
       print(111)
       a()

    def foo():
       print(222)
    func(foo)
  4. 函数名可以当作函数的返回值

    def func():
       def foo():
           print(111)
       return foo

    func()()  # foo()

二,f-strings字符串格式化

    • f"{变量名}"

    • f"{变量名}"

    • f"""{变量名}"""

    • f"{input()}"

    • f"{3 if 3 > 2 else 2}"

    • f"{list[索引]}"

    • f"{dict[keys]}"

三,迭代器

迭代器是基于上一次停留的位置,进行取值

  1. 可迭代对象

    • 具有iter()方法就是可迭代对象

    list,tuple,str,srt,dict # 取值方式直接看
    # 只有具有.__iter__()方法就是一个可迭代对象
  2. 迭代器

    • 具有.iter()和.next()两个方法才是迭代器

    • 迭代器的优点:

      • 惰性机制——节省空间。

    • 迭代器的缺点:

      • 不能直接查看值,迭代器看到的是一个迭代器的内存地址

      • 一次性,用完就没了

      • 不能逆行(后退)

    • 空间换时间:容器存储大量的元素,取值时间短,但是容器占用空间比较大

    • 时间换空间:迭代器就是节省了空间,但是取值时间较长。

    • python2和3的区别:

      • python3:

        • iter()和iter()都有;next()和next()都有

      • python2:

        • 只有__iter__(),next()

    # python3:iter()和__iter__()都有;next()和__next__()都有
    # python2:只有iter(),next()

    # 具有.__iter__()和.__next__()两个方法才是迭代器
    lis = [1,2,3,4,5,6]
    l = lis.__iter__()# 将可迭代对象转换成迭代器
    l = iter(lis) # iter 和__iter__是一样的
    l.__iter__()#迭代器指定__iter__()还是原来的迭代器

    # for 循环的本质:
    while true:
    try:
           print(l.__next__())
       except stopiteration:
           break

     

  3.