Python初学的几个迷惑点
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__()
__ enter__()方法被执行
__ enter__()方法返回的值 - 这个例子中是"Foo",赋值给变量’sample’
执行代码块,打印变量"sample"的值为 “Foo”
__ exit__()方法被调用with真正强大之处是它可以处理异常。可能你已经注意到Sample类的__exit__方法有三个参数- val, type 和 trace。这些参数在异常处理中相当有用。
在一开始的例子中也就相当于:
1.打开文件
2.返回了文本的内容
3.执行读取操作
Python初学的几个迷惑点相关推荐
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...
- Python初学笔记(第一学期学完c后和栗子一起学python)
Python初学笔记 一.基本数据类型 1.整数 2.浮点数 3.字符串 4.布尔值(即"对"与"错"): 5.空值 二.变量的定义 1.变量名 2.变量的定义 ...
- python初学-爬取网页数据
python初学-爬取网页数据 1,获取网页源代码 import urllib url = 'http://www.163.com'wp = urllib.urlopen(url) file_cont ...
- Python初学尝试:word批量刷格式转PDF,替换页眉页脚
Python初学尝试:word批量刷格式转PDF,替换页眉页脚 初学尝试 round 1 ronund 2 easygui round 4 PyQt5 round 4 wxpython 小结 初学尝试 ...
- Python初学小知识(五):字符串
Python初学小知识(五):字符串 九.字符串 1. 字符串使用范围广.且极其方便 字符串的切片是是半闭半开区间,不包括最后的位置. 2. 字符串的各种方法 2.1 大小写转换 2.2 左中右对齐 ...
- 赖春林Python初学笔记 Day0.1
python初学笔记 Day0.1 在Shell里输入: dir(__builtins__) #可查看python中所有的关键词 在Shell里面输入: help(int) #可查看int关键 ...
- Python初学15——wordcloud库简介与使用
目录 一.wordcloud库基本介绍 二.wordcloud库使用说明( .WordCloud(width= ,height=, min_font_size=, max_font_size=, fo ...
- Python初学13——jieba库简介与使用
目录 一.jieba库基本介绍 二.jieba库的使用说明(三种模式.lcut().lcut_for_search().add_word() ) 三."文本词频统计"实例 一.ji ...
- Python初学之学生和老师的question和answer问题
1.问题需求 定义一个类:Person,有 name, age 属性 定义一个子类:Teacher, 有 tno(教师号) 属性, 有 question() 定义一个子类:Student, 有 sn ...
最新文章
- 计算机日期无法更改吗,电脑时间不能修改怎么办 电脑系统时间总是不对怎么办...
- 使用动态代理,提高工作效率
- Elasticsearch 100问(上)
- org.dom4j.DocumentException: 20 Nested exception: 20
- 【Kaggle】Intro to Machine Learning 第一次提交 Titanic
- python控制台输入字符串作为参数_Python-如何将字符串传递到subprocess.Popen(使用stdin参数)?...
- 为什么腾讯视频下载不了_腾讯视频如何设置背景
- 第58课 百钱买百鸡(完整) 3.完善程序 (《小学生C++趣味编程》)
- jquery-样式修改-位置的方法-标签的宽高数据
- python datetime to timestamp_python timestamp和datetime之间转换详解
- 360与Bing合作上线英文搜索
- SRS为何加入木兰社区孵化?
- JAVA处理字符串压缩以及文件压缩
- 计算机找不到家庭网络连接,电脑找不到家里的wifi无线网络怎么办?
- c语言健康指数,C-AHI——中国汽车健康指数
- 如何设计三极管控制继电器电路
- 08 python 集合
- HTTP就绪状态和HTTP状态码
- matlab编程之求向量的模
- JAVA视频学习笔记-马士兵(六)
热门文章
- mysql5.5以上my.ini中设置字符集
- PHPExcel 常用方法
- 比较全的 POM.xml
- web页面 float定位导致“溢出现象”处理
- Target runtime Apache Tomcat v6.0 is not defined.错误解决方法
- 使用优化器提示(Optimizer Hints)
- abap对采购订单强制置为”交货已完成“状态(BAPI_PO_CHANGE、BAPI_PO_RELEASE、BAPI_PO_RESET_RELEASE)
- ALV 动态显示列Demo
- 如何查看CO凭证号码及明细
- SD客户主数据的增强user-exit SAPMF02D