一、前言
Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
- Python:基本数据类型、容器(列表、字典、集合、元组)、函数、类
- Numpy:数组、数组索引、数据类型、数组数学、广播
- Matplotlib:绘图,子图,图像
- IPython:创建笔记本,典型工作流程
二、实验环境
Python 3.7
运行下述命令检查Python版本
代码语言:javascript
复制
python --version
三、Python基本数据类型
Python的基本数据类型包括:
- 整数(int):表示整数值,例如1、2、-3等。
- 浮点数(float):表示带有小数点的数值,例如3.14、2.5等。
- 布尔值(bool):表示真(True)或假(False)的逻辑值。
- 字符串(str):表示文本数据,使用引号(单引号或双引号)括起来,例如"Hello"、'Python’等。
- 列表(list):表示一组有序的元素,可以包含不同类型的数据,用方括号括起来,例如[1, 2, 3]、[‘apple’, ‘banana’, ‘orange’]等。
- 元组(tuple):类似于列表,但是不可修改,用圆括号括起来,例如(1, 2, 3)、(‘apple’, ‘banana’, ‘orange’)等。
- 集合(set):表示一组唯一的元素,用大括号括起来,例如{1, 2, 3}、{‘apple’, ‘banana’, ‘orange’}等。
- 字典(dict):表示键值对的映射关系,用大括号括起来,例如{‘name’: ‘John’, ‘age’: 25}等。
1. 数字
- a. 整数(int)
- 整数是没有小数部分的数字,可以是正数、负数或零。
- 没有取值范围限制
- b. 浮点数(float)
- 浮点数则包括整数部分和小数部分,可以表示小数和科学计数法形式的数字。
- 取值范围和小数精度都存在限制,但常规计算可忽略
- c. 运算
- 运算符
- 加(+)、减(-)、乘(*)、除(/)、取模(%)、整除(//)、幂运算(**)
注:以下运算过程连续进行
加法运算符(+):
代码语言:javascript
复制
x = x + 10
print(x) # 输出 531
减法运算符(-):
代码语言:javascript
复制
x = x - 100
print(x) # 输出 431
乘法运算符(*):
代码语言:javascript
复制
x = x * 2
print(x) # 输出 862
除法运算符(/):
代码语言:javascript
复制
x = x / 3
print(x) # 输出 287.3333333333333
取模运算符(%):
代码语言:javascript
复制
x = x % 100
print(x) # 输出 87.3333333333333
整除运算符(//):
代码语言:javascript
复制
x = x // 10
print(x) # 输出 8.0
幂运算符(**):
代码语言:javascript
复制
x = x ** 3
print(x) # 输出 512
增强操作符
- +=、-=、*=、/=、%=、//=、**=
+=
增强操作符:
代码语言:javascript
复制
x += 10 # 等同于 x = x + 10
print(x) # 输出 522
-=
增强操作符:
代码语言:javascript
复制
x -= 100 # 等同于 x = x - 100
print(x) # 输出 422
*=
增强操作符:
代码语言:javascript
复制
x *= 2 # 等同于 x = x * 2
print(x) # 输出 844
/=
增强操作符:
代码语言:javascript
复制
x /= 3 # 等同于 x = x / 3
print(x) # 输出 281.3333333333333
%=
增强操作符:
代码语言:javascript
复制
x %= 100 # 等同于 x = x % 100
print(x) # 输出 81.33333333333331
//=
增强操作符:
代码语言:javascript
复制
x //= 10 # 等同于 x = x // 10
print(x) # 输出 8.0
**=
增强操作符:
代码语言:javascript
复制
x **= 3 # 等同于 x = x ** 3
print(x) # 输出 512.0
代码整合
代码语言:javascript
复制
x = 521
print(x, type(x))
# 使用运算符对 x 进行操作
x = x + 10
print(x) # 输出 531
x = x - 100
print(x) # 输出 431
x = x * 2
print(x) # 输出 862
x = x / 3
print(x) # 输出 287.3333333333333
x = x % 100
print(x) # 输出 87.3333333333333
x = x // 10
print(x) # 输出 8.0
x = x ** 3
print(x) # 输出 512.0
# 使用增强操作符对 x 进行操作
x += 10
print(x) # 输出 522.0
x -= 100
print(x) # 输出 422.0
x *= 2
print(x) # 输出 844.0
x /= 3
print(x) # 输出 281.3333333333333
x %= 100
print(x) # 输出 81.3333333333333
x //= 10
print(x) # 输出 8.0
x **= 3
print(x) # 输出 512.0
d. 运算中的类型转换
注意到,上述运算中除了整数与整数之间的运算以外,运算结果均为浮点数;
(特例:整数与整数之间的除法)
e. 运算函数abs、max、min、int、float
- abs():绝对值;
- max(x1,x2,…,xn):返回最大值;
- min(x1,x2,…,xn) :返回最小值;
- int(x):将x强制转换为整数类型;
- float(x):将x强制转换为浮点数类型;
代码语言:javascript
复制
# 绝对值
abs_value = abs(-10)
print(abs_value) # 输出: 10
# 最大值
max_value = max(5, 8, 2, 10)
print(max_value) # 输出: 10
# 最小值
min_value = min(5, 8, 2, 10)
print(min_value) # 输出: 2
# 强制转换为整数
integer_value = int(3.14)
print(integer_value) # 输出: 3
# 强制转换为浮点数
float_value = float("3.14")
print(float_value) # 输出: 3.14
2. 布尔值(bool)
布尔值(Booleans)是Python中的一种基本数据类型,用于表示真(True)或假(False)的值。布尔值通常用于条件判断和逻辑运算。 布尔值在Python中非常重要,因为它们在控制流语句(例如if语句和while循环)中扮演着关键角色。条件表达式的结果可以是布尔值,根据条件表达式的真假来执行不同的代码块。 布尔值有两个可能的取值:True和False。它们是Python中的关键字,不同于其他变量名。 下面是一些布尔运算符和布尔表达式的例子:
- 逻辑与(and):如果两个条件都为True,结果为True。例如:True and False 的结果是 False。
- 逻辑或(or):如果至少一个条件为True,结果为True。例如:True or False 的结果是 True。
- 逻辑非(not):对布尔值取反。例如:not True 的结果是 False。
布尔值可以与其他数据类型进行比较和运算。例如,可以将布尔值与整数、浮点数或字符串进行比较,或者在条件表达式中使用布尔值来控制程序的执行流程。
代码语言:javascript
复制
t, f = True, False
print(type(t))
a. 运算
代码语言:javascript
复制
print(t and f) # 逻辑与运算,输出:False
print(t or f) # 逻辑或运算,输出:True
print(not t) # 逻辑非运算,输出:False
print(t != f) # 不等于比较运算,输出:True
b. 类型转换
布尔类型可以转换为int类型
代码语言:javascript
复制
print(t, t+0) # 输出:True 1,因为True可以表示为1,所以t+0的结果是1
print(f, f+0) # 输出:False 0,因为False可以表示为0,所以f+0的结果是0
print(t, t+1) # 输出:True 2,因为True可以表示为1,所以t+1的结果是2
print(f, f+1) # 输出:False 1,因为False可以表示为0,所以f+1的结果是1
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
资源分享
大模型AGI学习包
资料目录
- 成长路线图&学习规划
- 配套视频教程
- 实战LLM
- 人工智能比赛资料
- AI人工智能必读书单
- 面试题合集
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
3.LLM
大家最喜欢也是最关心的LLM(大语言模型)