一. python基本语法

1.语句和语法

1.1 注释

  代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

  代码注释原则:

    1.注释可以用中文或英文。

    2.不用全部加注释,一般在自己不好理解的地方和让别人看懂的地方加注释,提高阅读代码效率。

1.2 继续

  在python中一般使用换行来分隔代码,来保证代码的可读性,但是有时候一行代码过长会导致可读性下降,这里利用(\)反斜杠进行分解。

  例:

#代表一行代码过长
if a == 1 and b == 2 and c == 3 and d == 4:
    print f

#使用(\)分解

if a == 1 and \
    b == 2 \
    c == 3 \
    d == 4print f

 

1.3 缩进

  在python中缩进也算是一种语法,python和其他语言不一样,要严格遵守缩进的规则,如果不采用合理的代码缩进,会导致代码块的逻辑错误,甚至将抛出IndentationError异常。

  使用缩进的规则:

  1. 每个逻辑的缩进尽量使用4个空格。
  2. 不要使用制表符(Tab键),因为python是跨平台语言,不同系统的Tab键代表的空格是不同的。

  例: 

# -*- coding: UTF-8 -*-
#正常代码
if True:
    print("Hello zhangsan")   #print前面为4个空格
else:
    print("Hello lisi")             #print前面为4个空格

#输出
Hello zhangsan


#代码块逻辑错误
# -*- coding: UTF-8 -*-
if True:
    print("Hello zhangsan") #print前面为4个空格
else:
    print("Hello lisi")           #print前面为4个空格
print("end")
print("="*20)
if True:
    print("Hello wangwu")
else:
    print("Hello zhaoliu")
  print("end")
#输出
Hello zhangsan!
end                                 #end这里不应该输出
====================
Hello wangwu!

#缩进不合理
# -*- coding: UTF-8 -*-

if True:
    print("Hello girl!")
else:
    print("Hello boy!")
  print("end")
#输出
  File "<stdin>", line 5
    print("end")
               ^
IndentationError: unindent does not match any outer indentation level  #表示索引错误
View Code

2.变量

2.1 什么是变量

  变量是存储在内存中的值。

2.2 为什么要有变量

  程序执行的本质就是一系列状态的变化,变量二字的核心一个是变,一个是量,'变'正好对应程序的变化,'量'即计量,反映的是某种状态。

2.3 变量的原理

  例:

  比如一款游戏中的人物初始等级:level=1,玩了一会儿后升级了:level=2;理解为经常变化的量,level就是变化的,1就是一个常量。

2.4 变量的声明

  name = "All is well"

  name这里为变量,"All is well"为变量值

2.4 变量的引用

#!/usr/bin/env python

name='All is well' #变量的声明
name #通过变量名,引用变量的值
print(name) #引用并且打印变量名name对应的值,即'All is well'

 

2.6 变量的命名规范

  • 大小写字母,数字以及下划线的组合
  • 变量名的首个字符不能是数字
  • 以下关键字不能使用:
>>> import keyword
>>> print keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> 

 

  • 最好不要和python内置的东西重复。***

  比如内部的函数,sum,不能用sum = 123,这样会导致内置函数不可用。

  • 尽量让变量名更有意义,看了就能懂大概意思。

    两种类型:

            下划线:this_is_a_var
            驼峰体:ThisIsAVar

3.标识符

3.1 什么是标识符

  • 允许作为名字的有效字符串集合(注,变量是标识符的一种)

3.2 标识符合法性

  • 名字必须有实际意义,可读性好
  • 首字母必须是字母或下划线(_)
  • 剩下的字符可以是字母和数字或者下划线
  • 大小写敏感
  • 不能使用内建
  • 不能使用关键字

  例:以下关键字不能使用

>>> import keyword
>>> print keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> 

3.3 标识符风格

  • 两种风格

    下划线(this_is_a_var)

    驼峰体(ThisIsAVar)

3.4 专用下划线标识符

  • _xxx:不能用from module import *导入
  • __xxx__:系统定义名字
  • __xxx:类中私有变量

4.基本风格

  1. 起始行(只有在类Unix环境下才使用,指定解释器的路径,否则执行类似于./test.py 会报错。)

  2. 指定字符编码(在代码中有特殊编码时,用来指定字符编码,python2中有中文需指定,python3中默认是utf-8编码,无需指定。)

  3. 模块文档(介绍本模块功能,可以通过module.__doc__访问。)

  4. 模块导入(导入代码需要的模块,一般用import 来导入,导入模块的某个功能from os import system)

  5. 变量定义(全局变量的定义,模块中所有的函数都可以直接使用,对于全局变量,能不用就不用)

  6. 类定义(定义类,并定义类的文档(非必须),可以通过class.__doc__访问。)

  7. 函数定义(定义函数,并定义函数的文档(非必须),可以通过function.__doc__访问。)

  8. 主程序(主要负责程序的调用)

  风格示例:

  

 1 #!/usr/bin/env python
 2 #--*--coding:utf-8--*--
 3  "this is a test module"          
 4 
 5 import sys                            
 6 import os                       
 7 from os import system          
 8                                 
 9 debug = True                      
10 class FooClass(object):          
11     "Foo class"                       
12     pass                  
13 def test():                           
14     "test function"                 
15     if debug: 
16         print("run test()")  
17 
18 if __name__ == '__main__':      
19     test()  

 

posted @ 2017-07-23 23:22  Mr.gaofubin  阅读(325)  评论(0编辑  收藏  举报