Python学习随笔(2)之词汇语法约定

Python简介html

行结构和缩进

在Python中,分号是可选的,当使用分号时,能够将多条语句写在一行上,不然,程序的每条语句都是以换行符结束,可使用斜杠\另起一行,将长语句分为几行python

In [1]: a = 3 * 4\
   ...: + 1

In [2]: a
Out[2]: 13

另外,在定义字符串时使用三引号、列表、元组和字典时,也能够分布在多行,不须要使用续行符编程

In [4]: s = """ Hello
   ...: World
   ...: """

In [5]: l = [1, 3,
   ...: 4
   ...: ]

缩进表示不一样的代码块,如函数体,条件语句,循环和类。代码块中首条语句的缩进是任意的,可是整个代码块的缩进必须保持一致。编辑器

In [7]: if a:
   ...:     pass
   ...: else:
   ...:     pass
   ...:

当一个空的代码块时,可使用pass语句作占位符。函数

在进行编程时,尽管可使用Tab键进行缩进,可是并不鼓励这样所,Python首选的是用空格,由于遇到制表符时,系统会将其移动到下一个为8倍数字符处。可能出现空格键和tab键混用的状况。编码

#后面的内容都表示注释,但出如今字符串中的#号无注释做用code

除非在交互式环境下,不然解析器将忽略全部的空白行,交互模式下空白行表示输入结束htm

标识符和保留字

标识符是识别变量、函数、类、模块和其余对象的名称。标识符能够包含字母、数字和下划线,可是以非数字开头。标识符是区分大小写的,$、%、@等特殊字符不能出如今标识符中。另外,保留字如if,else,for,while等不能做为标识符。
保留字有对象

and        del        from        nonlocal        try        as        ellif        global        not        while        assert    else        if        or        with        break        except        import        pass        yield       class        exec        in        print        continue        finally        is        raise        def        for       lambda        return

如下划线开始或者结束的标识符一般有特殊的含义,如意下划线开始的标识符不能使用import导入,先后均有双下划线的如__init__是保留的特殊方法,石油前面带有双下划线的标识符是用因而吸纳私有类成员的blog

数字字面量

数字字面量能够包含额外的字符以便于阅读,如0x1234。Python内置的数字字面量分为四种类型:布尔型、整数、浮点型、复数。
布尔型:True和False,其整数值分别为1和0
整型:Python中的整型是任意位数的,若是要定义一个很大的整数,只须要写出左右位数就能够了。也能够在大数钱添加L或小写l标志,可是现在这种区分没必要要了。
浮点型:如123.4e+03的数字表示浮点型
复数:如12.3+23.5J,在整数或者浮点数后面加上j或者J

字符串字面量

字符串定义可使用单引号、双引号或三引号。三种形式在语义上没有区别,可是单引号和双引号的字符串必须定义在一行上,而三引号能够定义在多行上并包含格式符(如回车等)。由空格。换行符或续行符隔开的相邻字符串将被链接起来。

In [1]: s1 = "hello li"

In [2]: s2 = """hello
   ...: li"""

In [3]: s3 = "hello" 'li'

In [4]: s1
Out[4]: 'hello li'

In [5]: s2
Out[5]: 'hello\nli'

In [6]: s3
Out[6]: 'helloli'

使用反斜杠\能够用于转义字符,如换行符、反斜杠、引号和非打印字符,在使用时,须要在前面添加反斜杠进行转义。

在python 2中,字符串对应于8bit字符或面向字节的数据,它们没法彻底支持国际字符集和Unicode。为了解决这种限制,Python 2对Unicode数据使用了单独的字符串类型,若是想输入Unicode字符串字面量,要在第一个引号钱添加前缀u。
在Python 3中没必要添加这个前缀字符,添加后会出现语法错误,由于全部字符串都是Unicode编码。运行Python 2时,使用-u选项就能够不用添加前缀u,由于全部字符都会做为Unicode对待。

容器

Python容器数据类型包括列表、元组和字典等包含其余对象的集合

In [17]: a = [1, "hello", [4]]    #列表

In [18]: b = (12, "li", 3)    #元组

In [19]: c = {"a":2, "b":"hello"}    #字典

文档字符串

若是模块、类或函数定义的第一天语句是一个字符串,则该字符串将成为相关对象的文档字符串

class ClassName(object):
    """docstring for ClassName"""
    def __init__(self, arg):
        super(ClassName, self).__init__()
        self.arg = arg

经过__doc__属性能够访问文档字符串,如

print ClassName.__doc__

文档字符串的缩进必须与定义中的代码块的缩进一致

装饰器

函数、方法或类前面定义一个特殊的符号,称为装饰器,其目的是修改定义后面的行为。装饰器使用@符号表示,必须放在单独行而且位于对应的函数、方法或类以前,也可使用多个装饰器,但每一个装饰器必须位于不一样行上。

class fun(object):
    @staticmethod
    def foo():
        pass

源码编码

编写Python源程序通常使用标准7bit的ASCII码,可是也能够在Python程序的第一行或第二行包含一个特殊的编码注释,就可使用不一样的编码编写Python

# coding: UTF-8

def function():
    pass

保存到文件也须要保存到相应的格式,如上面的文件须要保存到utf-8格式,通常IDE会自动保存,可是若是是使用文本编辑器,则须要注意

相关文章
相关标签/搜索