• python学习笔记(二)


    模块和包
    模块(Module):模块是一个python文件,以.py结尾,包含了python对象定义和python语句
    包(Package):python中的包就是一个包含_init_.py文件的目录(文件夹)
     
    模块导入
    1.import 模块名
    2.from XXX import XX
    包导入
    1.from 包名 import 模块名
    2.from 包名.模块名 import 函数名(变量名)
     
    文件内容读取
    read():
    readline():读取一行内容
    readlines():按行读取所有的内容,每一行作为一个元素,放入列表中
    r:只读内容,文件不存在会报错
     
    文件的打开与关闭
    打开:open('文件名','模式')
    关闭:close()
     
    文件内容写入
    write:写入数据(内容必须是字符串)
    writelines:写入多条数据(内容是可迭代对象:列表)
    w:以写入的方式打开文件(文件不存在,创建一个新的文件,文件存在,清空原先的内容,重新写入)
    a:以写入的方式打开文件(文件不存在,创建一个新的文件,文件存在,在原内容尾部,追加写入)
     
    os模块:可以处理文件和目录,是Python系统和操作系统进行交互的一个接口
    os模块常用方法:
      os.getcwd():  获取当前工作目录,(即当前Python脚本工作的目录路径)
      os.chdir('dirname'):  改变当前脚本的工作目录,相当于shell下的cd
      os.system('bash command'):  运行shell命令,直接显示(相当于启动一个全新的shell,然后去执行那条命令,命令执行完成过后,shell直接退出)
     
    异常处理
    try:放有可能会出现错误的代码
    except:try里面的代码出现了错误之后,对错误处理的代码
    else:try中的代码没有发生错误,执行else中的代码
    finally:不管try中的代码有没有发生错误都会执行
     
    raise 语句的基本语法格式为:
    raise [exceptionName [(reason)]]
    其中,用 [] 括起来的为可选参数,其作用是指定抛出的异常名称,以及异常信息的相关描述。如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。
     
    也就是说,raise 语句有如下三种常用的用法:
    1. raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常。
    2. raise 异常类名称:raise 后带一个异常类名称,表示引发执行类型的异常。
    3. raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
     
     
    函数的返回值:只需要在函数中使用关键字return,后面跟着的就是指定要返回的值
    形参和实参:形参指的是函数定义的过程中小括号里的参数
    实参指的是函数在被调用的过程中传递进来的参数
    函数文档:函数的文档字符串可以通过特殊属性_doc_获取,也可以通过help()函数来查看函数的文档
    关键字参数:在传入实参时明确指定形参的变量名
    局部变量:定义在函数内部的变量是局部变量,局部变量的作用范围只能在函数内部生效,不能在函数外被引用
    全局变量:在整个函数中都可以访问到,但不要试图在函数内部修改全局变量的值,因为Python会创建一个新的局部变量替代(名字与全局变量相同),但真正的全局变量是不动的
    内嵌函数:在函数内部定义另一个函数,也称为内部函数。内部函数整个作用域都在外部函数之内。
    内部函数可以引用外部函数的局部变量
    闭包:如果在一个内部函数里,对在外部作用域但不是在全局作用域的变量进行引用(就是在嵌套函数的环境下,内部函数引用了外部函数的局部变量),那么内部函数就被认为是闭包
    lambda关键字:语法是使用冒号(:)分隔函数的参数及返回值,:冒号的左边放置函数的参数,如果有多个参数,使用逗号(,)隔开,冒号右边是函数的返回值
    filter()函数是一个过滤器,作用就是再海量的数据里面提取有用的信息。 包含两个参数,第一个参数可以是函数也可以是None,如果是一个函数,则将第二个可迭代对象里的每一个元素作为函数的参数进行计算,把返回True的值筛选出来;如果第一个参数为None,则直接将第二个参数中为True的值筛选出来。
    map()内置函数是映射函数,包含两个参数,也是一个函数和一个可迭代对象。将可迭代对象的每一个元素作为函数的参数进行运算加工,直到可迭代序列每个元素都加工完毕
     
    字典:用大括号({})定义,有键和值共同构成,每一对键值组合称为项。字典的键必须独一无二,但值不必,值可以去任何数据类型,但必须是不可变的,如字符串,数或元组
    也可以使用dict()内置函数来创建字典。字典不允许同一个键出现两次,如果同一个键被赋值两次,后一个值会被记住
    字典的内置方法:
    1.fromkeys(seq[,value])
    formkeys()方法用于创建并返回一个新的字典,它有两个参数:第一个参数是字典的键;第二个参数是可选的,是传入键对应的值,如果不提供,那么默认是None
    2.keys(), values(), 和 items()
    keys()用于返回字典中的键,values()用于返回字典中所有的值,items()用于返回字典中所有的键值对
    3.get(key[,default])
    当键不存在时,get()方法不会报错,会默认返回一个None,表示啥都没找到。如果希望找不到数据时返回指定的值,可以在第二份参数设置对应的默认返回值。
    如果不知道一个键是否在字典中,可以使用成员操作符(in或not in)来判断
    4.copy()
    copy()方法是用于拷贝(浅拷贝)整个字典
    5.pop(key[,default])和popitem()
    pop()是给定键弹出对应的值,popitem()是弹出一个项
    6.setdefault(key[,default])
    setdefault()与get()方法类似,但是setdefault()在字典中找不到对应的键时会自动添加
    7.update([other])
    用来更新字典
     
    集合:用大括号{}括起来一堆数字但没有体现出映射关系,就是一个集合
    创建集合:一直接把一堆元素用大括号{}括起来,二用set()内置函数
    由于set()创造的集合内部是无序的,再调用list()将无序的集合转换成列表就不能保证原来的列表顺序了
    不可变集合:使用frozenset()函数定义的集合
     
    OS模块--os.函数()
    1.os.getcwd():获得应用程序当前的工作目录
    2.os.chdir(path):改变当前工作目录
    3.os.listdir(path='.'):列举当前目录下有哪些文件和子目录,path参数用于指定列举的目录,默认值是‘.’,代表当前目录。也可以使用'..'代表上一层目录
    4.os.mkdir(path):用于创建文件夹,如果该文件夹存在,则跑出FileExistsError异常
    5.os.makedirs(path):可以用于创建多层目录
    6.os.remove(path),os.rmdir(path)和os.removedirs(path)
    remove()函数用于删除指定的文件,注意是删除文件,不是删除目录
    rmdir()函数用于删除目录。
    removedirs()函数用于删除多层目录
    7.os.rename(old,new):用于重命名文件或文件夹
    8.os.walk(top) :用于遍历top参数指定路径下的所有子目录,并将结果返回一个三元组(路径,[包含目录],[包含文件])
     
     

    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    ZOJ 3876 May Day Holiday 蔡勒公式
    ZOJ 3870 Team Formation 贪心二进制
    ZOJ 3872 计算对答案的贡献
    Codeforces Round #324 (Div. 2)C. Marina and Vasya set
    Jquery前端分页插件pagination使用
    最简单的混合开发教程资料汇总
    最简单的混合开发教程资料汇总
    2018年各大互联网前端面试题二(滴滴打车)
    2018年各大互联网前端面试题二(滴滴打车)
    【福利】小程序开发资源干货汇总
  • 原文地址:https://www.cnblogs.com/butaileng7/p/14345958.html
Copyright © 2020-2023  润新知