python学习笔记
2016-08-04 21:45
239 查看
1、如果字符串内部既包含
'又包含
"怎么办?可以用转义字符
\来标识,比如:
'I\'m \"OK\"!'表示的字符串内容是:
I'm "OK"!如果字符串内部有很多换行,用
\n写在一行里不好阅读,为了简化,Python允许用
'''...'''的格式表示多行内容,可以自己试试:
>>> print('''line1 ... line2 ... line3''') line1 line2 line3上面是在交互式命令行内输入,注意在输入多行内容时,提示符由
>>>变为
...,提示你可以接着上一行输入。如果写成程序,就是:
print('''line1 line2 line3''')理解变量在计算机内存中的表示也非常重要。当我们写:
a = 'ABC'时,Python解释器干了两件事情:在内存中创建了一个
'ABC'的字符串;在内存中创建了一个名为
a的变量,并把它指向
'ABC'。解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是
/:
>>> 10 / 3 3.3333333333333335
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
>>> 9 / 3 3.0还有一种除法是
//,称为地板除,两个整数的除法仍然是整数:
>>> 10 // 3 3你没有看错,整数的地板除
//永远是整数,即使除不尽。要做精确的除法,使用
/就可以。因为
//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:
>>> 10 % 3 1无论整数做
//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。单个字符的编码,Python提供了
ord()函数获取字符的整数表示,
chr()函数把编码转换为对应的字符:
>>> ord('A') 65 >>> ord('中') 20013 >>> chr(66) 'B' >>> chr(25991) '文'如果知道字符的整数编码,还可以用十六进制这么写
str:
>>> '\u4e2d\u6587' '中文'两种写法完全是等价的。由于Python的字符串类型是
str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把
str变为以字节为单位的
bytes。Python对
bytes类型的数据用带
b前缀的单引号或双引号表示:
x = b'ABC'要注意区分
'ABC'和
b'ABC',前者是
str,后者虽然内容显示得和前者一样,但
bytes的每个字符都只占用一个字节。以Unicode表示的
str通过
encode()方法可以编码为指定的
bytes,例如:
>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87' >>> '中文'.encode('ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)纯英文的
str可以用
ASCII编码为
bytes,内容是一样的,含有中文的
str可以用
UTF-8编码为
bytes。含有中文的
str无法用
ASCII编码,因为中文编码的范围超过了
ASCII编码的范围,Python会报错。在
bytes中,无法显示为ASCII字符的字节,用
\x##显示。反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是
bytes。要把
bytes变为
str,就需要用
decode()方法:格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> '%2d-%02d' % (3, 1) ' 3-01' >>> '%.2f' % 3.1415926 '3.14'如果你不太确定应该用什么,
%s永远起作用,它会把任何数据类型转换为字符串:
>>> 'Age: %s. Gender: %s' % (25, True) 'Age: 25. Gender: True'有些时候,字符串里面的
%是一个普通字符怎么办?这个时候就需要转义,用
%%来表示一个
%:
>>> 'growth rate: %d %%' % 7 'growth rate: 7 %'
相关文章推荐
- Python学习笔记:Python Language Features
- Boost.Python学习笔记
- Python 学习笔记 - 4.if 表达式
- python文件读写实例学习笔记
- Python 学习笔记(1)
- python(异常处理机制,学习笔记摘要)
- python学习笔记(1)
- python学习笔记,整形,字符串
- Python学习笔记1
- Python学习笔记
- if __name__ (python学习笔记一,注意前面是双下划线)
- python学习笔记(二)
- python学习笔记(2)
- python学习笔记1
- Python学习笔记(一)
- [原创]Ruby学习笔记(4)-闰年、季节和月份天数的Ruby版和Python版
- Python学习笔记 Module
- Python 正则式学习笔记
- Python 学习笔记 - 2.自省