天天看点

python零碎知识点

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