zoukankan      html  css  js  c++  java
  • python日记----2017.7.26

    命名空间
    命名空间一共分为三种
    全局命名空间
    局部命名空间
    内置命名空间(是Python解释器为我们提供的名字,好比‘input,print’等)

    三种命名空间之间的加载顺序:
    加载顺序:内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载)
    三种命名空间之间的取值顺序:
    在局部调用:
    局部命名空间->全局命名空间->
    内置命名空间
    在全局调用:
    全局命名空间->内置命名空间
    作用域:
    作用域就是作用范围,按照生效范围可以分为全局作用域和局部作用域。

    全局作用域:
    包含内置名称空间、全局名称空间,在整个文件的任意位置都能被引用、全局有效

    局部作用域:
    局部名称空间,只能在局部范围内生效
    (globals() 函数会以字典类型返回当前位置的全部全局变量。)
    (locals() 函数会以字典类型返回当前位置的全部局部变量。)
    函数的嵌套:
    嵌套函数,顾名思义就是函数里面 套函数。
    def A():
    print('a')
    def B():
    print ('b')
    B()
    print ('Over!!!')
    A()
    运行结果
    a
    b
    Over!!!
    函数名的本质:
    1.可以被引用
    2.可以被当作容器类型的元素
    3.可以当作函数的参数和返回值
    闭包:
    内部函数包含对外部作用域而非全剧作用域名字的引用,该内部函数称为闭包函数
    def func():
    name = 'eva'
    def inner():
    print(name)

    作业:

    # 2、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
    # import os
    # def rep(file_name,new,old):
    #
    # with open(file_name,'r',encoding='utf-8') as read_f,
    # open('h','w',encoding='utf-8') as write_f:
    # for line in read_f:
    # write_f.write(line.replace(new,old))
    #
    # os.remove(file_name)
    # os.rename('h',file_name)
    #
    # rep('hello.txt','*','7')

    # 3、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

    # def func(obj):
    # for i in obj:
    # if i:
    # print('该元素不为空',i)
    # else:
    # a = obj.index(i)
    # print('该元素为空',i)
    #
    #
    # func(['a','',''])
    #


    # 4、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    # dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    # PS:字典中的value只能是字符串或列表
    # dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    # def value_len(leng):
    # for k,v in leng.items():
    # # print(k,v)
    # if len(v) > 2:
    # leng[k]=v[0:2]
    # # print(leng)
    # return leng
    #
    # print(value_len(dic))
  • 相关阅读:
    【C++日常】C++动态命名变量名
    两个整数相除
    Jsp页面跳转 接收时的乱码问题
    Reverse a singly linked list
    Java处理excel文件
    Navicat for mysql 破解
    EasyUi 分页 和 表格数据加载
    Spring 框架下Controller 返回结果在EasyUI显示
    svn ubuntu command(转载)
    Shiro Security
  • 原文地址:https://www.cnblogs.com/De-Luffy/p/7252220.html
Copyright © 2011-2022 走看看