Python学习笔记01-基本语法

编码

默认情况下,python3 源码文件是以 utf-8 编码的,所有的字符串都是 unicode 字符串,当然也可以指定不同的编码

# -*- coding:utf-8 -*-
或者
# coding=utf-8
或者
# coding:utf-8
或者
# vim: set fileencoding=utf-8 :

注意:
- 必须将编码注释放在第一行或者第二行
- 有以上可选格式

不过一般使用# -*- coding:utf-8 -*-格式,这样写可以支持多种编辑器,移植性好。

标识符

和其他语言如 php、go 差不多。

  • 第一个字符为字母或者_下划线
  • 其他字符由字母、下划线、数字组成
  • 对大小写敏感

在 python3 中, 支持非 ascii 标识符了。

保留字

保留字即关键字,不能被使用做任何标识符。我们可以处通过标准库里面的 keyword 模块来查看:

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

注释

单行注释使用#开头:

# 这是一行注释...

多行注释可以用多个#或者使用''' or """:

# 第一个注释
# 第二个注释

'''
第三行注释
第四行注释
'''

"""
第五行注释
第六行注释
"""

文档型注释

def hello():
    '''这里是文档'''
    pass

print(hello.__doc__)

行与缩进

python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

if True:
    print('True')
else:
    print('False')

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

total = item_one + \
        item_two + \
        item_three

[], {}, () 中的多行语句,不需要使用反斜杠 \,例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

同一行显示多条语句

python 可以再同一行中使用多条语句,语句之间使用分号;分割开就行:

name = 'I\'m maratrix'; print(name)

代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号 : 结束,该行之后的一行或多行代码构成代码组。

import 与 from…import

在 python 用 import 或者 from...import 来导入相应的模块。

  • 将整个模块 (somemodule) 导入,格式为: import somemodule

  • 从某个模块中导入某个函数, 格式为: from somemodule import somefunction

  • 从某个模块中导入多个函数, 格式为: from somemodule import firstfunc, secondfunc, thirdfunc

  • 将某个模块中的全部函数导入,格式为: from somemodule import *

导入 sys 模块:

import sys
print (sys.argv, sys.path)

导入 sys 模块里面的 argv、path 函数:

from sys import argv, path
print(argv, path)

变量

python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值后才会被创建。

在 python 中,变量就是变量,本身没有类型,我们所说的 “类型” 是变量所指向的内存中对象的类型。

多变量并行赋值

python 中允许你同时为几个变量同时赋值:

a, b, c = 123

或者,也可以为多个对象指定多个变量:

a, b, c = 1, 2, 3

#!/usr/bin/python#!/usr/bin/env python 的区别

python 脚本的第一行通常会写成如下形式:

/usr/bin/python

或者

/usr/bin/env python

它们用于指定执行该脚本的解释器,如上即是指定 python 作为解释器。在计算机科学中这有个专门的术语,叫做 shebang。

在计算机科学中,Shebang 是一个由井号和叹号构成的字符串行,其出现在文本文件的第一行的前两个字符。 在文件中存在 Shebang 的情况下,类 Unix 操作系统的程序载入器会分析 Shebang 后的内容,将这些内容作为解释器指令,并调用该指令,并将载有 Shebang 的文件路径作为该解释器的参数。

那以上两种写法到底有啥区别呢?

如果我们直接使用python 脚本.py方式执行的话,有内有 shebang 就无所谓了,因为我们自己指定了该脚本的解释器。

如果我们要以./脚本.py方式执行的话,两种写法就有区别了。

通常我们认为 #!/usr/bin/python 采用了绝对路径的写法,即指定了采用 /usr/bin/python 解释器来执行该脚本。一般类 Unix 系统下,python 解释器都位于该路径,不幸的是如果 python 解释器不在该路径下的话就无法运行。

#!/usr/bin/env python 的写法指定从 PATH 环境变量中来查找 python 解释器的位置,因此只要环境变量中存在,该脚本即可执行。

所以,一般情况下采用 #!/usr/bin/env python 的写法更好,更加具有通用性。

小结

  • 采用缩进的方式组织代码结构,比较简洁、优雅
  • 程序是大小写敏感的,写错了大小写,程序会报错
  • 允许进行多变量并行赋值
  • 推荐使用 #!/usr/bin/env python 方式来指定解释器

猜你喜欢

转载自blog.csdn.net/u013958997/article/details/80940994