zoukankan      html  css  js  c++  java
  • Python基础-文件操作&函数回顾总结

    文件操作回顾总结

    文件操作
        打开文件
            open('文件路径') 默认的打开方式('r'),默认的编码是('操作系统的默认编码')
            r w a r+ w+ a+ 以上6种加b  (r+ w+ a+ 尽量避免)(如果打开模式加b了,则不需要指定编码了;)
            编码 utf-8  gbk
        操作文件
            读
                read
                    不传参数 意味着读所有
                    如果是r方式打开的,参数指的是读多少个字符
                    传参,以rb方式打开,参数指的是读多少个字节
                readline
                    一行一行读,每次只读一行,不会自动停止
    
                for循环
                    一行一行读 从第一行开始,每次读一行,读到没有之后就停止
                readlines
            写
                write  写一行内容,以w形式打开写的是字符,以b模式打开写的是字节
        关闭文件
            f.close()
        with open() as f:
        修改文件
            c import os
            os.remove
            os.rename
    

      

    函数基础回顾总结

    # 函数
        # 定义
             # 关键字 def 函数名(形参,a):
             # 参数: 位置参数 关键字参数
                # 位置参数
                # *args 动态参数:接收在调用的时候传过来的所欲的所有按位置传的参数
                # 关键字参数 默认参数(如果不传会有一个默认参数,传了会覆盖默认的值)
                # **kwargs 动态参数:接收在调用的售后传过来的多余的所有按关键字传的参数
        # 返回值
            # return 停止一个程序的运行,返回参数
                # 没有返回值  默认返回 one
                # 有一个返回值
                # 返回多个值
        # 调用
            # 调用的关键字 函数名()
            # 传参数: 实参
                # 按照位置传
                # 按照关键字传
            # 接收返回值
                # 没有返回值 不接收
                # 有一个返回值 用一个变量接收
                # 有多个返回值
                    # 用一个变量接收 所有返回值都会被组织成一个元祖
                    # 用多个变量接收 有多少个返回值,就必须用多少个变量接收。
    
    
    # 函数是第一类对象的概念
        # 函数名 ---> 函数的内存地址
        # 函数名 可以作为容器类型的元素 函数的参数 函数的返回值 还能进行赋值
    
    
    # 闭包和装饰器
        # 闭包的定义: 内部函数引用外部函数的变量
        # 闭包的应用: 装饰器
    
    # 装饰器
        # 在原有的函数的前后增加功能,且不改变原函数的调用方式
    
    import time
    # 装饰器模板
    def timmer(f):
        def inner(*args,**kwargs):
            ret = f(*args,**kwargs)
            return ret
        return inner
    
    
    def timmer(f):
        def inner(*args,**kwargs):
            start_time = time.time()
            ret = f(*args,**kwargs)
            end_time= time.time()
            print(end_time - start_time)
            return ret
        return inner
    
    @timmer
    def func(a):
        print(a,'123')
        time.sleep(0.1)
        return True
    
    # func(1)
    
    # 装饰器进阶
    #  第一种情况  你可以确认你的装饰器是否生效
    

      

  • 相关阅读:
    Sprinig.net 双向绑定 Bidirectional data binding and data model management 和 UpdatePanel
    Memcached是什么
    Spring.net 网络示例 codeproject
    jquery.modalbox.show 插件
    UVA 639 Don't Get Rooked
    UVA 539 The Settlers of Catan
    UVA 301 Transportation
    UVA 331 Mapping the Swaps
    UVA 216 Getting in Line
    UVA 10344 23 out of 5
  • 原文地址:https://www.cnblogs.com/wangph/p/8931623.html
Copyright © 2011-2022 走看看