liujjun 发表于 2015-12-2 13:30:55

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

  Python简介

行结构和缩进
  在Python中,分号是可选的,当使用分号时,可以将多条语句写在一行上,否则,程序的每条语句都是以换行符结束,可以使用斜杠\另起一行,将长语句分为几行
  

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

  
In : a
  
Out: 13
  

  另外,在定义字符串时使用三引号、列表、元组和字典时,也可以分布在多行,不需要使用续行符
  

In : s = """ Hello  ...: World
  ...: """
  

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

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

In : if a:  ...:   pass
  ...: else:
  ...:   pass
  ...:
  

  当一个空的代码块时,可以使用pass语句做占位符。
  在进行编程时,尽管可以使用Tab键进行缩进,但是并不鼓励这样所,Python首选的是用空格,因为遇到制表符时,系统会将其移动到下一个为8倍数字符处。可能出现空格键和tab键混用的情况。
  #后面的内容都表示注释,但出现在字符串中的#号无注释作用
  除非在交互式环境下,否则解析器将忽略所有的空白行,交互模式下空白行表示输入结束

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

and      del      from      nonlocal      try      as      ellif      global      not      while      assert    else      if      or      with      break      except      import      pass      yield      >  

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

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

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

In : s1 = "hello li"  

  
In : s2 = """hello
  ...: li"""
  

  
In : s3 = "hello" 'li'
  

  
In : s1
  
Out: 'hello li'
  

  
In : s2
  
Out: 'hello\nli'
  

  
In : s3
  
Out: 'helloli'
  

  使用反斜杠\可以用于转义字符,如换行符、反斜杠、引号和非打印字符,在使用时,需要在前面添加反斜杠进行转义。
  在python 2中,字符串对应于8bit字符或面向字节的数据,它们无法完全支持国际字符集和Unicode。为了解决这种限制,Python 2对Unicode数据使用了单独的字符串类型,如果想输入Unicode字符串字面量,要在第一个引号钱添加前缀u。
  在Python 3中不必添加这个前缀字符,添加后会出现语法错误,因为所有字符串都是Unicode编码。运行Python 2时,使用-u选项就可以不用添加前缀u,因为所有字符都会作为Unicode对待。

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

In : a = ]    #列表  

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

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

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

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

  通过__doc__属性可以访问文档字符串,如
  

print>  

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

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

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

源码编码
  编写Python源程序一般使用标准7bit的ASCII码,但是也可以在Python程序的第一行或第二行包含一个特殊的编码注释,就可以使用不同的编码编写Python
  

# coding: UTF-8  

  
def function():
  pass
  

  保存到文件也需要保存到相应的格式,如上面的文件需要保存到utf-8格式,一般IDE会自动保存,但是如果是使用文本编辑器,则需要注意
页: [1]
查看完整版本: Python学习随笔(2)之词汇语法约定