- Python 基础
- Python - 首页
- Python - 概述
- Python - 历史
- Python - 特性
- Python vs C++
- Python - Hello World 程序
- Python - 应用领域
- Python - 解释器
- Python - 环境设置
- Python - 虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 字面量
- Python - 运算符
- Python - 算术运算符
- Python - 比较运算符
- Python - 赋值运算符
- Python - 逻辑运算符
- Python - 位运算符
- Python - 成员运算符
- Python - 身份运算符
- Python - 运算符优先级
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策
- Python - if 语句
- Python - if else
- Python - 嵌套 if
- Python - Match-Case 语句
- Python - 循环
- Python - for 循环
- Python - for-else 循环
- Python - while 循环
- Python - break 语句
- Python - continue 语句
- Python - pass 语句
- Python - 嵌套循环
- Python 函数 & 模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅关键字参数
- Python - 位置参数
- Python - 仅位置参数
- Python - 可变参数
- Python - 变量作用域
- Python - 函数注解
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python - 字符串
- Python - 字符串切片
- Python - 修改字符串
- Python - 字符串连接
- Python - 字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 字符串练习
- Python 列表
- Python - 列表
- Python - 访问列表元素
- Python - 修改列表元素
- Python - 添加列表元素
- Python - 删除列表元素
- Python - 循环遍历列表
- Python - 列表推导式
- Python - 排序列表
- Python - 复制列表
- Python - 合并列表
- Python - 列表方法
- Python - 列表练习
- Python 元组
- Python - 元组
- Python - 访问元组元素
- Python - 更新元组
- Python - 解包元组
- Python - 循环遍历元组
- Python - 合并元组
- Python - 元组方法
- Python - 元组练习
- Python 集合
- Python - 集合
- Python - 访问集合元素
- Python - 添加集合元素
- Python - 删除集合元素
- Python - 循环遍历集合
- Python - 合并集合
- Python - 复制集合
- Python - 集合运算符
- Python - 集合方法
- Python - 集合练习
- Python 字典
- Python - 字典
- Python - 访问字典元素
- Python - 修改字典元素
- Python - 添加字典元素
- Python - 删除字典元素
- Python - 字典视图对象
- Python - 循环遍历字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python - 数组
- Python - 访问数组元素
- Python - 添加数组元素
- Python - 删除数组元素
- Python - 循环遍历数组
- Python - 复制数组
- Python - 反转数组
- Python - 排序数组
- Python - 合并数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python - 写入文件
- Python - 读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python - OS 文件/目录方法
- Python - OS 路径方法
- 面向对象编程
- Python - OOPs 概念
- Python - 类 & 对象
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python - 继承
- Python - 多态
- Python - 方法重写
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python - 封装
- Python - 接口
- Python - 包
- Python - 内部类
- Python - 匿名类和对象
- Python - 单例类
- Python - 包装器类
- Python - 枚举
- Python - 反射
- Python 错误 & 异常
- Python - 语法错误
- Python - 异常
- Python - try-except 块
- Python - try-finally 块
- Python - 抛出异常
- Python - 异常链
- Python - 嵌套 try 块
- Python - 用户自定义异常
- Python - 日志记录
- Python - 断言
- Python - 内置异常
- Python 多线程
- Python - 多线程
- Python - 线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 线程连接
- Python - 线程命名
- Python - 线程调度
- Python - 线程池
- Python - 主线程
- Python - 线程优先级
- Python - 守护线程
- Python - 线程同步
- Python 同步
- Python - 线程间通信
- Python - 线程死锁
- Python - 中断线程
- Python 网络编程
- Python - 网络编程
- Python - 套接字编程
- Python - URL 处理
- Python - 泛型
- Python 库
- NumPy 教程
- Pandas 教程
- SciPy 教程
- Matplotlib 教程
- Django 教程
- OpenCV 教程
- Python 杂项
- Python - 日期 & 时间
- Python - 数学
- Python - 迭代器
- Python - 生成器
- Python - 闭包
- Python - 装饰器
- Python - 递归
- Python - 正则表达式
- Python - PIP
- Python - 数据库访问
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 输出格式化
- Python - 性能测量
- Python - 数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - GUI 编程
- Python - 命令行参数
- Python - 文档字符串
- Python - JSON
- Python - 发送邮件
- Python - 扩展
- Python - 工具/实用程序
- Python - GUIs
- Python 高级概念
- Python - 抽象基类
- Python - 自定义异常
- Python - 高阶函数
- Python - 对象内部
- Python - 内存管理
- Python - 元类
- Python - 使用元类进行元编程
- Python - 模拟和存根
- Python - 猴子补丁
- Python - 信号处理
- Python - 类型提示
- Python - 自动化教程
- Python - Humanize 包
- Python - 上下文管理器
- Python - 协程
- Python - 描述符
- Python - 诊断和修复内存泄漏
- Python - 不可变数据结构
- Python 有用资源
- Python - 问答
- Python - 在线测验
- Python - 快速指南
- Python - 参考
- Python - 速查表
- Python - 项目
- Python - 有用资源
- Python - 讨论
- Python 编译器
- NumPy 编译器
- Matplotlib 编译器
- SciPy 编译器
Python - 语法
Python - 语法
Python 语法定义了一组用于创建 Python 程序的规则。Python 编程语言的语法与 Perl、C 和 Java 编程语言有很多相似之处。但是,这些语言之间也存在一些明显的差异。
第一个 Python 程序
让我们执行一个 Python 程序来打印“Hello, World!”,使用 Python 编程的两种不同模式。(a) 交互模式编程 (b) 脚本模式编程。
Python - 交互模式编程
我们可以通过在命令提示符下键入python来调用 Python 解释器,如下所示:
$ python3 Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
这里>>>表示 Python 命令提示符,您可以在其中键入命令。让我们在 Python 提示符下键入以下文本并按 Enter 键:
>>> print ("Hello, World!")
如果您正在运行旧版本的 Python,例如 Python 2.4.x,则需要使用不带括号的 print 语句,如print "Hello, World!"。但是,在 Python 3.x 版本中,这会产生以下结果:
Hello, World!
Python - 脚本模式编程
我们可以使用脚本参数调用 Python 解释器,该参数开始执行脚本并持续到脚本完成。脚本完成后,解释器将不再处于活动状态。
让我们在一个简单的文本文件中编写一个简单的 Python 程序。Python 文件的扩展名为.py。在test.py文件中键入以下源代码:
print ("Hello, World!")
我们假设您已在 PATH 变量中 设置了 Python 解释器的路径。现在,让我们尝试如下运行此程序:
$ python3 test.py
这会产生以下结果:
Hello, World!
让我们尝试另一种执行 Python 脚本的方法。以下是修改后的 test.py 文件:
#!/usr/bin/python3 print ("Hello, World!")
我们假设您在 /usr/bin 目录中提供了 Python 解释器。现在,尝试如下运行此程序:
$ chmod +x test.py # This is to make file executable $./test.py
这会产生以下结果:
Hello, World!
Python 标识符
Python 标识符是用于标识 变量、函数、类、模块或其他对象的名称。标识符以字母 A 到 Z 或 a 到 z 或下划线 (_) 开头,后跟零个或多个字母、下划线和数字 (0 到 9)。
Python 不允许在标识符中使用诸如 @、$ 和 % 之类的标点符号。
Python 是一种区分大小写的编程语言。因此,Manpower 和manpower 在 Python 中是两个不同的标识符。
以下是 Python 标识符的命名规范:
Python 类名以大写字母开头。所有其他标识符都以小写字母开头。
标识符以单个下划线开头表示该标识符为私有标识符。
标识符以两个下划线开头表示一个强私有标识符。
如果标识符也以两个下划线结尾,则该标识符为语言定义的特殊名称。
Python 保留字
以下列表显示了 Python 关键字。这些是保留字,您不能将它们用作常量或变量或任何其他标识符名称。所有 Python 关键字仅包含小写字母。
and | as | assert |
break | class | continue |
def | del | elif |
else | except | False |
finally | for | from |
global | if | import |
in | is | lambda |
None | nonlocal | not |
or | pass | raise |
return | True | try |
while | with | yield |
Python 行和缩进
Python 编程没有使用大括号来指示类和函数定义或流程控制的代码块。代码块由行缩进表示,并且严格执行。
缩进的空格数是可变的,但块中的所有语句必须缩进相同的量。例如:
if True: print ("True") else: print ("False")
但是,以下代码块会生成错误:
if True: print ("Answer") print ("True") else: print ("Answer") print ("False")
因此,在 Python 中,所有以相同空格数连续缩进的行都将构成一个代码块。以下示例包含各种语句块:
现在不必理解逻辑。只需确保您理解了各种代码块,即使它们没有使用大括号。
import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
Python 多行语句
Python 中的语句通常以换行符结束。但是,Python 允许使用行延续字符 (\) 来表示该行应该继续。例如:
total = item_one + \ item_two + \ item_three
包含在 []、{} 或 () 括号内的语句不需要使用行延续字符。例如,以下语句在 Python 中可以正常工作:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Python 中的引号
Python 接受单引号 (')、双引号 (") 和三引号 (''' 或 """) 来表示字符串文字,只要相同类型的引号开始和结束字符串即可。
三引号用于跨多行扩展字符串。例如,以下所有内容都是合法的:
word = 'word' print (word) sentence = "This is a sentence." print (sentence) paragraph = """This is a paragraph. It is made up of multiple lines and sentences.""" print (paragraph)
Python 中的注释
注释是在 Python 源代码中程序员可读的解释或注释。添加它们的目的是使源代码更容易让人理解,并且 Python 解释器会忽略它们。
与大多数现代语言一样,Python 支持单行(或行尾)和多行(块)注释。Python 注释 与 PHP、BASH 和 Perl 编程语言中的注释非常相似。
不在字符串文字内的井号 (#) 开始一个注释。井号 (#) 之后直到物理行结束的所有字符都是注释的一部分,Python 解释器会忽略它们。
# First comment print ("Hello, World!") # Second comment
这会产生以下结果:
Hello, World!
您可以在语句或表达式的同一行之后键入注释:
name = "Madisetti" # This is again comment
您可以如下注释多行:
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
以下三引号字符串也会被 Python 解释器忽略,可以用作多行注释
''' This is a multiline comment. '''
在 Python 程序中使用空行
仅包含空格(可能还有注释)的行称为空行,Python 完全忽略它。
在交互式解释器会话中,您必须输入一个空物理行来终止多行语句。
等待用户
程序的以下行显示提示、说明“按 Enter 键退出”的语句,并等待用户采取操作:
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
这里,"\n\n" 用于在显示实际行之前创建两行新行。用户按下键后,程序结束。这是一个很好的技巧,可以使控制台窗口保持打开状态,直到用户完成应用程序。
单行上的多个语句
分号 (;) 允许在同一行上使用多个语句,前提是这两个语句都不开始新的代码块。以下是一个使用分号的示例代码片段:
import sys; x = 'foo'; sys.stdout.write(x + '\n')
多个语句组作为套件
构成单个代码块的一组单独语句在 Python 中称为套件。复合语句或复杂语句(如 if、while、def 和 class)需要一个标题行和一个套件。
标题行以(关键字)语句开头,以冒号 (:) 结束,后面跟着构成套件的一行或多行。例如:
if expression : suite elif expression : suite else : suite
Python 中的命令行参数
许多程序可以运行以提供有关如何运行它们的某些基本信息。Python 允许您使用 -h 来做到这一点:
$ python3 -h usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
您还可以以某种方式对脚本进行编程,使其能够接受各种选项。命令行参数 是一个高级主题,应该在您学习了其他 Python 概念之后再学习。