码迷,mamicode.com
首页 > 编程语言 > 详细

python基础归结

时间:2018-10-20 19:50:25      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:erro   pos   两种   地板   使用   meta   内存   encode   abc   

0.unicode&utf-8

在计算机内存中,统一使用unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为utf-8编码。

用记事本编辑的时候,从文件读取的utf-8字符被转换为unicode字符到内存里,编码完成保存时再把unicode转换为utf-8保存到文件。

浏览网页时,服务器会把动态生成的unicode内容转换为utf-8再传输给浏览器,所以会看到许多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的utf-8编码。

1. 除法

Python中有两种除法,一种除法是/,/除法计算结果永远是浮点数。

地板除//,计算结果永远是整数。

余数运算%。

无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。

2. 布尔值类型

布尔值类型只有Truce、False两种值(注意Python大小写敏感)。

布尔值可以用and,or,和not运算。

3. 空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

4. 常量

在Python中,通常用全部大写的变量名表示常量。

5. bytes类型

Python对bytes类型的数据用带b前缀的单引号或双引号表示:

x=b‘ABC‘

要注意区分‘ABC‘b‘ABC‘,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。

bytes中,无法显示为ASCII字符的字节,用\x##显示。

6. str和bytes转换

由于Python的字符串类型是str,在内存中以unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。以unicode表示的str通过encode()方法可以编码为指定的bytes;反过来,从网络或磁盘上读取了字节流,读取到的数据是bytes,用decode()将bytes变为str。

在操作字符串时,我们经常遇到strbytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对strbytes进行转换。

>>> 中文.encode(utf-8)
b\xe4\xb8\xad\xe6\x96\x87
>>> b\xe4\xb8\xad\xe6\x96\x87.decode(utf-8)
中文
>>> 33345.encode(utf-8)
b33345
>>> 中8.encode(utf-8)
b\xe4\xb8\xad8
>>> b\xe4\xb8\xad8.decode(ascii)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: ascii codec cant decode byte 0xe4 in position 0: ordinal not in range(128)
>>> b\xe4\xb8\xad8.decode(utf-8)
中8

7. 输入输出

输入用input(),输出用print()。

input()可以输入提示字符串,input()返回的数据类型是str,str不能直接和整数比较。

>>> name=input(please enter your name:)
please enter your name:wang
>>> print(hello,, name)
hello, wang
>>> job="IT"
>>> print(hello, name, job)
hello wang IT

 

参考:

1. 廖雪峰python教程之字符串和编码

python基础归结

标签:erro   pos   两种   地板   使用   meta   内存   encode   abc   

原文地址:https://www.cnblogs.com/embedded-linux/p/9822563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!