input 函数

#!/usr/bin/env python3
name = input("\n\n按下 enter 键后退出。")
print(name)

print() 在 python3 中是一个函数

a = 1
b = 2
c = 3
print(a)
print(b)
print(c) d= 100.14
print(d) name = "liwei"
print(name)

print("hello python")

定义变量

a = 10

b = 2

c = a + b

print(a)

print(b)

print(c)

判断语句

score = 80

if score >= 90:

print("优秀")

elif score >= 60:

print("及格")

elif score >= 30:

print("不及格")

else:

print("很差劲了")

注意事项:

1、分号的位置

2、每一行都有缩进

3、elif

4、else 后面有分号

循环

for i in range(0,100):

print(i)

循环的扩展(字符格式化)

for i in range(0,10):

print("Hello {0},{1}".format(i,"liwei zhouguang"))

定义函数

def hello():

print("测试方法")

hello()

注意事项:

1、使用 def 定义函数;

2、方法名后面跟括号和冒号;

3、调用方法的时候不要缩进

带有参数的函数


curl (一个 Get 方式的网址地址)

restful 设计理念:表现层状态转移

资源:网络上的具体信息

URI:抽象概念,统一资源标识符

URL:具体概念,统一资源定位器

状态转移:

(1)HTTP 协议是一个无状态的协议

所有的状态都要保存在服务器端。

(2)GET、POST、PUT、DELETE

(3)让我们来看一个 RESTFUL 的请求

curl -X GET (一个 GET 方式的网址)

REST 构架设计 6 原则

1、

2、无状态

3、

4、

5、

6、按需编码

flask 非常容易上手,是一个 python 微型的 web 框架

flask.pocoo.org

中文版本的文档:

http://docs.pythontab.com/flask/flask0.10/api.html

http://docs.jinkan.org/docs/flask/

如果有非常浓厚的兴趣,可以自己查看官网文档进行学习。

扩展的部分:http://flask.pocoo.org/extensions/

编写下面这段代码就可以运行一个小小的服务了,这是一个最最简单的使用 python 写的 python 程序

pycharm 里面要新建 flask 模块才可以。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello liwei!' if __name__ == '__main__':
app.run()

服务器运行是这样的:

我们使用 curl 工具去访问这个服务,浏览器显示:

以 debug 方式运行这个最最简单的 python 写的 web程序

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
a = 1
b = 'a'
c = a + b
return 'Hello liwei!' if __name__ == '__main__':
app.run(debug=True)

此时,浏览器会显示错误信息,如图所示。

flask console lock 这个问题没有解决。

编写一个最最简单的,具有 restful 风格的 URL,是不是觉得和 SpringMVC 的功能是一样的呢?但是 python 简单得多

from flask import Flask

app = Flask(__name__)

@app.route("/index/<user>")
def hello_world(user):
print('你好 %s' % user)
return '%s ,welcome' % user if __name__ == '__main__':
app.run()
curl -X GET http://127.0.0.1:5000/index/liwei

此时,控制台显示:

四种 http 方法的设置,对比 Spring MVC 是不是特别简单?

from flask import Flask

app = Flask(__name__)
# 我们修改一下路由
@app.route('/index/<user>',methods=['POST','DELETE'])
def hello_world(user):
return 'Hello %s!' % user if __name__ == '__main__':
app.run(debug=True)

此时,使用浏览器访问 URL 已经不好使了,我们可以通过 postman 或者 curl 这样的工具发送 post 请求。

使用 curl 工具这样访问:

curl -X POST  http://127.0.0.1:5000/index/liwei

此时,终端显示:

Chrome 开发者工具介绍

如何使用 Requests 浏览 http 文档。

用 Python 编写,真正的为人类着想。

中文文档地址:

http://cn.python-requests.org/zh_CN/latest/

安装 pip 命令,这个命令相当于 Java 的 Maven、Gradle 工具

切换用户到 root,执行命令 su,输入密码。

然后执行

sudo easy_install pip

就安装好了。

pip install requests

可以安装 requests 模块了。

passwd 可以设置我本机的密码。

使用 requests 这个模块

import requests

r = requests.post("http://127.0.0.1:5000/index/liwei")
r.text

返回的结果是:

接下来,我们在服务端,把客户端的请求信息打印一下:



注意:这里不要写成 requests 了。

很神奇的是,我们发现请求头是 python 的请求头:

