zoukankan      html  css  js  c++  java
  • python 学习 (三)

    1.单引号

    python中不区分单引号和双引号,与shell脚本不一样。

    2.Python 模块(Module)

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。可以认为是变量、函数、类这些工具的“工具箱”,模块时可以被其它模块所使用的。

    模块定义好后,我们可以使用 import 语句来引入模块;此时调用模块中的变量、函数、类需要在前面加上模块名和点符号,即模块名.变量、模块名.函数名()、模块名.类名()。

    Python 的 from 语句是让你从模块中导入一个指定的部分到当前命名空间中;直接使用变量、函数、类,无需指明模块名。

    3.文件操作

    Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

    注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。我们写入文件内容时,系统并不会立刻就把所有数据写入到磁盘,它是先放到内存中缓存,等到空闲的时候再慢慢写入到磁盘。当调用close()方法时,系统才能保证把剩余没有写入的数据全部写入到磁盘。假如我们忘记调用了close()方法,那很可能导致我们的数据遗失。

    open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

    open(file, mode='r')

    完整的语法格式为:

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

     mode:决定了打开文件的模式:只读,写入,追加等。mode 可以是 'r' 如果文件只读, 'w' 只用于写 (如果存在同名文件则将被删除), 和 'a' 用于追加文件内容; 所写的任何数据都会被自动增加到末尾. 'r+' 同时用于读写。 mode 参数是可选的; 'r' 将是默认值。

    下图总结了这几种模式

     

    由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:

    try:
        f = open('/path/', 'r')
        print(f.read())
    finally:
        if f:
            f.close()

    每次打开后都要显式调用close(),这么写实在太繁琐,Python引入了with语句来自动帮我们调用close()方法:

    with open('demo.text', 'w') as f:            
        print(f.write('demo'))

     主要时通过格式的缩进行来实现的,当with下一行出现缩进行,就会自动调用close()方法

    注意:在Windows 系统中,路径 中有\,为防止转移, 前面添加个r,例如

    with open(r'C:	estpydemo.text', 'w') as f:            
        print(f.read())

     4.Restful 前后端分离

     REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多的采用。

    RESTFUL特点:
    (1)每一个URI代表1种资源;
    (2)客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
    (3)通过操作资源的表现形式来操作资源;
    (4)资源的表现形式是XML或者HTML;
    (5)客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

    如果一个架构符合REST原则,就称它为RESTful架构。

    要理解RESTful架构,需要先理解Representational State Transfer这个词组的意思,它的每一个词代表了什么涵义。

    资源(Resources)

    REST的名称"表现层状态转化"中,省略了主语。"表现层"其实指的是"资源"(Resources)的"表现层"。所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。所谓"上网",就是与互联网上一系列的"资源"互动,调用它的URI。

    表现层(Representation)

    "资源"是一种信息实体,它可以有多种外在表现形式。我们把"资源"具体呈现出来的形式,叫做它的"表现层"(Representation)。比如,文本可以用txt格式表现,也可以用HTML格式、XML格式、JSON格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。URI只代表资源的实体,不代表它的形式。严格地说,有些网址最后的".html"后缀名是不必要的,因为这个后缀名表示格式,属于"表现层"范畴,而URI应该只代表"资源"的位置。它的具体表现形式,应该在HTTP请求的头信息中用Accept和Content-Type字段指定,这两个字段才是对"表现层"的描述。

    状态转化(State Transfer)

    访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源。

    针对不同操作,服务器向用户返回的结果应该符合以下规范。

    GET /collection:返回资源对象的列表(数组)
    GET /collection/resource:返回单个资源对象
    POST /collection:返回新生成的资源对象
    PUT /collection/resource:返回完整的资源对象
    PATCH /collection/resource:返回完整的资源对象
    DELETE /collection/resource:返回一个空文档

    以Flask-RESTful为例,主要构建步骤:

    step 1.创建api对象;

    step 2.定义resource的子类;

    step 3.绑定路由;

    step 4.app启动(app.run())。

    5.Postman

    Postman是一种网页调试与发送网页http请求的chrome插件。是一个很强大的 API调试、Http请求的工具,可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。

     

    学习转载

    1.Python File(文件) 方法

    https://www.runoob.com/python/file-methods.html

    2.Python3 输入和输出

    https://www.runoob.com/python3/python3-inputoutput.html

    3.python3 文件操作with open()方法用法解析

    https://www.jianshu.com/p/7e81de91714b

    4.https://www.bilibili.com/video/BV1TJ411Y7JX?p=138&spm_id_from=pageDriver

    5.理解RESTful架构 Restful API设计指南

    https://www.cnblogs.com/alex3714/articles/6808013.html

    6.https://www.bilibili.com/video/BV1TJ411Y7JX?p=425

  • 相关阅读:
    手把手实战:eclipse 搭建 SpringMvc 框架环境
    解决eclipse中Tomcat服务器的server location选项不能修改的问题
    如何解决JSP页面顶端报错 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    第二课 --- git的(管理修改和撤销修改、删除文件)
    第二课 ---git时光穿梭(版本回退)
    第一课——git的简介和基本使用
    001——使用composer安装ThinkPHP5
    微信小程序中对于变量的定义
    微信小程序onLaunch修改globalData的值
    7——ThinkPhp中的响应和重定向:
  • 原文地址:https://www.cnblogs.com/xuliuzai/p/15168861.html
Copyright © 2011-2022 走看看