安装
进入 www.python.org/downloads/w... 下载稳定版

配置环境变量
// cmd path=%path%;C:\Python【后面是安装路径】
或者在环境变量中 Path 下增加 python 的安装地址,最后的效果一致。
cmd中输入 python 给出相应的内容证明安装配置成功。
开发
推荐使用 PyCharm www.jetbrains.com/pycharm/dow...
或者使用 VsCode 安装 Python 插件

解释器
在CMD中使用 python 启动解释器。
dart
$ python3 Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
也可以使用 py 脚本。
创建 hello.py 文件,输入 print ("Hello, Python!");
python hello.py
即可获得 python 脚本执行结果。
语法
标识符
标识符必须是字母、数字、下划线组合,第一个字符不能是数字。
标识符大小写敏感,不能使用保留关键字。
变量的命名推荐使用下划线进行分隔,类命名使用大驼峰,常量命名使用全大写。
私有变量使用下划线 + 小写的形式,_interval
特殊方法使用前后双下划线的形式,__init__
注释
Python的注释可以使用 #、'''、""" 三种形式。
推荐使用 # 进行注释。
通常只有文件注释或大段文字注释采用 """ 的形式。
代码块
Python 和其他语言比较明显的区别是使用 缩进 来表示代码块。
所以一定要使用 Tab 缩进,四个制表位。
多行语句
Python中非常长的代码可以使用 反斜杠 \ 跨行连起来。
大部分情况下不推荐这么写。
变量赋值
Python使用 = 赋值。
可以使用 a = b = c = 1 的形式进行连续赋值。
运算符
| 运算符 | 描述 | 实例 |
| + | 加 - 两个对象相加 | a + b 输出结果 31 |
| - | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -11 |
| * | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 210 |
| / | 除 - x 除以 y | b / a 输出结果 2.1 |
| % | 取余 - 返回除法的余数 | b % a 输出结果 1 |
| ** | 幂 - 返回x的y次幂 | a**b 为10的21次方 |
| // | 取整除 - 往小的方向取整数【先除,然后舍小数位】 | >>> 9//2 4 >>> -9//2 -5 |
数据类型
Python 在创建变量时不需要显式声明数据类型!!!
py
a = 1 # 整数 name = "Alice" # 字符串 pi = 3.14 # 浮点数
Python 会自动根据赋给变量的值来推断其类型。这种机制叫做 动态类型(Dynamic Typing)。
在Python中可以用 type() 方法查看变量类型。
此外还可以用 isinstance() 来判断。【最推荐】
区别在于:
type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。
bash
>>> class A: ... pass ...
>>> class B(A): ... pass ...
>>> isinstance(A(), A)
True
>>> type(A()) == A
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False
注意:从 Python 3.5+ 开始,支持类型提示(Type Hints),用于提高代码可读性。
py
def greet(name: str) -> str:
return "Hello, " + name
age: int = 25
常见的数据类型有:
Number(数字):支持 int、float、bool、complex(复数)String(字符串):用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。bool(布尔类型):True 和 False。List(列表):列表中元素的类型可以不相同。列表可以通过 变量[头下标:尾下标] 的方式截取。【带头不带尾】Tuple(元组):元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。Set(集合):集合是一种无序、可变的数据类型,用于存储唯一的元素。使用大括号 {} 表示,元素之间用逗号 , 分隔。Dictionary(字典):字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。
注意:元组中保存的是对象的引用(即内存地址),而不是对象本身。元组的"不可变"是指:元组内部的引用不能被修改(不能替换、增删元素),但如果某个引用指向的是一个可变对象(如 list、dict、set),那么这个对象自身的内容是可以改变的。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
注意:列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。【这里所谓的"有序"是指元素的位置固定,按插入顺序排列。[1, 2, 3] 中,1 永远在索引 0,2 在 1,3 在 2。你可以通过位置(索引) 精确访问或修改某个元素。】。
注意:从 Python 3.7 开始,官方规定:dict 保持插入顺序(insertion order)。即 3.7+ 认为List和Dict均为有序的集合。
数据类型转换
Python存在隐式类型转换,比如可以从 int 转换为 float。
py
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo # num_new float类型
Python也可以使用显式类型转换。
| 函数 | 描述 |
| int(x [,base]) | 将x转换为一个整数 |
| float(x) | 将x转换到一个浮点数 |
| complex(real [,imag]) | 创建一个复数 |
| str(x) | 将对象 x 转换为字符串 |
| repr(x) | 将对象 x 转换为表达式字符串 |
| eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
| tuple(s) | 将序列 s 转换为一个元组 |
| list(s) | 将序列 s 转换为一个列表 |
| set(s) | 转换为可变集合 |
| dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
| frozenset(s) | 转换为不可变集合 |
| chr(x) | 将一个整数转换为一个字符 |
| ord(x) | 将一个字符转换为它的整数值 |
| hex(x) | 将一个整数转换为一个十六进制字符串 |
| oct(x) | 将一个整数转换为一个八进制字符串 |
条件控制
Python支持使用 if else 来进行条件判断,支持 elif 进行连续判断。
py
if a > 1:
print('a大于1')
elif a < 1:
print('a小于1')
else:
print('a等于1')
Python中不存在 switch 进行条件判断,所以 Python3.10增加了 match...case。
py
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case _:
return "Something's wrong with the internet"
注意 :case _ 同 default 。
循环
最常见的是使用 for 循环,for 循环存在一个特殊的 else,即循环完成后执行。
py
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
print(site)
# for...else
for x in range(6):
print(x)
else:
print("Finally finished!")
while 用于不确定循环次数。也存在一个 else 用于循环完成后执行。
py
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
python的循环中也存在 break 和 continue。