【黑马程序员】 第一阶段-第二章:Python 基础语法

AnXin Lv2

目录:

[TOC]


一、字面量

字面量:在代码中,被写下来的固定的值,称之为字面量。

Python 中常用的有 6 种值(数据)的类型:

类型 描述 说明
数字(Number) 支持整数(int)、浮点数(float)、复数(complex)、布尔(bool) 整数(int),如:10-10;浮点数(float),如:13.14-13.14;复数(complex),如:4+3j,以 j 结尾表示复数;布尔(bool)表达现实生活中的逻辑,即真和假,True 表示真,False 表示假,True 本质上是一个数字记作 1False 记作 0
字符串(String) 描述文本的一种数据类型 字符串(string)由任意数量的字符组成
列表(List) 有序的可变序列 Python 中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple) 有序的不可变序列 可有序记录一堆不可变的 Python 数据集合
集合(Set) 无序不重复集合 可无序记录一堆不重复的 Python 数据集合
字典(Dictionary) 无序 Key-Value 集合 可无序记录一堆 Key-Value 型的 Python 数据集合

字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成,所以叫做字符的串。Python 中,字符串需要用双引号(")包围起来;也就是说,被引号包围起来的,都是字符串。

将字面量输出到屏幕上:

1
2
3
4
5
6
7
666
13.14
"黑马程序员"

print(666)
print(13.14)
print("黑马程序员")

注意:我们写到 print 中的仍然是字面量。

二、注释

注释:在程序代码中对程序代码进行解释说明的文字。

  • 作用:注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。

注释的分类:

  • 单行注释(一般用于对一行或一小部分代码进行解释):
1
2
# 我是单行注释
print("Hello World")
  • 多行注释(一般对 Python 文件、类或方法进行解释):
1
2
3
4
5
6
7
8
9
"""
我是多行注释
诗名:悯农
作者:李绅
"""
print("锄禾日当午")
print("汗滴禾下土")
print("谁知盘中餐")
print("粒粒皆辛苦")

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
本代码演示了:
- 各类字面量的写法
- 通过 print 语句输出各类字面量
"""

# 写一个整数字面量
666
# 写一个浮点数字面量
13.14
# 写一个字符串字面量
"黑马程序员"

# 通过 print 语句输出各类字面量
print(666)
print(13.14)
print("黑马程序员")

三、变量

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。

变量的定义格式:

1
变量名称 = 变量的值

其中:

  • 变量名称:每一个变量都有自己的名称,称之为 变量名,也就是变量本身;
  • = 赋值:表示将等号右侧的值,赋予左侧的变量;
  • 变量的值:每一个变量都有自己存储的值(内容),称之为 变量值。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"""
演示 Python 中变量的相关操作
"""

# 定义一个变量,用来记录钱包余额
money = 50
# 通过 print 语句,输出变量记录的内容
print("钱包还有:", money)

# 买了一个冰淇淋,花费 10 元
money = money - 10
print("买了冰淇淋花费 10 元,还剩余:", money, "元")

# 假设,每隔一小时,输出一下钱包的余额
print("现在是下午 1 点,钱包余额剩余:", money)
print("现在是下午 2 点,钱包余额剩余:", money)
print("现在是下午 3 点,钱包余额剩余:", money)
print("现在是下午 4 点,钱包余额剩余:", money)

其中,print 语句可以如下输出多份内容:

1
print(内容 1, 内容 2, ..., 内容 N)

四、数据类型

在学习字面量的时候,我们了解到:数据是有类型的。

目前在入门阶段,我们主要接触如下三类数据类型:

类型 描述 说明
string 字符串类型 用引号引起来的数据都是字符串
int 整型(有符号) 数字类型,存放整数,如:-1100
float 浮点型(有符号) 数字类型,存放小数,如:-3.146.66

我们可以通过 type() 语句来得到数据的类型:

1
type(被查看类型的数据)

type() 语句的使用方式:

  • print 语句中,直接输出类型信息:
1
2
3
print(type("黑马程序员"))
print(type(666))
print(type(11.345))
  • 用变量存储 type() 的结果(返回值):
1
2
3
4
5
6
string_type = type("黑马程序员")
int_type = type(666)
float_type = type(11.345)
print(string_type)
print(int_type)
print(float_type)

注意:strstring 的缩写。

type() 语句也可以查看变量中存储的数据类型:

1
2
3
name = "黑马程序员"
name_type = type(name)
print(name_type)

我们通过 type(变量) 可以输出类型,这是查看的是变量存储的数据的类型;因为变量无类型,但是它存储的数据有。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 方式 1:使用 print 直接输出类型信息
print(type("黑马程序员"))
print(type(666))
print(type(11.345))
# 方式 2:使用变量存储 type() 语句的结果
string_type = type("黑马程序员")
int_type = type(666)
float_type = type(11.345)
print(string_type)
print(int_type)
print(float_type)
# 方式 3:使用 type() 语句,查看变量中存储的数据类型信息
name = "黑马程序员"
name_type = type(name)
print(name_type)

五、数据类型转换

常见的转换语句:

语句(函数) 说明
int(x) x 转换为一个整数
float(x) x 转换为一个浮点数
str(x) 将对象 x 转换为字符串

同前面学习的 type() 语句一样,这三个语句,都是带有结果的(返回值),我们可以用 print 直接输出,或用变量存储结果值。

类型转换注意事项:

  • 任何类型,都可以通过 str(),转换成字符串;
  • 字符串内必须真的是数字,才可以将字符串转换为数字。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 将数字类型转换成字符串
num_str = str(11)
print(type(num_str), num_str)

float_str = str(11.345)
print(type(float_str), float_str)
# 将字符串转换成数字
num = int("11")
print(type(num), num)

num2 = float("11.345")
print(type(num2), num2)

# 错误示例,想要将字符串转换成数字,必须要求字符串内的内容都是数字
# num3 = int("黑马程序员")
# print(type(num3), num3)

# 整数转浮点数
float_num = float(11)
print(type(float_num), float_num)

# 浮点数转整数
int_num = int(11.345)
print(type(int_num), int_num)

注意:浮点数转整数会丢失精度,也就是小数部分。

六、标识符

标识符是用户在编程的时候所使用的一些列名字,用于给变量、类、方法等命名。

Python 中,标识符命名的规则主要有 3 类:

  • 内容限定:
    • 英文;
    • 中文;
    • 数字;
    • 下划线(_)。

      注意:

      1. 不推荐使用中文;
      2. 数字不可以开头。
  • 大小写敏感;
  • 不可使用关键字(关键字同样大小写敏感)。

标识符的命名规范:

  • 变量名;
  • 类名;
  • 方法名。

不同的标识符,有不同的规范。

我们目前只接触到了:变量。所以,目前学习:变量的命名规范:

  • 见名知意:
    • 明了;
    • 简洁。
  • 下划线命名法:
    • 多个单词组合变量名,要使用下划线做分隔。
  • 英文字母全小写:
    • 命名变量中的英文字母,应全部小写。

七、运算符

算术(数学)运算符:

运算符 描述 实例
+ 两个对象相加:a + b 输出结果 30
- 得到负数或是一个数减去另一个数:a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串:a * b 输出结果 200
/ b / a 输出结果 2
// 取整除 返回商的整数部分:9 // 2 输出结果 49.0 // 2.0 输出结果 4.0
% 取余 返回除法的余数:b % a 输出结果 0
** 指数 a ** b1020 次方,输出结果 100000000000000000000

赋值运算符(标准赋值):

运算符 描述 实例
= 赋值运算符 = 号右边的结果赋给左边的变量,如 num = 1 + 2 * 3,结果 num 的值为 7

复合赋值运算符(复合赋值):

运算符 描述 实例
+= 加法赋值运算符 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

八、字符串的三种定义方式

字符串在 Python 中有多种定义形式:

  • 单引号定义法:name = '黑马程序员'
  • 双引号定义法:name= "黑马程序员"
  • 三引号定义法:name = """黑马程序员"""

三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,它就是字符串;不使用变量接收它,就可以作为多行注释使用。

字符串的引号嵌套:

  • 单引号定义法,可以内含双引号;
  • 双引号定义法,可以内含单引号;
  • 可以使用转义字符(\)来将引号解除效用,变成普通字符串。

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""
演示字符串的三种定义方式
- 单引号定义法
- 双引号定义法
- 三引号定义法
"""

# 单引号定义法,使用单引号进行包围
name = '黑马程序员'
print(type(name))
# 双引号定义法
name = "黑马程序员"
print(type(name))
# 三引号定义法,写法和多行注释是一样的
name= """
我是
黑马
程序员
"""
print(name)


# 在字符串内 包含双引号
name = '"黑马程序员"'
print(name)
# 在字符串内 包含单引号
name = "'黑马程序员'"
print(name)
# 使用转义字符 \ 解除引号的效用
name = "\"黑马程序员\""
print(name)
name = '\'黑马程序员\''
print(name)

九、字符串的拼接

如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过 + 号即可完成,如:

1
print("学 IT 来黑马" + "月薪过万")

输出结果:

1
学 IT 来黑马月薪过万

一般而言,字面量和变量或变量和变量之间会使用拼接,如:

1
2
name = "黑马程序员"
print("我的名字是:" + name + ",我可以教大家 IT 技能")

输出结果:

1
我的名字是:黑马程序员,我可以教大家 IT 技能

字符串无法和非字符串变量进行拼接,因为类型不一致,无法接上。

示例代码:

1
2
3
4
5
6
# 字符串字面量之间的拼接
print("学 IT 来黑马" + "月薪过万")
# 字符串字面量和字符串变量的拼接
name = "黑马程序员"
address = "建材城东路 9 号院"
print("我是:" + name + ",我的地址是:" + address)

十、字符串格式化

我们可以通过如下语法,完成字符串和变量的快速拼接:

1
2
3
name = "黑马程序员"
message = "学 IT 就来 %s" % name
print(message)

输出结果:

1
学 IT 就来 黑马程序员

对其中的 %s 进行解释:

  • % 表示:我要占位;
  • s 表示:将变量变成字符串放入占位的地方。

数字类型也可以占位,如下:

1
2
3
4
class_num = 57
avg_salary = 16781
message = "Python 大数据学科,北京 %s 期,毕业平均工资:%s" % (class_num, avg_salary)
print(message)

输出结果:

1
Python 大数据学科,北京 57 期,毕业平均工资:16781

上述代码表明,数字也能用 %s 占位,这里是将数字转换成了字符串,也就是数字 57 变成了字符串 "57" 被放入占位的地方。

多个变量占位,变量要用括号括起来,并按照占位的顺序填入。

Python 中支持非常多的数据类型占位,最常用的是如下三类:

格式符号 转化
%s 将内容转换成字符串,放入占位位置
%d 将内容转换成整数,放入占位位置
%f 将内容转换成浮点型,放入占位位置

如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位:

1
2
3
4
5
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
message = "我是:%s,我成立于:%d,我今天的股价是:%f" % (name, set_up_year, stock_price)
print(message)

输出结果:

1
我是:传智播客,我成立于:2006,我今天的股价是:19.990000

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 通过占位的形式,完成拼接
name = "黑马程序员"
message = "学 IT 来:%s" % name
print(message)

# 通过占位的形式,完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
message = "Python 大数据学科,北京 %s 期,毕业平均工资:%s" % (class_num, avg_salary)
print(message)

name = "传智播客"
setup_year = 2006
stock_price = 19.99
message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price)
print(message)

