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

python参考手册--第2章词汇和语法约定的更多相关文章

  1. python参考手册--第1章python简介

    1.if __name__ == '__main__': 直接运行myModel.py时,当前模块的名字是main:import myModel然后运行的时候当前模块的名字是myModel. 2.ev ...

  2. python参考手册--第9章

    1.读取命令行选项 (1)sys.args python启动时,命令行选项设置在列表sys.args中. sys.args[0]:xxx.py sys.args[1:]: 其他参数 (2)optpar ...

  3. python参考手册--第8章

    1.模块和import (1)首次import module会做以下3件事: a)创建新的命名空间,用作在该源文件中定义的所有对象的容器.在模块中定义的函数和方法在使用global语句时将访问该命名空 ...

  4. python参考手册--第3章类型和对象

    1.对象的身份.类型.值 (1)身份:对象在内存中位置的指针,地址值, >>> a = [1,2,3,4,5] >>> id(a)48497328 >> ...

  5. 《python参考手册(第四版)》【PDF】下载

    <python参考手册(第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382222 内容介绍 本书是权威的Python语 ...

  6. python参考手册--第4、5、6、7章

    1.zip zip(s,t):将序列组合为一个元组序列[(s[0],t[0]), (s[1],t[1]), (s[2],t[2]), (s[3],t[3]),...] >>> s = ...

  7. python参考手册--第10、11章执行环境、调试

    1.解释器选项和环境 python [options] [-c cmd | filename | - ] [args] 例如:python -m pdb test.py 以脚本的形式运行库模块pdb ...

  8. python参考手册 Read

    P28 复制 a = [1,2,3,[1,2]] b = a b is a # True c = list[a] # shallow copy c is a # False c[3][0] = 100 ...

  9. [翻译] C++ STL容器参考手册(第一章 <array>)

    返回总册 本章节原文:http://www.cplusplus.com/reference/array/array/ 1. std::array (C++11支持) template < cla ...

随机推荐

  1. Javascript之改变盒子颜色

    index.html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  2. JAVA之数据溢出

    Integer在java中属于包装类,既能用于字符串与整型的转换,也能用于拆箱与装箱 package ABC; public class A{ public static void main(Stri ...

  3. Ibatis.net防Sql注入

    sql注入是一个古老的话题了,但经常会被我们忽略.尤其是使用了ibatis.net之后. Ibatis.net框架对sql注入问题已经做了很好的防护,但经常由于开发人员使用不当,会造成sql的注入隐患 ...

  4. Cocos2d-x手机游戏开发中-组合动作

    动作往往不是单一,而是复杂的组合.我们可以按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作.组合动作包括以下几类:顺序.并列.有限次数重复.无限次数重复.反动作和动画.动画我们会在下一节介 ...

  5. Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课

    Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课 本课程采用Q Q群直播方式进行直播,价值99元视频课程免费直播.完整的基于Swift项目实战,手把手教你做一个Swift版i ...

  6. windbg基本命令

    1, .reload k 当前调用堆栈.u 当前正在执行的代码. 2, ~ 查看被调试进程中的线程信息每一行是一个线程的信息.第一行中,0 表示这个进程的编号:1ff4.1038 是 16 进制数字, ...

  7. DDL操作前后都有COMMIT

    引用出处: http://www.itpub.net/thread-1746448-1-1.html 要说明这个问题,首先需要说明什么是DDL语句.DDL语句是数据定义语句,包括各种数据对象的创建.修 ...

  8. Json对象序列化与反序列化

    如果后台的参数数对象,需要在前台传入: JS代码: //创建JS对象 var CUTTING_TABLET_MO = new Object(); CUTTING_TABLET_MO.CUTTING_T ...

  9. 粗谈Android中的对齐

    在谈这个之前先啰嗦几个概念. 基线:书写英语单词时为了规范书写会设有四条线,从上至下第三条就是基线.基线对齐主要是为了两个控件中显示的英文单词的基线对齐,如下所示: Start:在看API的时候经常会 ...

  10. dbt

    Procedure Relocate(s : state; b : base_index) { Move base for state s to a new place beginning at b ...