127.0.0.1 - - [30/Apr/2017 10:54:21] "POST /index/liwei HTTP/1.1" 200 -
Content-Length: 0
User-Agent: python-requests/2.13.0
Connection: keep-alive
Host: 127.0.0.1:5000
Accept: */*
Accept-Encoding: gzip, deflate

如图所示:

这样很容易被发现是 爬虫的请求头 。

我们可以在客户端设置一个 User-Agent ,进行伪装,代码如下:

import requests

headers = {'User-Agent':"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"}
r = requests.post("http://127.0.0.1:5000/index/liwei",headers=headers)
print type(r.text)

Python 学习笔记(基础语法 restful 、 Flask 和 Requests)的更多相关文章

  1. Python学习笔记——基础语法篇

    一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Pyth ...

  2. python学习笔记--基础语法

    等待用户输入 #!/usr/bin/python raw_input("\n\nPress the enter key to exit.") 简单的判断 #!/usr/bin/py ...

  3. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  4. Python学习笔记——基础篇【第四周】——迭代器&生成器、装饰器、递归、算法、正则表达式

    目录 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 #作业:计算器开发 a.实现加减成熟及 ...

  5. Python学习①. 基础语法

    Python 简介 Python 是一种解释型,面向对象的语言.特点是语法简单,可跨平台 Python 基础语法 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编 ...

  6. JavaScript学习笔记-基础语法、类型、变量

    基础语法.类型.变量   非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...

  7. Python 学习笔记---基础篇

    1. 简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200 import subprocess cmd="cmd.exe" b ...

  8. Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作

    目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...

  9. Python学习笔记——基础篇【第五周】——正在表达式(re.match与re.search的区别)

    目录 1.正在表达式 2.正则表达式常用5种操作 3.正则表达式实例 4.re.match与re.search的区别 5.json 和 pickle 1.正则表达式   语法: import re # ...

  10. Python学习笔记——基础篇【第六周】——面向对象

    Python之路,Day6 - 面向对象学习 本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.       同时可参考链接: http:// ...

随机推荐

  1. Charles的app抓包配置和抓包节点为unknown、乱码、手机无法上网等问题的处理

    关于手机端抓包配置Charles的一些配置,并且解决,请求存在unknown和内容为乱码的问题 关于请求节点为unknown.内容为乱码和手机端无法访问网络其实都是手机端证书配置问题导致,有的配置后还 ...

  2. echart 柱状图X轴显示不全

    z要设置interval为0就可以了 xAxis: [ { type: "category", boundaryGap: false, data: [], axisLine: { ...

  3. ubuntu 配置 tftp 服务器

    一. 安装 tftp 1.1. 安装 tftp 所需的软件. a. 安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序, 在终端下输入 sudo apt-get install ...

  4. Scrapy 教程(三)-网站解析

    有经验的人都知道,解析网站需要尝试,看看得到的数据是不是想要的,那么在scrapy中怎么尝试呢? 调试工具-shell 主要用于编写解析器 命令行进入shell scrapy shell url 这个 ...

  5. vue项目如何监听窗口变化,达到页面自适应?

    [自适应]向来是前端工程师需要解决的一大问题--即便作为当今非常火热的vue框架,也无法摆脱--虽然elementui.iview等开源UI组件库层出不穷,但官方库毕竟不可能满足全部需求,因此我们可以 ...

  6. 工作笔记20170315-------关于FAQ(Frequently Asked Questions)列表的代码

    源自于:http://www.17sucai.com/pins/3288.html (1)FAQ问答列表点击展开收缩文字列表 <ul>   <li class="clear ...

  7. C#多线程下更新UI的几种方法

    1. 使用UI线程的SynchronizationContext的Post/Send方法,这种情况一般在窗体构造函数或者FormLoad中获取同步上下文: 范例: public partial cla ...

  8. http协议是无状态协议,它的无状态指的是什么,如何解决这种情况

    http是无状态的协议,也是不安全的协议, 它的无状态是指对于事务处理没有记忆能力,缺少状态意味着后续的操作需要前面的信息. 解决办法:1,通过cookie解决,2,通过session会话保存.

  9. 表单提交 multipart/form-data 和 x-www-form-urlencoded的区别

    表单提交表单有两种提交方式,POST和GET.通常我们会使用POST方式,一是因为形式上的安全 :二是可以上传文件. 我之前经常忽略掉表单的编码类型,觉得它特别长比较难记,而且不设置也似乎不影响什么. ...

  10. 简单Spring Cloud 微服务框架搭建

    微服务是现在比较流行的技术,对于程序猿而言,了解并搭建一个基本的微服务框架是很有必要滴. 微服务包含的内容非常多,一般小伙伴们可以根据自己的需求不断添加各种组件.框架. 一般情况下,基本的微服务框架包 ...