Python 1-02 基础语法

一、Python3 解释器

1、Python 交互模式

命令行模式

在Windows开始菜单选择“命令提示符”,就进入到命令行模式。

交互模式

在命令行模式输入 python 或 py 并执行指令时,解释器是运行在交互模式。主提示符默认是三个大于号(>>>);连续输入行的时候,出现次要提示符,默认是三个点(…)。

多行指令需要在连续的多行中输入。比如,以 if 为例:
在这里插入图片描述
在 Python 交互模式下输入 exit() 并回车,就退出了 Python交互模式,并回到命令行模式。(快捷方式:Ctrl+z)

脚本式编程

在命令行模式下,也可以执行 python hello.py 运行一个.py文件。
执行一个.py文件只能在命令行模式执行。如果敲一个命令python lx.py,看到如下错误: 在这里插入图片描述
错误提示 No such file or directory 说明这个 lx.py 在当前目录找不到,必须先把当前目录切换到 lx.py 所在的目录下,才能正常执行。
此外,在命令行模式运行 .py 文件和在 Python 交互式环境下直接运行 Python 代码有所不同。Python 交互式环境会把每一行 Python 代码的结果自动打印出来,但是,直接运行Python 代码却不会。
想要输出结果,必须自己用 print() 打印出来。
Python 交互模式的代码是输入一行,执行一行,而命令行模式下直接运行 .py 文件是一次性执行该文件内的所有代码。Python 交互模式主要是为了调试 Python 代码用的。
注意,不要用 Windows 自带的记事本。Word 保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。

二、Python3 基础语法

1、编码

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

# -*- coding: GB2312 -*-

2、标识符

• 第一个字符必须是字母表中字母或下划线 _ ;
• 标识符的其他的部分由字母、数字和下划线组成;
• 标识符对大小写敏感。

在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。

3、Python保留字

保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 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']

4、注释

确保对模块, 函数, 方法和行内注释使用正确的风格
Python 中的注释有单行注释和多行注释:
Python 中单行注释以 # 开头,例如:

# 这是一个注释 
print("Hello, World!") 

多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来,例如:
1)单引号(’’’)

'''
这是多行注释,用三个单引号 
这是多行注释,用三个单引号 
这是多行注释,用三个单引号 
''' 
print("Hello, World!")

2)双引号(""")

""" 
这是多行注释,用三个双引号 
这是多行注释,用三个双引号 
这是多行注释,用三个双引号 
""" 
print("Hello, World!")

5、语句与缩进

python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
实例

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

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

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

以上程序由于缩进不一致,执行后会出现类似以下错误:

 File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
IndentationError: unindent does not match any outer indentation level

6、多行语句

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

total = item_one + \
        item_two + \
        item_three

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

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

7、空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

8、同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号(;)分割,例如文件名 demo.py 内容如下:

import sys; x = 'Python'; sys.stdout.write(x + '\n')

使用脚本执行以上代码,在命令提示符下输入 python demo.py,输出结果为:

Python

使用交互式命令行执行,输出结果为:

>>> import sys; x = 'Python'; sys.stdout.write(x + '\n')
Python
6

此处的 6 表示字符数。


9、多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。
像 if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
如下实例:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

10、import 与 from…import

在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为:

import somemodule

从某个模块中导入某个函数,格式为:

from somemodule import somefunction

从某个模块中导入多个函数,格式为:

from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部内容导入,格式为:

from somemodule import *

将整个模块(somemodule)导入,添加别名为 s,格式为:

import somemodule as s

导入 sys 模块

import sys 
print('======== Python import mode ========') 
print ('命令行参数为:') 
for i in sys.argv: 
	print (i) 
print ('\n python 路径为',sys.path)

导入 sys 模块的 argv,path 成员

from sys import argv,path  # 导入特定的成员 
print('======== python from import ========') 
print('path:',path)  # 因为已经导入path成员,所以此处引用时不需要加sys.path

demo.py

x=1 # 全局变量
def f(): # 函数
    print('This is a function.')

class A: # 类
    y=2 # 类变量
    def g(self): # 实例方法
        print('This is a method.')	

if __name__ == "__main__":
    f()	
    a=A()
    a.g()

测试
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43955170/article/details/112465785