python参考手册--第2章词汇和语法约定

1.续行符\

三引号、()、{}、[]中的内容不需要续行符

2.空格缩进

优选空格作为缩进,不要用tab,这是因为不同操作系统下tab对应的空格不一样,而python是通过严格的空格来控制语句块的。

3.标识符中的下划线

(1)以一个下划线开始的标识符:_func()

不能通过from module import * 语句导入

(2)前后双下划线的标识符:__init__()

为特殊方法保留的

(3)前面双下划线的标识符:__add()

实现类的私有成员,即private属性

4.字符编码

字符编码转换需要先转成unicode,才能转成其他的

(1)utf8转gbk

>>> a = '\xe8\x82\x89\xe7\xb2\x89\xe8\x89\xb2'
>>> b = a.decode('utf8')
>>> b
u'\u8089\u7c89\u8272'
>>> a
'\xe8\x82\x89\xe7\xb2\x89\xe8\x89\xb2'
>>> print a
肉粉色
>>> c = a.decode('utf8').encode('gbk')
>>> c
'\xc8\xe2\xb7\xdb\xc9\xab'
>>> print c
肉粉色

(2)gbk转utf8

>>> c=unicode('风继续吹','gbk').encode('utf8')
>>> c
'\xe9\xa3\x8e\xe7\xbb\xa7\xe7\xbb\xad\xe5\x90\xb9'
>>> d= unicode('风继续吹','gbk')
>>> d
u'\u98ce\u7ee7\u7eed\u5439'
>>> print c
风继续吹

或者:

>>> a = '风继续吹'
>>> b = a.decode('gbk')
>>> b
u'\u98ce\u7ee7\u7eed\u5439'
>>> print b
风继续吹
>>> c = b.encode('utf8')
>>> c
'\xe9\xa3\x8e\xe7\xbb\xa7\xe7\xbb\xad\xe5\x90\xb9'
>>> print c
风继续吹

5.字符串

unicode字符串:

u'\u98ce\u7ee7\u7eed\u5439'

原始字符串:

r'hello\r\n\r\n'    #取消转义

>>> print r'hello\r\n\r\n'
hello\r\n\r\n

5.文档字符串

如果模块、类、函数的第一条语句是一个字符串,该字符串就是该对象的文档字符串:

>>> def func(cid):
"cid is: customer id!"
print cid

>>> dir(func)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
>>> print func.__doc__
cid is: customer id!

6.装饰器

每个方法可以多个装饰器:

@ClassName

@funcName

def func()

  pass

7.源代码编码

源代码编码默认使用ASCII,如果需要在源代码中使用中文,源代码编码需要设置为utf8:

在python程序的第一行设置环境变量、第二行设置源编码:

#!/var/bin/env python

#-*- coding: UTF-8 -*-

var = '风继续吹'

则var将直接编码成utf-8

上一篇:Scala 深入浅出实战经典 第53讲:Scala中结构类型实战详解


下一篇:Spring AsyncRestTemplate