Python 入门笔记2
Python编程基础概念
程序构成
- Python 程序由模块组成。一个模块对应 python 源文件,一般后缀名是:.py。
- 模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行。
- 语句是 Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。
代码的组织和缩进
- “龟叔”设计Python语言时,直接通过缩进来组织代码块。“缩进”是python语法强制的规定。
- 缩进时,几个空格都是允许的,但是数目必须统一。我们通常采用“四个空格”表示一个缩进。
- 同时,也要避免将“tab 制表符”或者 tab 与空格混合的缩进风格。目前,常用的编辑器一般设置成:tab制表符就是 4 个空格。(记事本编辑代码需要区分“Tab”和空格)
Python 官方推荐的 PEP-8 代码风格详细说明,链接如下:
https://www.python.org/dev/peps/pep-0008/
使用反斜杠\行连接符
一行程序长度是没有限制的,但是为了可读性更强,并符合PEP-8的代码风格,通常将一行比较长的程序分为多行。这是,我们可以使用\行连接符,把它放在行结束的地方。Python 解释器仍然将它们解释为同一行。
>>> a = [10,20,30,40,\
50,60,70,\
80,90,100]
>>> a
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
>>> a = 'abcdefghijklmnopqrstuvwxyz'
>>> b = 'abcdefg\
hijklmn\
opqrst\
uvwxyz'
>>> a
'abcdefghijklmnopqrstuvwxyz'
>>> b
'abcdefghijklmnopqrstuvwxyz'
对象
Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。
- 标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数 id(obj)可返回对象 obj 的标识。
- 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用 type(obj)获得对象的所属类型。
- 值表示对象所存储的数据的信息。使用 print(obj)可以直接打印出值。
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
引用
在 Python 中,变量也称为:对象的引用。因为,变量存储的就是对象的地址。变量通过地址引用了“对象”。
- 变量位于:栈内存
- 对象位于:堆内存
Python 是动态类型语言
变量不需要显式声明类型。根据变量引用的对象,Python 解释器自动确定数据类型。
Python 是强类型语言
每个对象都有数据类型,只支持该类型支持的操作。
标识符
标识符:用于变量、函数、类、模块等的名称。
标识符有如下特定的规则:
- 区分大小写。如abc和ABC是不同的。
- 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
- 不能使用关键字。比如:if、or、while 等。
- 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类 的构造函数。
标识符命名规则
开发中,我们通常约定俗称遵守如下规则:
类型 | 规则 | 例子 |
---|---|---|
模块和包名 | 全小写字母,尽量简单。若多个单词之间用下划线 | math、 os、sys |
函数名 | 全小写字母,多个单词之间用下划线隔开 | phone、my_name |
类名 | 首字母大写,采用驼峰命名规则 | MyPhone、MyClass |
常量名 | 全大写字母,多个单词使用下划线隔开 | SPEED、MAX_SPEED |
注:与Java不同,Python的常量可以被修改
关键字
Python关键字如下(给标识符命名时,不能使用。):
关键字 | 描述 |
---|---|
and | 逻辑运算符 |
as | 创建别名 |
assert | 用于调试 |
break | 跳出循环 |
class | 定义类 |
continue | 继续循环的下一个迭代 |
def | 定义函数 |
del | 删除对象 |
elif | 在条件语句中使用,等同于 else if |
else | 用于条件语句 |
except | 处理异常,发生异常时如何执行 |
False | 布尔值,比较运算的结果 |
finally | 处理异常,无论是否存在异常,都将执行一段代码 |
for | 创建 for 循环 |
from | 导入模块的特定部分 |
global | 声明全局变量 |
if | 写一个条件语句 |
import | 导入模块 |
in | 检查列表、元组等集合中是否存在某个值 |
is | 测试两个变量是否相等 |
lambda | 创建匿名函数 |
None | 表示 null 值 |
nonlocal | 声明非局部变量 |
not | 逻辑运算符 |
or | 逻辑运算符 |
pass | null 语句,一条什么都不做的语句 |
raise | 产生异常 |
return | 退出函数并返回值 |
True | 布尔值,比较运算的结果 |
try | 编写 try…except 语句 |
while | 创建 while 循环 |
with | 用于简化异常处理 |
yield | 结束函数,返回生成器 |