301/302的区别 python魔法语法

重定向301/302的区别

301主要应用场景是在域名跳转。

301重定向是永久的重定向,搜索引擎在抓取新的内容的统统是也将旧的网址替换为了重定向之后的网址。

302主要应用场景:比如:未登录的用户访问用户中心时重新定向到登录页面。

302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索引擎认为新的网址是暂时的

魔法语法

在这里列举取值、赋值、with的方法

对象[‘xx‘] 取值,会触发哪个方法

__getattr__,在取值时如果对象中没有这个值,则会自动触发__getattr__这个内置方法

对象[‘xx‘] =10 设置值,会触发哪个方法、

__setattr__,在设置值时会触发__setattr__这个内置方法

with 触发的是哪个方法

with在使用时会出法两个方法:

通过__enter__方法初始化,然后再__exit__中做山后一级处理异常,其中__enter__()方法在语句体(with语句包裹起来的代码块)执行之前进入运行,__exit__()方法在语句体执行完毕退出运行,with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的‘清理’操作,释放资源,比如文件使用后的自动关闭,线程中锁的自动获取和释放。

with的工作原理:

紧跟with后面的语句会被求值,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as关键字后面的变量,当with后面的代码块全被执行完毕之后,将调用前面返回对象的__exit__()方法。

with语句最关键的地方在于被求值对象必须有__enter__()和__exit__()这两个方法

原文地址:https://www.cnblogs.com/chengzige/p/11116266.html

时间: 2024-11-05 18:44:37

301/302的区别 python魔法语法的相关文章

HTTP返回状态码中301和302的区别

官方说法 List of HTTP status codes 301 Moved Permanently #This and all future requests should be directed to the given URI.[23] 302 Found #This is an example of industry practice contradicting the standard. The HTTP/1.0  specification (RFC 1945) required

301与302的区别

定义如下: 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址.除非额外指定,否则这个响应也是可缓存的. 302 Found 请求的资源现在临时从不同的URI响应请求.由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求.只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的.

Python学习系列(四)Python 入门语法规则2

Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, utf8解码成Unicode,再将unicode编码成gbk 对于py3.5 如果utf8>gbk, utf8 直接编码成gbk(中间那一步直接被优化了) 3.很多时候,这个可以直接跳过,只有当编码出下问题的时候,再考虑这个知识点 二.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算

python之最强王者(2)——python基础语法

背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于python学习,直接使用pycharm IDE开发. 一.第一个python程序 按照套路,入我编程界的门,必须得遵守门规,先来个hello,world,先干为敬! 客官请看图: 运行结果如下图: 看到这里不知道你想说什么,但是我只能说 想一下,java写出一个hello,world得有main方法吧,这得

Python魔法

一.什么是Python魔法 Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式.声明式等).Python的多范式依赖于Python对象中的特殊方法(special method). 特殊方法名的前后各有两个下划线.特殊方法又被称为魔法方法(magic method).定义了许多Python语法和表达方式,正如我们在下面的例子中将要看到的.当对象中定义了特殊方

Python 基础语法

Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:37:12) [MSC v.1600 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "

Python 基础语法day02

Python标识符 在python里,标识符有字母.数字.下划线组成. 在python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. python中的标识符是区分大小写的. 以下划线开头的标识符是有特殊意义的.以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入: 以双下划线开头的(__foo)代表类的私有成员:以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标

Python基本语法,python入门到精通[二]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现在练习的开发环境是基于windows的,如果有朋友喜欢linux或者mac的话,只要有需求,我后续的可以给出对应的博文介绍,其实也是换汤不换药,没需求我就懒得说了. v写在前面 python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它 v郑重承诺 我承认,现在园子里烂尾的系列博文比比皆是,

301 302 304

301,302不同之处301 redirect: 301 代表永久性转移(Permanently Moved)    请求一次后,服务器告诉客户端浏览器,永久重定向,下次再请求网页时不再请求远端服务器,客户端浏览器缓存了重定向的目标地址,但是,如果浏览器清空缓存后,浏览器重定向将失效,需要再次请求服务器. 302 redirect: 302 代表暂时性转移(Temporarily Moved )     每次客户端浏览器都需要请求服务器,服务器返回302,客户端浏览器,再根据响应头,请求相应的U