Python基础
安装 Python
- 本教程使用的是 Python3.11
安装过程全部勾选。
- 下载好的 Python 是一个(编程)语言包
如果我们安装了中文语言包,那么我们的系统就可以识别与显示中文。 如果我们安装了 Python 语言包,那么我们的系统就可以识别与运行 Python 程序。
pip
在部分系统预装版中,python
名为python3
,pip
为pip3
Python 安装完成后,pip 也会自动安装完成 。
后续代码示例以python
和pip
为例
更新
python -m pip install --upgrade pip
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
换源
-
Windows/ MacOS 系统临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple {包名}
-
Windows 永久使用:
第一步: 在 C:\Users\Administrator 目录下 创建 pip 文件夹
第二步:在第一步创建的文件夹下(C:\Users\Administrator\pip)创建 pip.ini 文件
第三步:记事本编辑保存 pip.ini 文件内容为以下部分:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
- MAC 永久使用:
cd ~
mkdir .pip
cd .pip
vi pip.conf
写入以下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
批量下载
注意执行本条命令时,需要在 requirements.txt 文件所在的目录下执行。
-
pip install -r requirements.txt
-
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
requirements.txt 参考内容
opencv-python
opencv-contrib-python
imageio
scipy
pillow
numpy
matplotlib
pandas
scikit-learn
tensorflow
Vscode 安装
- VSCode(Visual Studio Code)是一款通用跨平台的编辑器
它不会运行程序,它需要安装相应的语言包才能运行程序。它可以编辑任何语言的程序,支持几乎所有主流的开发语言的语法高亮、智能代码补全等。安装过程全部勾选。
- 注意与 Visual Studio 区别
Visual Studio 是一个集成的开发环境。
Vscode 安装插件
Vscode 左侧菜单通常为:文件、搜索、源代码管理、调试、应用商店等等(不同版本显示不同)
逐一打开,找到应用商店,在其中搜索插件名称即可下载。推荐下载插件:
- 简体中文包:包名:
Chinese (Simplified) Language Pack for Visual Studio Code
- Python 包:包名:
Python
拓展:Vscode 的个性化设置
- 主题颜色
在设置中点击主题颜色,可以选择自己喜欢的主题颜色。推荐主题颜色为深色+
- 保存时代码自动格式化
安装成功后可以在 Vscode 的设置中搜索format on save
,勾选即可。
测试:在 Vscode 中新建一个 xxx.py 文件,输入以下内容:
print("hello world")
运行方式 1:点击右上角的三角形运行按钮
运行方式 2.在编辑器中输入python xxx.py
运行
运行方式 3:在编辑器中输入python -m xxx.py
运行
可以看到输出结果为hello world
。
python xxx.py 和 python -m xxx.py 是两种加载 py 文件的方式: 1 叫做直接运行 2 把模块当作脚本来启动(注意:但是name的值为'main' )
vscode 使用技巧
跳转到定义: 使用 F12 快捷键或者右键选择 "Go to Definition" 可以跳转到光标所在符号的定义处。
格式化代码:使用 Alt + Shift + F 快捷键来格式化整个文件。
多行编辑: 使用 Alt + Shift + I 来进行多行编辑。
断点调试: 使用 F5 启动调试器,可以设置断点、单步执行、查看变量等。
变量与数据类型
变量
变量是一个盒子用于存放数据,变量名是盒子的名字,数据是盒子里面的东西。
语法示例:
变量名 = 数据
变量名 = 变量名 2 = 变量名 3 = 数据
变量名 1, 变量名 2, 变量名 3 = 数据 1, 数据 2, 数据 3
变量名 1 = 数据 1, 变量名 2 = 数据 2, 变量名 3 = 数据 3
Python 变量命名规则
-
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为 message_1,但不能将其命名为 1_message。
-
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名 greeting_message 可行,但变量名 greeting message 会引发错误。
-
不要将 Python 关键字和函数名用作变量名,即不要使用 Python 保留用于特殊用途的单词,如 print。
-
变量名应既简短又具有描述性。例如,name 比 n 好,student_name 比 s_n 好,name_length 比 length_of_persons_name 好。
-
慎用小写字母 l 和大写字母 O,因为它们可能被人错看成数字 1 和 0。
数据类型
Python 的最基础的独立数据类型有:
-
整数:Python 可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
-
浮点数:浮点数也就是小数,因为浮点数也可能表示为科学计数法(如 1.23e9,或者 12.3e8),所以,浮点数运算结果也可能有误差。
-
字符串:字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。字符串还有一些特殊字符,可以通过转义字符\来表示,比如:
- \n 表示换行
- \t 表示制表符
- \表示的字符就是\
- \u 表示 Unicode 编码
- \U 表示 Unicode 编码
- \x 表示十六进制数
- \0 表示八进制数
-
布尔值:布尔值和布尔代数的表示完全一致,一个布尔值只有 True、False 两种值,要么是 True,要么是 False,在 Python 中,可以直接用 True、False 表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
- and 运算是与运算,只有所有都为 True,and 运算结果才是 True
- or 运算是或运算,只要其中有一个为 True,or 运算结果就是 True
- not 运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True
-
空值:空值是 Python 里一个特殊的值,用 None 表示。None 不能理解为 0,因为 0 是有意义的 ,而 None 是一个特殊的空值。
介绍字符串的索引
# 字符串的索引
s = 'good morning'
# 查看类型
print(type(s))
s[0] # g
s[-2] # n
切分操作
分片用来从序列中提取出想要的子序列,其用法为:
var[lower:upper:step]
其范围包括 lower ,但不包括 upper ,即 [lower, upper), step 表示取值间隔大小,如果没有默认为 1。
s[-3:] # ing
s[:-3] # good morn
s[:] # good morning
其他切分操作,练习:step
print(s[::2]) # go onn
print(s[::-1]) # gninrom doog
print(s[:100])
运算符
Python 的运算符需要掌握如下知识点:
-
算术运算符
-
比较(关系)运算符
-
赋值运算符
-
逻辑运算符
-
位运算符
-
成员运算符
-
身份运算符
-
运算符优先级
算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x 除以 y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回 x 的 y 次幂 | a**b 为 10 的 20 次方, 输出结果 100000000000000000000 |
比较(关系)运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回 x 是否大于 y | (a > b) 返回 False。 |
< | 小于 - 返回 x 是否小于 y。所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回 x 是否大于等于 y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回 x 是否小于等于 y。 | (a <= b ) 返回 true。 |
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c = a 等效于 c = c a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c = a 等效于 c = c a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
位运算符
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符 | a & b 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符 | a | b 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符 | a ^ b 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符 | ~a 输出结果 -61 ,二进制解释: 1100 0011 ,在一个有符号二进制数的补码形式。 |
<< | 左移动运算符 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
成员运算符
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |