python----知识点小结1

变量

当写:a=‘xxx’时,Python解释器干了两件事情:1、在内存中创建了一个'xxx'的字符串;2、在内存中创建了一个名为a的变量,并把它指向'xxx'。

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:

a = 'xxx'
b = a
a = 'yyy'
print(b)

最后一行打印出变量b的内容是‘xxx’还是'yyy'呢?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'yyy',但实际上b的值是'xxx'。

执行a='xxx',解释器创建了字符串‘xxx’和变量a,并把a指向'ABC';执行b=a,解释器创建了变量b,并把b指向a指向的字符串'xxx'。

执行a='yyy',解释器创建了字符串'yyy',并把a的指向改为'yyy',但b并没有更改。所以,最后打印变量b的结果自然是'xxx'了。

字符串和转义字符串

字符串可以用单引号' '或者双引号" "括起来表示。

如果字符串本身含有单引号和双引号,还可以使用转义字符\

如:要表示字符串 Bob said “I’m OK”. 

可以使用转义字符 ‘Bob said \”I\’m OK\”.’ 

转义字符\不计入字符串的内容。

常用的转义字符还有:1、\n表示换行 2、\t表示一个制表符 3、\表示\字符本身

raw字符串

如果一个字符串里包含很多需要转义的字符,对每一个字符进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀r,表示这是一个raw字符串,里面的字符就不需要转义了。例如:r'\(^_^)/ \(~_~)/' raw字符串表示原始字符串

多行显示

Python中除了可以使用单引号' '、双引号" "表示一个字符串,还可以使用三引号来表示一个字符串

''' '''。单引号和双引号不能用来表示多行显示,而三引号可以,

print(r'''zhang zhang zhang 
zzzzzzz
aaaaaaaaa
bbbbbbbb''')

zhang zhang zhang 
zzzzzzz
aaaaaaaaa
bbbbbbbb

Unicode编码

计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。

如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。


UnicodeDecodeError处理

如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释# -*- coding: utf-8 -*-   目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为… 并选择UTF-8格式保存。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值