1.bytes和str函数
那我接下来就简述下他文章的意思吧:

  • bytes格式时二进制型的文件,全为010101之类的,而str为字符串型的
  • bytes函数中的参数为bytes(字符串,encoding=’ 括号里面经常填utf-8’)其中encoding一定要填,str函数则为str()与其是一样的格式,针对utf-8格式为万国码格式,一个英文字母一个字节,一个中文字符三个字节
  • bytes数据有方法decode方法:X.decode(‘utf-8’),因此我们前面的read方法返回的是字符串类型数据,而str则有方法encode类型,这两个方法可将这两个数据类型转为utf-8类型
  • Python已经严格区分了bytes和str两种数据类型,你不能在需要bytes类型参数的时候使用str参数,反之亦然。这点在读写磁盘文件时容易碰到

那么我们平时看到的以b’开头后面的字码其实就是utf-8编码,虽然应该为0101的形式,但是计算机上给我们看的时候编码了一下变成了这种形式,而你使用byte函数的时候,其实也就是在告诉计算机你在手动编码,而平时这个操作是由计算机自动转换的,而str编码就是那种可以直接看到中文字的形式
以及每次使用requests请求后得到的网页内容text都有一个属性encoding

2.python的try语句

try...except....elsetry A:B;except  C:  #如果发生错误看是否为错误类型CD;except  E:  #如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)F;else  G; #如果程序未出错则执行GH;try...finallytry A:B;finally  C:  #不管有无发生错误都会执行C语句D;

3. with…as结构

这个语法是用来代替传统的try…finally语法的

file = open("/tmp/foo.txt")
try:  data = file.read()
finally:  file.close()

使用with…as…的方式替换,修改后的代码是:

with open("/tmp/foo.txt") as file:  data = file.read()

下面解析他的具体结构:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Sample:  #魔法方法相当于他的属性def __enter__(self):  print "In __enter__()"  return "Foo"  def __exit__(self, type, value, trace):  print "In __exit__()"  def get_sample():  return Sample()  with get_sample() as sample:  print "sample:", sample

结果为

In __enter__()
sample: Foo
In __exit__()
  1. __ enter__()方法被执行

  2. __ enter__()方法返回的值 - 这个例子中是"Foo",赋值给变量’sample’

  3. 执行代码块,打印变量"sample"的值为 “Foo”

  4. __ exit__()方法被调用with真正强大之处是它可以处理异常。可能你已经注意到Sample类的__exit__方法有三个参数- val, type 和 trace。这些参数在异常处理中相当有用。

在一开始的例子中也就相当于:

1.打开文件

2.返回了文本的内容

3.执行读取操作

Python初学的几个迷惑点相关推荐

  1. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

    孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...

  2. Python初学笔记(第一学期学完c后和栗子一起学python)

    Python初学笔记 一.基本数据类型 1.整数 2.浮点数 3.字符串 4.布尔值(即"对"与"错"): 5.空值 二.变量的定义 1.变量名 2.变量的定义 ...

  3. python初学-爬取网页数据

    python初学-爬取网页数据 1,获取网页源代码 import urllib url = 'http://www.163.com'wp = urllib.urlopen(url) file_cont ...

  4. Python初学尝试:word批量刷格式转PDF,替换页眉页脚

    Python初学尝试:word批量刷格式转PDF,替换页眉页脚 初学尝试 round 1 ronund 2 easygui round 4 PyQt5 round 4 wxpython 小结 初学尝试 ...

  5. Python初学小知识(五):字符串

    Python初学小知识(五):字符串 九.字符串 1. 字符串使用范围广.且极其方便 字符串的切片是是半闭半开区间,不包括最后的位置. 2. 字符串的各种方法 2.1 大小写转换 2.2 左中右对齐 ...

  6. 赖春林Python初学笔记 Day0.1

    python初学笔记 Day0.1 ​ 在Shell里输入: dir(__builtins__) #可查看python中所有的关键词 ​ 在Shell里面输入: help(int) #可查看int关键 ...

  7. Python初学15——wordcloud库简介与使用

    目录 一.wordcloud库基本介绍 二.wordcloud库使用说明( .WordCloud(width= ,height=, min_font_size=, max_font_size=, fo ...

  8. Python初学13——jieba库简介与使用

    目录 一.jieba库基本介绍 二.jieba库的使用说明(三种模式.lcut().lcut_for_search().add_word() ) 三."文本词频统计"实例 一.ji ...

  9. Python初学之学生和老师的question和answer问题

    1.问题需求 定义一个类:Person,有 name, age 属性 定义一个子类:Teacher, 有 tno(教师号) 属性, 有 question()  定义一个子类:Student, 有 sn ...

最新文章

  1. 计算机日期无法更改吗,电脑时间不能修改怎么办 电脑系统时间总是不对怎么办...
  2. 使用动态代理,提高工作效率
  3. Elasticsearch 100问(上)
  4. org.dom4j.DocumentException: 20 Nested exception: 20
  5. 【Kaggle】Intro to Machine Learning 第一次提交 Titanic
  6. python控制台输入字符串作为参数_Python-如何将字符串传递到subprocess.Popen(使用stdin参数)?...
  7. 为什么腾讯视频下载不了_腾讯视频如何设置背景
  8. 第58课 百钱买百鸡(完整) 3.完善程序 (《小学生C++趣味编程》)
  9. jquery-样式修改-位置的方法-标签的宽高数据
  10. python datetime to timestamp_python timestamp和datetime之间转换详解
  11. 360与Bing合作上线英文搜索
  12. SRS为何加入木兰社区孵化?
  13. JAVA处理字符串压缩以及文件压缩
  14. 计算机找不到家庭网络连接,电脑找不到家里的wifi无线网络怎么办?
  15. c语言健康指数,C-AHI——中国汽车健康指数
  16. 如何设计三极管控制继电器电路
  17. 08 python 集合
  18. HTTP就绪状态和HTTP状态码
  19. matlab编程之求向量的模
  20. JAVA视频学习笔记-马士兵(六)

热门文章

  1. mysql5.5以上my.ini中设置字符集
  2. PHPExcel 常用方法
  3. 比较全的 POM.xml
  4. web页面 float定位导致“溢出现象”处理
  5. Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
  6. 使用优化器提示(Optimizer Hints)
  7. abap对采购订单强制置为”交货已完成“状态(BAPI_PO_CHANGE、BAPI_PO_RELEASE、BAPI_PO_RESET_RELEASE)
  8. ALV 动态显示列Demo
  9. 如何查看CO凭证号码及明细
  10. SD客户主数据的增强user-exit SAPMF02D