• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
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().

 

posted on 2017-07-21 16:34  火磷  阅读(274)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3