十一、字符串格式化的精度控制

我们可以使用辅助符号 “m.n” 来控制数据的宽度和精度:

  • m:控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效;
  • .n:控制小数点精度,要求是数字,会进行小数的四舍五入。

注意:m.n 均可省略。

示例:

  • %5d:表示将整数的宽度控制在 5 位,如数字 11,被设置为 5d,就会变成 [空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为 5,将小数点精度设置为 2,小数点和小数部分也算入宽度计算。如,对 11.345 设置了 %7.2f 后,结果是 [空格][空格]11.35,2 个空格补足宽度,小数部分限制 2 位精度后,四舍五入为 .35
  • %.2f:表示不限制宽度,只设置小数点精度为 2,如 11.345 设置 %.2f 后,结果是 11.35

示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 通过占位的形式,完成拼接
name = "黑马程序员"
message = "学 IT 来:%s" % name
print(message)

# 通过占位的形式,完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
message = "Python 大数据学科,北京 %s 期,毕业平均工资:%s" % (class_num, avg_salary)
print(message)

name = "传智播客"
setup_year = 2006
stock_price = 19.99
message = "%s,成立于:%d,我今天的股价是:%f" % (name, setup_year, stock_price)
print(message)


num1 = 11
num2 = 11.345
print("数字 11 宽度限制 5,结果是:%5d" % num1)
print("数字 11 宽度限制 1,结果是:%1d" % num1)
print("数字 11.345 宽度限制 7,小数精度 2,结果是:%7.2f" % num2)
print("数字 11.345 宽度不限制,小数精度 2,结果是:%.2f" % num2)

十二、字符串格式化的方式 2

快速格式化字符串:

1
f"内容{变量}"

这种写法不做精度控制,也不理会类型,适用于快速格式化字符串。

示例代码:

1
2
3
4
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
print(f"我是{name},我成立于:{set_up_year},我今天的股票价格是:{stock_price}")

输出结果:

1
我是传智播客,我成立于:2006,我今天的股票价格是:19.99

其中 19.99 不做精度控制,原样输出。

示例代码:

1
2
3
4
5
6
7
8
"""
演示第二种字符串格式化的方式:f"{占位}"
"""
name = "传智播客"
set_up_year = 2006
stock_price = 19.99
# f:format
print(f"我是{name},我成立于:{set_up_year},我今天的股价是:{stock_price}")

十三、对表达式进行格式化

表达式:一条具有明确执行结果的代码语句。

  • 1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字;
  • 常见的变量定义 name = "张三"age = 11 + 11 中,等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量。

对于字符串格式化,可以直接格式化一个表达式:

1
2
3
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 1 的结果是:{1 * 1}")
print("字符串在 Python 中的类型是:%s" % type('字符串'))

输出结果:

1
2
3
1 * 1 的结果是:1
1 * 1 的结果是:1
字符串在 Python 中的类型是:<class 'str'>

在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码。

示例代码:

1
2
3
4
5
6
"""
演示对表达式进行字符串格式化
"""
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 2 的结果是:{1 * 2}")
print("字符串在 Python 中的类型名是:%s" % type("字符串"))

十四、数据输入(input 语句)

我们前面学习过 print 语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上。

在 Python 中,与之对应的还有一个 input 语句,用来获取键盘输入,使用上也非常简单:

  • 使用 input() 语句可以从键盘获取输入;
  • 使用一个变量接收(存储)input 语句获取的键盘输入数据即可。

示例代码:

1
2
3
print("请告诉我你是谁?")
name = input()
print("Get!!!你是:%s" % name)

输出结果:

1
2
3
请告诉我你是谁?
黑马程序员(键盘输入内容并回车)
Get!!!你是:黑马程序员

input() 语句可以在要求使用者输入内容前输出提示内容,方式如下:

1
2
name = input("请告诉我你是谁?")
print("Get!!!你是:%s" % name)

输出结果:

1
2
请告诉我你是谁?黑马程序员
Get!!!你是:黑马程序员

如上所示,在 input 的括号内直接填入提示内容即可。

无论键盘输入何种类型的数据,最终的结果都是:字符串类型的数据。

  • 标题: 【黑马程序员】 第一阶段-第二章:Python 基础语法
  • 作者: AnXin
  • 创建于 : 2025-10-04 14:08:21
  • 更新于 : 2025-10-04 14:09:45
  • 链接: https://anxin-hitsz.github.io/2025/10/04/【黑马程序员】-第一阶段-第二章:Python-基础语法/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论