初识Python
起源
1989年,Guidio van Rossum吉多·范罗苏姆决心开发一个新的解释程序(Python雏形)
1991年,第一个Python解释器诞生,Pyhton名字来自于吉多·范罗苏姆喜欢的电视:Monty Python‘s Flying Circus
适用面
| 人群 | 用途 |
|---|---|
| IT从业者 | 自动化脚本(运维开发、测试工具等) |
| 普通白领 | 自动化办公 |
| 后端开发 | WEB应用程序 |
| 科学家基于 | 基于Python完成数据计算(生物、化学、物理) |
| 人工智能/机器学习 | 基于Python开发AI程序 |
| 大数据开发 | 基于Python完成大数据任务开发(Spark、Flink) |
开发环境
- Python解释器环境内,执行单行代码
- 使用Python解释器执行,执行Python代码文件
- 使用第三方IDE(集成开发工具),如PyCharm软件、开发Python程序
基础语法
字面量
字面量:在代码中,被写下来的固定值,成为字面量
常用的值的类型:Python中常用的6种值(数据)的类型
| 类型 | 描述 | 说明 |
|---|---|---|
| 数字(Number) | 整数(int)、浮点数(float)、复数(complex)、布尔(bool) | |
| 字符串(Strng) | 描述文本的一种数据类型 | 字符串由任意数量的字符组成 |
| 列表(List) | 有序的可变序列 | Python中使用在频繁的数据类型,可有序记录一堆数据 |
| 元组(Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Python数据集合 |
| 集合(Set) | 无序不重合集合 | 可无序记录一堆不重复的Python数据集合 |
| 字典(Dictionary) | 无序Key-Value集合 | 可无序纪律一堆Key-Value型的Python数据集合 |
注释
1 | # 这是注释1,只能单行 |
变量
变量就是在程序运行时,记录数据的,变量的值可以改变
数据类型
目前入门阶段,主要接触三类数据类型
| 类型 | 描述 | 说明 |
|---|---|---|
| string | 字符串类型 | 用引号引起来的数据都是字符串 |
| int | 整形(有符号) | 数字类型,存放整数 |
| float | 浮点型(有符号) | 数字类型,存放小数 |
可以使用type()语句查看数据类型:type(被查看类型的数据)
1 | # 使用print直接输出类型信息 |
python中变量是没有类型的,而变量储存的数据是有类型的
数据类型转化
数据类型转化使用场景:
- 从文件中读取数字,默认是字符串,我们需要转换成数字类型
- input()语句,默认结果是字符串,若需要数字也需要转化
………
常见转换语句
| 语句(函数) | 说明 |
|---|---|
| int(x) | 将x转换成一个整数 |
| float(x) | 将x转换成一个浮点数 |
| str(x) | 将x转换成字符串 |
PS:同前面的type()语句一样,这三个语句都是带有结果的(返回值),我们可以直接用print输出,或用变量存储返回值
1 | # 将数字类型转换成字符串类型 |
注意:
- 任意类型都可以转换成字符串,但字符串中有数字才可以转换成数字类型
- 浮点型可以转换成整型,但会精度损失(小数部分丢失)
标识符
在python中,我们可以给许多东西起名字,如
- 变量名字
- 方法名字
- 类的名字
……
这些名字,我们把它统一的称之为标识符,用来做内容的标识
标识符命名规则
- 只允许使用英文,中文(不推荐),数字,下划线这四种内容
- 数字不可以开头
- 区分大小写
- 不可以使用关键字
运算符
算数运算符(数学运算符)
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| // | 取整除 |
| % | 取余 |
| ** | 指数 |
赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 赋值运算符 |
复合赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| += | 加法赋值运算符 | 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 |
字符串扩展
三种定义方法
字符串在python中有多种定义形式
- 单引号定义法:name = ‘hello’
- 双引号定义法:name = “hello”
- 三引号定义法:name = “”” hello “””
PS:三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,他就是字符串,否则是多行注释
如果想在字符串中使用单引号或双引号:
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 使用转义字符(\)
字符串拼接
如果我们有多个字符串,可以通过“**+**”将其拼接成一个字符串
1 | print("hello "+"world") |
注意:
”+“无法将非字符串类型的数据拼接
字符串格式化
由于拼接字符串变量过多时拼接太麻烦,且字符串无法和数字或其他类型完成拼接,因而引入字符串的格式化
1 | str1 = 64 |
其中的,%s
- %表示:我要占位
- s表示:将变量变成字符串放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置
注意:多个变量占位,变量要用括号括起来,并且按照占位的顺序填入
Python中最常用的三类占位,用法和上文%s用法类似
| 格式符号 | 转化 |
|---|---|
| %s | 将内容转化为字符串,放入占位位置 |
| %d | 将内容转化成整数,放入占位位置 |
| %f | 将内容转化成浮点型,放入占位位置 |
格式化的精度控制
字符串格式化-数字精度控制
我们可以使用辅助符号“m.n”来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
字符串格式化方法2
语法:
f”内容{变量}”
1 | str1 = "2023年" |
这种方式不理会类型,不做精度控制,适合对精度没有要求的时候快速使用
对表达式进行格式化
表达式:一条具有明确执行结果的代码语句
格式化表达式:
- f”{表达式}”
- “ %s \ %d \ %f “ % (表达式)
1 | print("1 * 1 的结果是:%d" % (1 * 1)) |
在无需使用变量进行数据存储的时候,可以直接格式化表达式简化代码
数据输入
前面使用print语句输出,在Python中,与之对应还有一个input语句,来获取键盘输入
- 数据输出:print
- 数据输入:input
使用方法:
- 使用input()语句可以从键盘上获取输入
- 使用一个变量接收(存储)input语句获取的键盘输入数据即可
- 获取的数据永远都是字符串类型
- 可以使用:**input(“提示信息”)**,用以在使用输入内容之前显示提示信息