0.规范化
使用Ctrl+Alt+L可以将代码排列格式更加规范化
1.浮点数
1.23x109就是
1.23e9或者
12.3e8;
0.000012可以写成
1.2e-5
2.字符串
1 >>>"I'm OK"
2 I'm OK
3
4 >>>'I\'m \"OK\"!'
5 I'm "OK"!
注:\表示后面的一个字符需要转义
3.除法
1 >>> 10 / 3
2 3.3333333333333335
/
除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
1 >>> 9 / 3
2 3.0
还有一种除法是
//
,称为地板除,两个整数的除法仍然是整数:
1 >>> 10 // 3
2 3
你没有看错,整数的地板除
//
永远是整数,即使除不尽。要做精确的除法,使用
/
就可以
4.缩进
当语句以冒号
:
结尾时,缩进的语句视为代码块。
5.编码转换
提供了ord()和chr()函数,可以把字母和对应的数字相互转换:
1 >>> ord('A')
2 65
3
4 >>> chr(65)
5 'A'
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
由于Python的字符串类型是
str
,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把
str
变为以字节为单位的
bytes
。
Python对
bytes
类型的数据用带
b
前缀的单引号或双引号表示:
x = b'ABC'
要注意区分
'ABC'
和
b'ABC'
,前者是
str
,后者虽然内容显示得和前者一样,但
bytes
的每个字符都只占用一个字节。
如果要在网络上传输,或者保存到磁盘上,就需要把
str
变为以字节为单位的
bytes
。
以Unicode表示的
str
通过
encode()
方法可以编码为指定的
bytes
,例如:
1 >>> 'ABC'.encode('ascii')
2 b'ABC'
3
4 >>> '中文'.encode('utf-8')
5 b'\xe4\xb8\xad\xe6\x96\x87'
对于通过request获取的unicode值,可以进行以下操作:
1 u = u'100.12'
2 print type(u) # unicode
3 i = int(float(u)/10)
4 print i # 10
5 # print int(int(u)/10) # 错误
6
7
8 # unicode转utf-8
9 u = u'100.12'
10 u1 = u.encode('utf-8')
11 print type(u1) # str
12 u2 = int(float(u1))
13 print type(u2) # int
从网络或磁盘上读取了字节流,那么读到的数据就是
bytes
。要把
bytes
变为
str
,就需要用
decode()
方法:
1 >>> b'ABC'.decode('ascii')
2 'ABC'
3
4 >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
5 '中文'
6.计算字符长度
要计算
str
包含多少个字符,可以用
len()
函数:
1 >>> len('ABC')
2 3
3 >>> len('中文')
4 2
len()
函数计算的是
str
的字符数,如果换成
bytes
,
len()
函数就计算字节数:
1 >>> len(b'ABC')
2 3
3
4 >>> len(b'\xe4\xb8\xad\xe6\x96\x87')
5 6
6
7 >>> len('中文'.encode('utf-8'))
8 6
7.格式化
1 >>>'Hi, %s, you have $%d.' % ('Michael', 1000000)
2
3 'Hi, Michael, you have $1000000.'
%d 整数 %f 浮点
%s 字符串 %x 十六进制整数
注:%%
来表示一个
%.
8.输入
1 >>>name = raw_input('please input your name:')
2 dragon
3 >>>name
4 dragon
注:在python3中变更为input().
转载于:https://www.cnblogs.com/jfl-xx/p/7112021.html