Python3 学习笔记
文章来源于 菜鸟教程
Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。它的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色的语法结构。
- Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python是交互式语言:这意味着,您可以在python提示符
>>>后直接执行代码。 - Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
- Python是初学者的语言:Python对初级程序员而言是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏。
**Python 特点
- 易于学习:Python有相对较少的关键字,结构见道,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python代码定义的更清晰。
- 易于维护:Python的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python的最大优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片段。
- 可移植:基于其他开放源代码的特性,Python已经被移植到许多平台。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 数据库:Python提供所有主要的商业数据库的接口。
- GUI编程:Python支持GUI可以创建和移植到许多系统调用。
- 可嵌入:你可以将Python嵌入到C/C++程序,让你程序的用户获得“脚本化”的能力
Python3 基础语法
编码
默认情况下,Python3 源码文件以 UTF-8 编码,所有字符串都是Unicode字符串。
当然你也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*-上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语。
标识符
第一个字符必须以字母(a-z, A-Z)或下划线
_。标识符的其他的部分由字母、数字和下划线组成。
标识符对大小写敏感,count 和 Count 是不同的标识符。
标识符对长度无硬性限制,但建议保持简洁(一般不超过 20 个字符)。
禁止使用保留关键字,如 if、for、class 等不能作为标识符。
合法标识符:
age=25# 普通变量名,最常见user_name="Alice"# 用下划线连接单词,清晰易读_total=100# 下划线开头通常表示“内部使用”或“私有”MAX_SIZE=1024# 全大写通常表示“常量”(固定不变的值)calculate_area()# 函数名,动词+名词StudentINfo# 类名,首字母大写(驼峰式命名法)__private_var# 双下划线开头,有特殊意义非法标识符:
2nd_place="sliver"# 错误:以数字开头user-name="Bob"# 错误:包含连字符class="Math"# 错误:使用关键字$price=9.99# 错误:包含特殊字符for="loop"# 错误:使用关键字Python3 允许使用Unicode字符作为标识符,可以用中文作为变量名,非ASCII标识符也是允许的。
姓名="张三"#合法π=3.141592#合法python 保留关键字
是Python语言中具有特殊含义的单词,他们被Python解释器保留用于特定的语法功能。这些关键字不能用作变量名、函数名或其他标识符。
特点
- 不可变性:关键字是语言规范的一部分,不能修改其中含义
- 有限性:Python 的关键字数量是固定的(Python3.8 有35个关键字)
- 大小写敏感:所有关键字都是小写形式
- 语法功能:每个关键字都有特定的语法作用
查看所有关键字
你可以使用Python的keyword模块查看当前版本的所有关键字:
importkeywordprint(keyword.kwlist)在Python3.8中,输出结果为:
['False','None','True','and','as','assert','async','await','break','class','contunue','def','del','elif','else','except','finally','not','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']关键字分类与用途
Python关键字可以按照功能分为以下几大类:
值关键字
这些关键字代表特定的值:
| 关键字 | 说明 | 示例 |
|---|---|---|
| True | 布尔值 | flag = True |
| False | 布尔值 | flag = False |
| None | 表示空值或无值 | result = None |
运算符关键字
用于逻辑和布尔运算:
| 关键字 | 说明 | 示例 |
|---|---|---|
| and | 逻辑与 | if x > 0 and x < 10 : |
| or | 逻辑或 | if x <0 or x > 100 : |
| not | 逻辑非 | if not is_valid : |
| is | 对象标识比较 | if x is None : |
| in | 成员测试 | if ‘a’ in ‘apple’ : |
控制流关键字
控制程序执行流程:
| 关键字 | 说明 | 示例 |
|---|---|---|
| if | 条件语句 | if x > 0 : |
| elif | 否则如果 | elif x == 0 : print(“Zero”) |
| else | 否则 | else : print(“Negative”) |
| for | 循环语句 | while x > 0 : |
| while | 循环语句 | while x > 0 : |
| break | 跳出循环 | break |
| continue | 继续下一轮循环 | continue |
函数与类相关关键字
用于定义和操作函数与类:
| 关键字 | 说明 | 示例 |
|---|---|---|
| def | 定义函数 | def my_func() : |
| return | 函数返回值 | return x + y |
| lambda | 匿名函数 | f = lambda x : x**2 |
| class | 定义类 | class MyClass : |
| pass | 空语句占位符 | pass |
异常处理关键字
处理程序中的异常:
| 关键字 | 说明 | 示例 |
|---|---|---|
| try | 尝试执行代码块 | try : |
| except | 捕获异常 | except ValueError : |
| finally | 无论是否异常都执行 | finally : |
| raise | 抛出异常 | raise ValueError(“Invalid”) |
导入与模块关键字
管理模块和导入:
| 关键字 | 说明 | 示例 |
|---|---|---|
| import | 导入模块 | import math |
| from | 从模块导入特定内容 | from math import sqrt |
| as | 别名 | import numpy as np |
变量作用域关键字
控制变量作用域:
| 关键字 | 说明 | 示例 |
|---|---|---|
| global | 声明全局变量 | global count |
| nonlocal | 声明非局部变量 | nonlocal x |
异步编程关键词
| 关键字 | 说明 | 示例 |
|---|---|---|
| async | 定义异步函数 | async def fetch() : |